如何在不使用matlab nn工具箱的情况下获得神经网络的输出?

时间:2013-10-19 02:39:34

标签: matlab

我用以下几行创建并训练网络:

% 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)

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

问题可能是预处理功能。检查您是否包括:

net.inputs{1}.processFcns