I am approximating a cosine function using a neural network on MATLAB. When training is finished, a number of data structures are outputted on the workspace. Amongst these are 4 structures (well, values really) which contain the performance results of the network.
For the performance analysis, you get a performance structure, trainPerformance, testPerformance and valPerformance.
While I know what the last three structures mean, the first one is confusing me as it is a different value than the others.
I'm using the Neural Network Toolbox.
% Train the Network
[net,tr] = train(net,inputs,targets);
% Test the Network
outputs = net(inputs);
errors = gsubtract(targets,outputs);
performance = perform(net,targets,outputs)
% Recalculate Training, Validation and Test Performance
trainTargets = targets .* tr.trainMask{1};
valTargets = targets .* tr.valMask{1};
testTargets = targets .* tr.testMask{1};
trainPerformance = perform(net,trainTargets,outputs)
valPerformance = perform(net,valTargets,outputs)
testPerformance = perform(net,testTargets,outputs)
What is the difference between the performance structure and the other three?
I think I just realised that the performance is the overall result of the network, and the trainPerformance is for the current iteration.