Neural Network Toolbox Turn off Early Stopping

4 vues (au cours des 30 derniers jours)
Christophe Patyn
Christophe Patyn le 6 Avr 2017
Hi,
I need to make a training algorithm such as trainlm or traingd overfit. Therefore I want to turn off early stopping. The following is my code:
net = feedforwardnet(neurons,trainalgo);
net = init(net);
%net.trainParam.max_fail = max_fail;
net.divideFcn = 'dividerand';
net.divideParam.trainRatio=trainRatio;
net.divideParam.valRatio=valRatio;
net.divideParam.testRatio=testRatio;
net.trainParam.epochs = epochs;
net.trainParam.min_grad=0;
% Train network and retrieve mse's.
[net tr] = train(net, x, y);
trE = tr.perf;
vE = tr.vperf;
tE = tr.tperf;
I want the min_grad to be irrelevant. Even if it's zero I still want it to continue to train until epoch 1000. How do I do that?
Thanks

Réponses (2)

Greg Heath
Greg Heath le 7 Avr 2017
Set the training goal to 0
and
set the allowed no. of validation increases to inf.
Hope this helps.
Thank you for formally accepting my answer
Greg

orlem lima dos santos
orlem lima dos santos le 30 Jan 2018
Modifié(e) : orlem lima dos santos le 30 Jan 2018
hello there is no straightforward way to do this, but you can
1. set trainRatio = 1, valRatio=0 and testRatio=0 (this stops the validation checks).
2. set the training goal to 0.
3. set net.trainParam.min_grad=1e-100; (the gradient is never going to achieve 1e-100)
this only the only way to the training stop is when it achieves the maximum number of epochs (net.trainParam.epochs)
I hope it helps

Catégories

En savoir plus sur Sequence and Numeric Feature Data Workflows dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by