Существуют времена, когда данные timeseries не доступны в одной длинной последовательности, а скорее как несколько более коротких последовательностей. При контакте со статическими сетями и параллельными пакетами статических данных, можно просто добавить наборы данных вместе, чтобы сформировать один большой параллельный пакет. Однако вы обычно не хотели бы добавлять последовательности времени вместе, поскольку это вызовет разрыв в последовательности. Для этих случаев можно создать параллельный набор последовательностей, как описано в Понимании Структур данных Deep Learning Toolbox.
При обучении сети с параллельным набором последовательностей требуется, что каждая последовательность имеет ту же длину. Если дело обстоит не так, то более короткие входные параметры последовательности и цели должны быть дополнены NaNs в порядке сделать все последовательности той же длиной. Цели, которые являются присвоенными значениями NaN, будут проигнорированы во время вычисления производительности сети.
Следующий код иллюстрирует использование функционального catsamples
, чтобы объединить несколько последовательностей вместе, чтобы сформировать параллельный набор последовательностей, одновременно дополняя более короткие последовательности.
load magmulseq y_mul = catsamples(y1,y2,y3,'pad'); u_mul = catsamples(u1,u2,u3,'pad'); d1 = [1:2]; d2 = [1:2]; narx_net = narxnet(d1,d2,10); narx_net.divideFcn = ''; narx_net.trainParam.min_grad = 1e-10; [p,Pi,Ai,t] = preparets(narx_net,u_mul,{},y_mul); narx_net = train(narx_net,p,t,Pi);