Is calling train with 20 epochs of learning the same as 20 calls to train with 1 epoch of learning?
Show older comments
Hi there.
I've been exploring the train function and I'm a little unsure of how it's operating.
From my understanding, setting net.trainParam.epochs=20 should produce the same network as 20 calls to train with net.trainParam.epochs=1, using the updated network each time. But, when I do this I get very different results. The network produced using net.trainParam.epochs=20 performs much better than the network produced by making 20 calls to train with net.trainParam.epochs=1. Is something special happening in train with multiple learning epochs?
Thanks
-- Jeff
Accepted Answer
More Answers (2)
Sean de Wolski
on 30 Oct 2012
Edited: Sean de Wolski
on 30 Oct 2012
0 votes
I'm pretty sure that each call to train nullifies all previous training.
Not quite positive though, I'll wait for Greg to chime in.
1 Comment
jeffrey cockburn
on 30 Oct 2012
Greg Heath
on 14 Nov 2012
0 votes
I've been successful achieving the same weights with continuous training vs interupted training with net.trainParam.epochs = 1 when no validation subset is used during training.
The best results are obtained when the number of hidden nodes is not larger than necessary to obtain the a training goal of MSE = 0.01*mean(var(target')).
Hope this helps.
Greg
Categories
Find more on Parallel and Cloud 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!