Weight and Bias from a Neural Network

43 views (last 30 days)
Hello to everybody, I'm using Neural Network to solve a problem which can be composed by a different number of input and output, particularly Neural Network used is a 4 Layer NN so composed (First Layer 20 Neurons - Second Layer 15 Neurons -Third Layer 10 Neurons - Fourth Layer 5 Neurons ).I need to know Neural Network weight. Here it's the problem, when i have a small number of input and output,i use the _getwb_ command which allows me to calculate NN weight and bias. Otherwise when input and output number grows up getwb command give me as result this message: '0×1 empty double column vector'. How can i get weight when numeber of input and output (and so number of weight) grows up ?? I apologize for my English which is not perfect.

Accepted Answer

Brendan Hamm
Brendan Hamm on 6 Apr 2018
I'm not sure why you would get a 0x1 empty double column vector. You may need to post some code to help figure this piece out.
You can also try simply indexing the weights from the network:
IW = net.IW; % Cell containing the Input Weights
b1 = net.b; % Cell containing the biases
LW = net.LW; % Cell containing the layer weights
Note, many elements of the cell will likely be empty (excepting the bias weights), but you will have matrices of the weights in the non-empty cells.

More Answers (1)

massimiliano de martino
massimiliano de martino on 10 Apr 2018
Thanks for the Answer. I post some code and information to better explain the problem. As input to NN I have done:
-Input Test = input_test{1,1} dimension 4950x1
-OutputTest = output_test{1,1} dimension 4950x1
For each value as input_test, output_test has to give me zero or one, according to input value. As NN I've used feedforwardnet. If i try to type follow command :
-IW = BETAnet1.IW = 1X1 cell array {0x0 double}
-b1 = BETAnet1.b = 1X1 cell array {0x0 double}
-LW = BETAnet1.LW = 1X1 cell array {0x0 double}
-weights = getwb(BETAnet1) = 0x1 empty double column vector
So I am not able to get information about weight value calculated during Training phase by computer. The same configuration and command has been used when i have smaller input dimension, and in this case with mentioned above command I obtain weight value. I'd want to know if the not being able to obtain weight value can be caused by excessive input and output dimension, and how can i solve this problem. Thanks for yout help
KAE on 9 Oct 2018
Ask this as a new question, since you have already accepted the answer.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by