what calculation does neural network sim function do?

1 次查看(过去 30 天)
Hi, I am trying to make manually the same calculation that neural network sim function does.I am using two layer neural network(input neurons+layer neurons). I need to do this because i need to gain some time. Here is how i call this function :
load('myperformance','net','ps','ts');
x=value;
W=net.IW{1};
Z=net.LW{2};
b1=net.b{1};
b2=net.b{2};
%calculation the equivalent of sim function
x_norm = mapstd('apply',x,ps);
s=Z*(W*x_norm+b1)+b2;
y = mapstd('reverse',s,ts)
but the problem is that i don't get the same result as the sim function.
Am I missing something? thank you, Ismail

采纳的回答

Greg Heath
Greg Heath 2014-4-11
In a two layer neural network there are two layers of neurons (transfer functions), the hidden layer and the output layer. This confuses some people because there are three layers of nodes input/hidden/output. However, the input nodes are not neurons. They are fan-in units.
[xnorm, xsettings] = mapstd(x);
[tnorm, tsettings] = mapstd(t);
h = tansig(b1+IW*xnorm);
ynorm = purelin(b2+LW*h);
y = mapstd('reverse',ynorm,tsettings);
Hope this helps,
Thank you for formally accepting my answer
Greg

更多回答(1 个)

Ismail
Ismail 2014-4-11
Thank you Greg for your help.
Indeed my Neural network has just one layer ( output layer). However i have tried what you have proposed and it still does give me a different solution than the sim function. I call the two functions with the same parameters but I have different results.
Any ideas? thank you ismail

类别

Help CenterFile Exchange 中查找有关 Deep Learning Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by