Borrar filtros
Borrar filtros

Jacobian creation technique in Neural Network (NN)

5 visualizaciones (últimos 30 días)
Buddhi Wimarshana
Buddhi Wimarshana el 12 de Oct. de 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 comentarios
Buddhi Wimarshana
Buddhi Wimarshana el 12 de Oct. de 2012
I am sorry, I found that even the 'mapminmax' is switched off the Jacobian values are different.
Buddhi Wimarshana
Buddhi Wimarshana el 12 de Oct. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Greg Heath
Greg Heath el 15 de Oct. de 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 comentario
Buddhi Wimarshana
Buddhi Wimarshana el 16 de Oct. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by