Filter löschen
Filter löschen

Jacobian creation technique in Neural Network (NN)

5 Ansichten (letzte 30 Tage)
Buddhi Wimarshana
Buddhi Wimarshana am 12 Okt. 2012
I am working with an NN and I am trying to make a Jacobian (a new one by getting the differential values)of dy/dw, where 'y' is the output of the network and 'w' is the weights or bias parameters of the network.
Well, originally MatLab also creates a Jacobian as same as mine (while a NN is being trained), but values of my Jacobian and the values from MatLab Jacobian are different.
So i found out that when I disabled the 'mapminmax' function on inputs and outputs, both Jacobians have same results, but when they are enabled the values are different. But i need to keep 'mapminmax' switched on to have good results from the NN.
So can anyone please tell me what MatLab code does as an extra work on their Jacobian when the 'mapminmax' function is imposed on inputs and outputs of the NN.
Please be kind enough to help I am trying to figure out this since several weeks.
  2 Kommentare
Buddhi Wimarshana
Buddhi Wimarshana am 12 Okt. 2012
I am sorry, I found that even the 'mapminmax' is switched off the Jacobian values are different.
Buddhi Wimarshana
Buddhi Wimarshana am 12 Okt. 2012
Well I thought to add some more explanation here for the question.
The NN is a simple feedforward network and if the NN is having one hidden layer and one output layer, say b2 is the bias value connected to the output layer.
Then dy/db2 should be equal to 'one' mathematically. But in Jacobian created by originally by the MatLab (not in my Jacobian) that particular value is different from 'one' and it is always having a value which it seems to be having a connection between the number of inputs. When the number of inputs kept constant that value (dy/db2) is not changing, when the number of inputs are changed then dy/db2 is changed.
sorry for the missing information in the original post. Hope these information will help you to figure out my problem.
Thanx.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Greg Heath
Greg Heath am 15 Okt. 2012
I cannot access the current source code.
>> help nntraining.perfs_jejj
Copyright 2010 The MathWorks, Inc.
TODO - if no memory split, return intermediate variables
if their output arg is present.
>> doc nntraining.perfs_jejj
>> type nntraining.perfs_jejj
Error using type
File 'nntraining.perfs_jejj' not found.
====================================================
Try an older version that might not be considered proprietary
Hope this helps.
Greg
Thank you for formally accepting my answer.
  1 Kommentar
Buddhi Wimarshana
Buddhi Wimarshana am 16 Okt. 2012
Thanx a lot sir for your effort. Well i found the answer by my self. i tried several days and found that i need to reverse the 'mapminmax' effect on the results of the Jacobian values. i will write a descriptive one later because i have seen similar question to this in this forum. But at the moment i am really busy with my works, so after some time i will write a full descriptive one.
And yes, that nntraining.perfs_jejj is the place to look for understanding it, somehow i opened that function file, but it is getting values from some other places so its quite hard and my matlab knowledge is not good enough to understand them all.
thanks again and much appreciate your help, without helpers like you the life of novice programmers like me will be quite miserable.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by