How to use a trained neural network as objective function in fminsearch?
8 views (last 30 days)
Show older comments
Leonardo Anzellotti
on 19 Sep 2022
Edited: Saurabh Sharma
on 16 Dec 2023
I have trained a neural network, with input x that is a matrix 12x22000 and a target t 1x22000, and i have got an output y 1x22000, now i want to optimaize one element of my output with the tool fminsearch but i don't know how to write the objective function 'fun'.
What should i put as 'fun'?
x = input;
t = output;
trainFcn = ['trainlm'];
hiddenLayerSize = 50;
net = feedforwardnet(hiddenLayerSize,trainFcn);
net.divideFcn = ['divideblock'];
net.performFcn = 'mse';
[net,tr] = train(net,x,t);
y = net(x);
%now i want use fminsearch(fun,x0,options)
2 Comments
Accepted Answer
Matt J
on 20 Sep 2022
fminsearch.is unlikely to be able to handle 12 unknowns well. You should probably use fminunc if you have the Optimization Toolbox. Either way, the 'fun' input would be,
fun=@(x) net(x);
1 Comment
Saurabh Sharma
on 16 Dec 2023
Edited: Saurabh Sharma
on 16 Dec 2023
How can we get a trained Gaussian process regression machine learning model in a mathematical equation form? How to write 'fun' if we want to minimise three or four models at same time?
Thankyou
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!