Suppose we have built a feed forward network using Pybrain's SupervisedDataSet
and buildNetwork
functions. The architecture could be 10, 5, 2: 10 input nodes, 5 hidden nodes in a single hidden layer, and 2 output nodes.
>>> our_network = buildNetwork(10,5,2)
>>> for mod in our_network.modules:
... for conn in our_network.connections[mod]:
... conn.params
array([-0.82432749, -1.77414037, ... , 1.96635753])
When examining a trained network with the above architecture, how may we interpret the output array conn.params
? Examining the output of the above architecture will yield 50 connections/weights between the input and hidden layer. I'm interested in knowing which inputs are associated with the strongest connections. Specifically, is it safe to assume the first 5 array elements returned are associated with the connections between the first node at the input layer and the 5 hidden layer nodes?
I'm not gaining any insight via reverse engineering Pybrain for the past hour.