2017-02-27 120 views
0

我从神经网络开始,我想知道如何才能将几个输入列表作为学习的例子。在本文档中给出的示例如下:艾尔曼神经网络学习多个系列系列

[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) 

,其中的X,TS是输入和目标,如果我有薮系列,我要重复学习每个系列?谢谢

回答

0

你应该使用数组的单元阵列。例如,如果您有两个系列: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填充。该catsamples功能可用于简化代码:

[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) 
+0

谢谢您的回答,在我的情况,我的两个系列的形式为:(x1_1,y1_1),(x1_2,y1_2),(x1_3,y1_3 )...(x1_N,y1_N)和(x2_1,y1_N)和(x2_1,y2_1),(x2_2,y2_2),(x2_3,y2_3)...(x2_N,y2_N) –

+0

在这种情况下(该系列具有相同尺寸) ,你不需要填充单元格数组:'Xm = catsamples(x1,x2); Ym = catsamples(y1,y2);' – AVK

+0

不,我认为我没有很好地解释我的问题,我想使用多个时间序列,它是一个有几个轨迹的形式,应该使用(x1,y1)预测(x'1,y'1)和(x2,y2)应该用来预测(x'2,y'2) –