How can I correctly calculate the outputs of the hidden layers in a neural network?
1 view (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
Greg Heath
on 23 Oct 2015
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
0 Comments
More Answers (1)
tracey zhang
on 23 Oct 2015
1 Comment
Greg Heath
on 23 Oct 2015
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
See Also
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!