【发布时间】:2016-07-21 13:35:45
【问题描述】:
我尝试使用神经网络和遗传算法进行优化。我用输入 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
从逻辑上讲,当我在 sim 命令中使用 p' 时,结果矩阵将是 72x2,这与 GA 的总体相同。但由于某种原因,我总是收到错误消息“你的适应度函数必须返回一个标量值”。
请指导我解决这个问题。
【问题讨论】:
标签: matlab neural-network genetic-algorithm scalar fitness