Подготовьте входные и целевые данные временных рядов для симуляции или обучения сети
[Xs,Xi,Ai,Ts,EWs,shift] = preparets(net,Xnf,Tnf,Tf,EW)
Эта функция упрощает обычно сложную и подверженную ошибкам задачу переформатирования входных и целевых временных рядов. Он автоматически смещает вход и целевой временной ряд столько шагов, сколько необходимо для заполнения начальных входов и слоя состояний задержки. Если сеть имеет обратной связи без разомкнутого контура, то она копирует цели обратной связи во входы по мере необходимости, чтобы задать входы без разомкнутого контура.
Каждый раз, когда проектируется новая сеть с различным количеством задержек или настроек обратной связи, preparets
может переформатировать входные и целевые данные соответственно. Кроме того, каждый раз, когда сеть преобразуется с openloop
, closeloop
, removedelay
или adddelay
эта функция может переформатировать данные соответственно.
[Xs,Xi,Ai,Ts,EWs,shift] = preparets(net,Xnf,Tnf,Tf,EW)
принимает эти аргументы,
net | Нейронная сеть |
Xnf | Входы без обратной связи |
Tnf | Цели без обратной связи |
Tf | Цели обратной связи |
EW | Веса ошибок (по умолчанию = |
и возвращает,
Xs | Сдвинутые входы |
Xi | Начальные состояния задержки на входе |
Ai | Начальные состояния задержки слоя |
Ts | Сдвинутые цели |
EWs | Сдвинутые веса ошибок |
shift | Количество временных интервалов, усеченных с передней панели |
Здесь создается, обучается и моделируется сеть задержки с 20 скрытыми нейронами.
[X,T] = simpleseries_dataset; net = timedelaynet(1:2,20); [Xs,Xi,Ai,Ts] = preparets(net,X,T); net = train(net,Xs,Ts); view(net) Y = net(Xs,Xi,Ai);
Здесь спроектирована сеть NARX. Сеть NARX имеет стандартный вход и разомкнутый контур обратной связи, выхода к соответствующему входу обратной связи.
[X,T] = simplenarx_dataset; net = narxnet(1:2,1:2,20); [Xs,Xi,Ai,Ts] = preparets(net,X,{},T); net = train(net,Xs,Ts,Xi,Ai); view(net) y = net(Xs,Xi,Ai);
Теперь сеть преобразуется в замкнутый цикл, и данные переформатируются, чтобы симулировать реакцию замкнутой системы сети.
net = closeloop(net); view(net) [Xs,Xi,Ai] = preparets(net,X,{},T); y = net(Xs,Xi,Ai);
adddelay
| closeloop
| narnet
| narxnet
| openloop
| removedelay
| timedelaynet