我用以下几行创建并训练网络:
% 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列是1,第2列是0)
我错过了什么吗?
答案 0 :(得分:0)
问题可能是预处理功能。检查您是否包括:
net.inputs{1}.processFcns