Преобразуйте обратную связь разомкнутого цикла нейронной сети в замкнутый цикл
net = closeloop(net)
[net,xi,ai] = closeloop(net,xi,ai)
net = closeloop(net)
берет нейронную сеть и закрывает любую обратную связь разомкнутого цикла. Для каждой обратной связи вывод i
, свойством net.outputs{i}.feedbackMode
которого является 'open'
, оно заменяет свой связанный вход обратной связи и их входные веса со связями веса слоя, прибывающими из вывода. Свойство net.outputs{i}.feedbackMode
установлено в 'closed'
, и свойство net.outputs{i}.feedbackInput
установлено в пустую матрицу. Наконец, значение net.outputs{i}.feedbackDelays
добавляется к задержкам весов слоя обратной связи (т.е. к значениям задержек замененных входных весов).
[net,xi,ai] = closeloop(net,xi,ai)
преобразовывает сеть разомкнутого цикла, и ее текущая входная задержка утверждает xi
, и задержка слоя утверждает ai
к форме с обратной связью.
Этот пример показывает, как разработать сеть NARX в форме разомкнутого цикла, затем преобразуйте его в форму с обратной связью.
[X,T] = simplenarx_dataset; net = narxnet(1:2,1:2,10); [Xs,Xi,Ai,Ts] = preparets(net,X,{},T); net = train(net,Xs,Ts,Xi,Ai); view(net) Yopen = net(Xs,Xi,Ai) net = closeloop(net) view(net) [Xs,Xi,Ai,Ts] = preparets(net,X,{},T); Yclosed = net(Xs,Xi,Ai);
Для примеров при использовании closeloop
и openloop
, чтобы реализовать многоступенчатый прогноз, смотрите narxnet
и narnet
.