MATLAB: How to obtain the “correct” weight matrices of neural networks

image classificationneural networksweight matices

I am using the Neural Network Toolbox of MATLAB. I am trying to train a network for the purpose of image classification and pattern recognition. The input layer has 784 neurons, hidden layer has 100 neurons and the output layer has 10. So accordingly, I expect the inner layer of weight matrix (first layer) to be of size 100 X 784. However, after the network is trained, when I obtain the weights and biases using net.IW or separatewb() function, it shows the inner weight matrix to be of dimension 100 X 663. Why is this so ? Is MATLAB doing some kind of simplification ? Thanks !!

Best Answer

Looks like other people have asked the same question before:
It seems that redundant/constant rows in the input data might cause this behavior.