How can I correctly calculate the outputs of the hidden layers in a neural network?

I have a one hidden layer feed-forward backpropagation network. such as:
net=newff(P,T,[32],{'tansig','logsig'},'trainlm');
I trained it using a set of input data and set the output equal to the inputs. I noticed I couldn't directly access to the outputs of the hidden layer. Therefore, I wrote the following to calculate the outputs of the hidden layer:
IW = net.IW{1};
b1 = net.b{1};
h1 = tansig(IW*P + repmat(b1,H,N));
Additionally, I want to check the calculation was correct. Therefore, I continued wrote as following to calculate the outputs of output layer:
LW = net.LW{2};
b2 = net.b{2};
h2 = logsig(LW*h1 + repmat(b2,H,N));
However, the calculated outputs didn't match the simulation outputs. Can anyone help me to explain the reasons caused this?

 Accepted Answer

You did not take into consideration the default normalization of the input and target as well as the default denormalization of the output.
This topic has been covered many times in both the NEWSGROUP and ANSWERS. You should be able to search and find several relevant posts.
Hope this helps.
Thank you for formally accepting my answer
Greg

More Answers (1)

Dr. Heath,
Would you like to provide me more detail info on the default normalization and denormalization?
Thank you so much, Tracey

1 Comment

No. I have covered this topic more than once.
I would like you to practice searching in the NEWSGROUP and ANSWERS.
Hope this helps.
Greg

Sign in to comment.

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!