Matlab Elman神经网络学习多重级数

Matlab Elman神经网络学习多重级数,matlab,machine-learning,neural-network,classification,Matlab,Machine Learning,Neural Network,Classification,我从神经网络开始,我想知道我怎样做才能有几个输入列表作为学习的例子。文件中给出的示例如下: [X,T] = simpleseries_dataset; net = elmannet(1:2,10); [Xs,Xi,Ai,Ts] = preparets(net,X,T); net = train(net,Xs,Ts,Xi,Ai); view(net) Y = net(Xs,Xi,Ai); perf = perform(net,Ts,Y) 其中Xs和Ts是输入和目标,如果我有serval系列,我应

我从神经网络开始,我想知道我怎样做才能有几个输入列表作为学习的例子。文件中给出的示例如下:

[X,T] = simpleseries_dataset;
net = elmannet(1:2,10);
[Xs,Xi,Ai,Ts] = preparets(net,X,T);
net = train(net,Xs,Ts,Xi,Ai);
view(net)
Y = net(Xs,Xi,Ai);
perf = perform(net,Ts,Y)

其中Xs和Ts是输入和目标,如果我有serval系列,我应该为每个系列重复学习吗?谢谢

您应该使用数组的单元格数组。例如,如果您有两个系列:
x1_1,x1_2,x1_3,…
x2_1,x2_2,x2_3,…
,则单元格aray应该是
{[x1_1,x2_1],[x1_2,x2_2],[x1_3,x2_3],…}
。如果序列具有不同的长度,则较短的序列应填充NAN。该函数可用于简化代码:

[X,T] = simpleseries_dataset;
x1= X(1:30); t1= T(1:30); % first subsequence
x2= X(50:75); t2= T(50:75); % second subsequence
Xm = catsamples(x1,x2,'pad'); % concatenate to the cell array
Tm = catsamples(t1,t2,'pad'); % padding whith NaNs 
net = elmannet(1:2,10);
[Xs,Xi,Ai,Ts] = preparets(net,Xm,Tm);
net = train(net,Xs,Ts,Xi,Ai);
Y = net(Xs,Xi,Ai);
perf = perform(net,Ts,Y)

谢谢你的回答,在我的例子中,我的两个系列的形式是:(x1_1,y1_1),(x1_2,y1_2),(x1_3,y1_3)…(x1_N,y1_N)和(x2_1,y2_1),(x2_2,y2_2),(x2_3,y2_3)…(x2_N,y2_N)在这种情况下(系列大小相同),你不需要填充单元阵列:
Xm=samples(x1,x2);Ym=catsamples(y1,y2)不,对不起,我想我没有很好地解释我的问题,我想用一个多重时间序列,它是几个轨迹的一种形式,(x1,y1)应该用来预测(x'1,y'1),而(x2,y2)应该用来预测(x'2,y'2)