Преобразуйте нейронную сеть обратная связь с обратной связью в разомкнутый контур
net = openloop(net)
[net,xi,ai] = openloop(net,xi,ai)
net = openloop(net)
берет нейронную сеть и открывает любую обратную связь с обратной связью. Для каждой обратной связи выход i
чье свойство net.outputs{i}.feedbackMode
'closed'
, это заменяет свои связанные веса слоя обратной связи на новый вход и входные связи веса. net.outputs{i}.feedbackMode
свойство установлено в 'open'
, и net.outputs{i}.feedbackInput
свойство установлено в индекс нового входа. Наконец, значение net.outputs{i}.feedbackDelays
вычтен из задержек входных весов обратной связи (i.e., к значениям задержек замененных весов слоя).
[net,xi,ai] = openloop(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); net = openloop(net) view(net) [Xs,Xi,Ai,Ts] = preparets(net,X,{},T); Yopen = net(Xs,Xi,Ai)
Для примеров на использовании closeloop
и openloop
чтобы реализовать многошаговое прогнозирование, смотрите narxnet
и narnet
.