How to change learning rate and momentum in 'trainlm' neural network?
24 views (last 30 days)
Show older comments
I have a feed forward neural network trained with trainlm function.Now i want to change the learning rate and momentum.Is there a specific default range for learning rate or Do I need to find the optimum range for learning rate?
0 Comments
Accepted Answer
GW
on 2 Nov 2018
Edited: GW
on 2 Nov 2018
use
options = trainingOptions('sgdm',...
'MaxEpochs',60, ...
'LearnRateDropFactor',0.1,...
'LearnRateDropPeriod',1,...
'LearnRateSchedule','piecewise',...
'ValidationData',{valImages,valLabels},...
'ValidationFrequency',50,...
'Momentum',0.85,...
'ValidationPatience',5,...
'InitialLearnRate',0.1,...
'MiniBatchSize',128,...
'Verbose',true,...
'executionenvironment','cpu',...
'Shuffle','every-epoch',...
'Plots','training-progress');
net = trainNetwork(...,...,...,options);
and choose the parameters accordingly.
For default values, see the docs of trainingOptions.
In terms of the learning rate and momentum, I typically start with a large one just to test the general behaviour and then I drop the learning rate to get more accurate results. Its difficult to give you some concrete advice because the optimal learning rate depends on your specific problem.
3 Comments
Pendar Arzandeh
on 25 May 2022
Could you explain about trainlm? How to change learning rate? matlab allow changing mu and Gradient
Thanks
Katy
on 19 Jul 2023
Is there a solution for this? I am also trying to change the learning rate with 'train' and 'trainlm' functions. Thanks!
More Answers (0)
See Also
Categories
Find more on Define Shallow Neural Network Architectures 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!