开发者

MATLAB neural networks

I'm using a simple XOR input and output data set in order to train a neural network before attempting anything harder but for some reason it won't work.

may someone please explain what I am doing wrong please? This is my code:

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

THis is my error message:

??? Error using ==> network.train at 145 Targets are incorrectly sized for network. Matrix must have 2 columns.

Error in ==> smallNN at 11 net = train(net, t_input, t_output);


You must have your samples on columns and not rows (like all the NN software in the world do), so change the data sets creation lines in:

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]';

Now it works.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜