MATLAB Answers

Neural Network - How to use a custom training function

80 views (last 30 days)
David Franco
David Franco on 25 Mar 2018
Edited: Sumaiya Ahmad on 10 Sep 2019
Is it possible to replace standard matlab training methods (like Gradient Descent, Levenberg-Marquardt, etc.) by other methods of global optimization, like Particle Swarm Optimization or Simulated Annealing?
I was looking at C:\Program Files\MATLAB\R2018a\toolbox\nnet\nnet\nntrain\... for some clues, but nothing comes up...
Attached are two original files of the mentioned training functions ( traingd and trainlm ).

  0 Comments

Sign in to comment.

Answers (2)

Greg Heath
Greg Heath on 25 Mar 2018
Use the help and doc commands on
trainru
trainb
trainr
trainc
trains
trainbu
trainscg
traingdx
traingdm
traingd
trainbr
traingda
There may be more, my website search using "trainfcn" was very brief.
Thank you for formally accepting my answer
Greg

  1 Comment

David Franco
David Franco on 25 Mar 2018
Yeah, I know all of these training functions.
My question is: Can I use my own custom training function and replace these MATLAB inbuilt?
Thanks!

Sign in to comment.


Sumaiya Ahmad
Sumaiya Ahmad on 10 Sep 2019
Edited: Sumaiya Ahmad on 10 Sep 2019
I have not tried, but I think it might work,
Please try the following command:
net.trainFcn = 'custom_function_name';
where
net is your network name.
trainFcn is property to the name of the corresponding function
custom_function_name is training function defined by you
(I hope it might help you)

  0 Comments

Sign in to comment.

Sign in to answer this question.


Translated by