我从神经网络开始,我想知道如何将几个输入列表作为学习的一个例子。在文档中,提供的示例如下:
[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系列,我应该重复每个系列的学习吗?谢谢
答案 0 :(得分: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)