我尝试使用神经网络和遗传算法进行优化。我用输入 p (4x72 矩阵)和目标 t (2x72 矩阵)训练了一个神经网络。使用遗传算法重新优化优化,我使用sim
神经网络的函数作为适应度函数。我使用的代码如下:
objFcn=@(p) sim(net,p');
%'net' is the neural network I created with p as input and t as target
[xOpt,fVal,exitflag,target]=ga(objFcn,4,[],[],[],[],LB,UB,[],options);
我提供了分别为下限和上限的 LB 和 UB。而且options
,我试过了
options = gaoptimset('Vectorized','on');
% even vectorized off doesnt solve the problem
从逻辑上讲,当我在命令中使用p'sim
时,结果矩阵将是72x2,这与 GA 的总体相同。但由于某种原因,我总是收到错误消息“你的适应度函数必须返回一个标量值”。
请指导我解决这个问题。