How to use a trained neural network as objective function in fminsearch?

7 ビュー (過去 30 日間)
Leonardo Anzellotti
Leonardo Anzellotti 2022 年 9 月 19 日
回答済み: Matt J 2022 年 9 月 20 日
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 件のコメント
Leonardo Anzellotti
Leonardo Anzellotti 2022 年 9 月 20 日
optimize with respect to the 12 input variables for each output

サインインしてコメントする。

採用された回答

Matt J
Matt J 2022 年 9 月 20 日
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);

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by