MATLAB神经网络

时间:2011-05-11 12:59:30

标签: matlab neural-network

我正在使用简单的XOR输入和输出数据集来训练神经网络,然后再尝试任何更难的东西,但由于某种原因它不起作用。

有人可以解释一下我做错了吗? 这是我的代码:

    %user specified values
hidden_neurons = 3;
epochs = 10000;

t_input = [1 1; 1 0; 0 1; 0 0];
t_output = [1; 0; 0; 1];
te_input = [1 1; 1 0; 0 1; 0 0];

net = newff(t_input, t_output, 1);
net = init(net);
net = train(net, t_input, t_output);
net.trainParam.show = 50;
net.trainParam.lr = 0.25;
net.trainParam.epochs = epochs;
net.trainParam.goal = 1e-5;
net = train(net, t_input, t_output);
out = sim(net, te_input);

这是我的错误信息:

  

???使用==>时出错145个目标的network.train大小不正确   网络。 Matrix必须有2列。

     

==>中的错误smallNN at 11 net =   train(net,t_input,t_output);

1 个答案:

答案 0 :(得分:1)

您必须将样本放在列而不是行上(就像世界上所有NN软件一样),因此请更改数据集创建行:

t_input = [1 1; 1 0; 0 1; 0 0]';
t_output = [1; 0; 0; 1]';
te_input = [1 1; 1 0; 0 1; 0 0]';

现在它有效。