我创建然后用以下几行训练一个网络:
% here input is 9x543, target is 2x543 and hidden is 6 and output has 2 neurons
net = newff(input,target,{hidden},{'logsig','logsig'},'trainlm');
[net,tr] = train(net,input,target);
在训练阶段之后,我使用以下行模拟我的网络:
out1 = sim(net,input);
然后我得到以下几行的网络权重:
iwNet = net.IW{1,1};
lwNet = net.LW{2,1};
b1Net = net.b{1,1};
b2Net = net.b{2,1};
我实现了自己的网络来获得输入值的预测输出:
% here input is 543x9 and target is 543x2
out2=logsig(logsig(input*iw'+repmat(b1',size(input,1),1))*lw'+repmat(b2',size(input,1),1));
我期待的是 out1==out2,因为我使用了相同的激活函数、权重和偏差。但是 out2 有非常有趣的结果。(仍然第一列是 1,第二列输出为零)
我错过了什么?