0

我创建然后用以下几行训练一个网络:

% 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,第二列输出为零)

我错过了什么?

4

1 回答 1

0

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

net.inputs{1}.processFcns
于 2014-08-23T03:23:40.600 回答