Neural Network Toolbox Turn off Early Stopping

조회 수: 4 (최근 30일)
Christophe Patyn
Christophe Patyn 2017년 4월 6일
편집: orlem lima dos santos 2018년 1월 30일
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

답변 (2개)

Greg Heath
Greg Heath 2017년 4월 7일
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 2018년 1월 30일
편집: orlem lima dos santos 2018년 1월 30일
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

카테고리

Help CenterFile Exchange에서 Sequence and Numeric Feature Data Workflows에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by