我做的是四输入四输出的bp神经网络回归
输入层 4 隐藏层9 输出层4
这一部分老是出问题
我应该怎么检查这个错误具体是哪儿不对或者应该如何修改呀
fun函数代码如下
谢谢大家!!
function error = fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn)
%该函数用来计算适应度值
%x input 个体
%inputnum input 输入层节点数
%outputnum input 隐含层节点数
%net input 网络
%inputn input 训练输入数据
%outputn input 训练输出数据
%error output 个体适应度值
%提取
w1=x(1:inputnum*hiddennum);%输入与隐含层权值
B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);%隐含层阈值
w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);%隐含层与输出层权值
B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);%输出层阈值
%网络权值赋值
net.iw{1,1}=reshape(w1,hiddennum,inputnum);
net.lw{2,1}=reshape(w2,outputnum,hiddennum);
net.b{1}=reshape(B1,hiddennum,1);
net.b{2}=reshape(B2,outputnum,1);
%网络训练
an=sim(net,inputn);
error=sum(abs(an-outputn));
end