Which epoch is the training result of the train function

13 views (last 30 days)
I see a strange (training) performance degradation at the moment in a neural network structure that I am using. Quick question:
What epoch does the trained network that the train function returns belong to? Always the best epoch? or the very last one? Because currently I see the best epoch somewhere in the middle of my training and then the performance decreases significantly. If the very last epoch was output, then I know why my performance is decreasing.

Accepted Answer

Rohit Pappu
Rohit Pappu on 31 Aug 2020
The train function returns the last epoch by default. This behaviour can be modified by using the ValidationPatience argument under training option. There are some examples demonstrating the use of the of training option which can be accessed here.
  1 Comment
RH on 31 Aug 2020
Thank you for your response. I am training shallow neural networks, is this options also available for these applications? Furthermore I am a little surprised by this information, what is the logic behind not returning the best training result?

Sign in to comment.

More Answers (1)

David Franco
David Franco on 31 Aug 2020
For a shallow neural network you can use the code:
net.trainParam.max_fail = x
where x is the number of fails in increase the performance.
This is the validation fail parameter. The default value is 6.
  1 Comment
RH on 31 Aug 2020
Thanks. What I am looking for is an option that makes Matlab save the best result and perhaps also the last one, so that the best performance is not lost. Does this not exist?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!