在Matlab中创建feedforwardnet模型

时间:2013-06-05 08:57:17

标签: matlab feed-forward

我想实现一个像这样工作的模型: 它有3个输入,例如 - 1,2,3 它给出1个输出 - 0到1之间的数字(包括0和1)。 该模型是一个feedforwardnet-首先,它“训练” - 它获得输入和结果,然后,根据他的训练,它可以给出只给出输入的结果,例如: 有一次他拿到了1,2,3,结果:0, 第二次他得到2,3,4并且结果:0, 他第三次得到3,4,5,结果:1。 他第四次获得4,5,6但没有结果 - 所以基于他的知识和算法,他会给出一个结果,让我们说:0.45。

我的问题是输入的矢量大小和结果矢量的大小必须相等,所以当我只需要1时,结果的矢量必须包含3个元素 - 所以我制作了所有的元素相同,意思是:它得到[1 1 1]或[0 0 0](我希望它不会破坏网络)。 无论如何,这是我模型的代码 - 我实现得好吗?因为我不确定......

% x1 is the input in the 1st case, x2 is the input in the 2nd case...
% t1 is the result in the 1st case, t2 is the result in the 2nd case...
net=feedforwardnet(1);
x1=[1 2 3];
t1=[0 0 0];
x2=[2 3 4];
t2=[0 0 0];
x3=[3 4 5];
t3=[1 1 1];
x4=[4 5 6];
net=train(net,x1,t1);
net=train(net,x2,t2);
net=train(net,x3,t3);
t4=net(x4)

1 个答案:

答案 0 :(得分:1)

不,它应该训练一次,多个案例应该只放入一个矩阵

the right program should be as follows:
x = [x1', x2', x3'];
t = [0 0 1];
net = train(net, x, t);
t4 = net(x4)