I'm trying to implement Olden's algorithm (a variant of Garson's algorithm) for determining input importance, and I'm having trouble interpreting the output of get_weights(). I have a simple Sequential network with 65 input nodes (64+1 constant nod to act as bias), 16 hidden nodes, and 3 output nodes.
However, when I run model.layers[0].get_weights, I get /two/ arrays. A 65 entry array made up of 16 values ( a 65x16 matrix, which I'm expecting).. but I also get a separate 16x1 array. What is this? Am I supposed to combine these two in some way to get the full input->hidden weight matrix? Is this an internal hidden layer bias node weight(s) that I don't know about?
help() is not very helpful here:
Help on method get_weights in module keras.layers.core:
get_weights(self) method of keras.layers.core.Dense instance
Return the weights of the layer,
as a list of numpy arrays.Any insights would be appreciated. Thanks,
john.c