neural network performance analysis
Show older comments
Hello I have trained a neural network using house_dataset in matlab. When I trained the network through the following code the tr.best_tperf was reasonable: [inputs,targets] = house_dataset; hiddenLayerSize = 10; net = fitnet(hiddenLayerSize); net.divideParam.trainRatio = 70/100; net.divideParam.valRatio = 15/100; net.divideParam.testRatio = 15/100; [net,tr] = train(net,inputs,targets); outputs = net(inputs); performance = perform(net,targets,outputs)
however, when we extract the test dataset and consider the performance using these dataset the performance was unacceptable: tInd = tr.testInd; tstOutputs = net(inputs(tInd)); tstPerform = perform(net,targets(tInd),tstOutputs)
Could you please kindly explain the reason for this. Should we use another data division algorithm? best
1 Comment
Greg Heath
on 11 Nov 2013
Edited: Greg Heath
on 11 Nov 2013
As you can see from my second answer, you didn't use (:,tInd) for the input indices.
Please accept the 2nd answer.
Greg
Accepted Answer
More Answers (2)
Greg Heath
on 11 Nov 2013
0 votes
Initialize the random number generator at the beginning. So we can compare, use
rng(0).
Also make 10 designs in a loop over random weight initializations obtained by using
net = configure(net,x,t);
[net tr ] = ...
Hope this helps,
Thank you for formally accepting my answer
Greg
Mohamad
on 12 Nov 2013
0 votes
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!