MATLAB Answers

Rita
0

Jacobian matrix of neural network

Asked by Rita
on 25 Feb 2016
Latest activity Answered by Monsij Biswal on 19 Jun 2019
what is inside of jacobian matrix ?I know that for a trained network with number of data :1,2,..., n is equall to the number of column in Jacobian matrix . what is rows?

  0 Comments

Sign in to comment.

3 Answers

Answer by Cam Salzberger on 29 Feb 2016
 Accepted Answer

Hello Rita,
The number of rows in the Jacobian output by "defaultderiv" is the sum of the number of weights and biases for the network. For example, if you do this to create the network:
[x,t] = simplefit_dataset;
net = feedforwardnet(10);
net = train(net,x,t);
y = net(x);
perf = perform(net,t,y);
dwb = defaultderiv('de_dwb',net,x,t);
Now "dwb" is the Jacobian of errors with respect to the net's weights and biases. It is a 31x94 matrix. If you check out the following properties in the network:
net.IW % Input weight matrices
net.LW % Layer weight matrices
net.b % Bias vectors
you can see that "net.IW" contains a 10x1 matrix, "net.LW" contains a 1x10 matrix, and "net.b" contains a 10-element vector and a 1-element vector. The number of elements adds up to 31.
I hope this helps clarify the Jacobian.
-Cam

  0 Comments

Sign in to comment.


Answer by Greg Heath
on 27 Feb 2016

The number of input variables
Hope this helps.
Thank you for formally accepting my answer
Greg

  1 Comment

Rita
on 29 Feb 2016
Thanks Greg.I used this function and the number of columns are more than the number of inputs.
b=defaultderiv('de_dwb',y.net,y.inputs,y.targets);

Sign in to comment.


Answer by Monsij Biswal on 19 Jun 2019

In which order are the derievatives present ? I am unable to figure it out what is the exact order columnwise. Is it layerwise starting from the first layer and then weights->biases for each layer or something else ?

  0 Comments

Sign in to comment.