Rede neural em MATLAB

Treinei a rede xor neural no Matlab e consegui estes pesos:

iw: [-2.162 2.1706; 2.1565 -2.1688]

lw: [-3.9174 -3.9183]

b{1} [2.001; 2.0033]

b{2} [3.8093]

Por curiosidade, tentei escrever o código MATLAB que calcula a saída dessa rede (2 neurônios na camada oculta e 1 na saída, função de ativação do TANSIG).

Código que recebi:

l1w = [-2.162 2.1706; 2.1565 -2.1688];
l2w = [-3.9174 -3.9183];
b1w = [2.001 2.0033];
b2w = [3.8093];

input = [1, 0];

out1 = tansig (input(1)*l1w(1,1) + input(2)*l1w(1,2) + b1w(1));
out2 = tansig (input(1)*l1w(2,1) + input(2)*l1w(2,2) + b1w(2));
out3 = tansig (out1*l2w(1) + out2*l2w(2) + b2w(1))

O problema é que quando a entrada é digamos [1,1], ela gera-0,9989, quando [0,1]0,4902. Embora a simulação da rede gerada com saídas MATLAB seja adequada,0.00055875 e0.99943.

O que estou fazendo de errado?

questionAnswers(2)

yourAnswerToTheQuestion