openloop
Convertir la retroalimentación de lazo cerrado de una red neuronal a una de lazo abierto
Sintaxis
net = openloop(net)
[net,xi,ai] = openloop(net,xi,ai)
Descripción
net = openloop(net)
toma una red neuronal y abre cualquier retroalimentación de lazo cerrado. Por cada salida de retroalimentación i
cuya propiedad net.outputs{i}.feedbackMode
sea 'closed'
, sustituye los pesos de la capa de retroalimentación asociada con una nueva entrada y conexiones de pesos de entrada. La propiedad net.outputs{i}.feedbackMode
se establece en 'open'
y la propiedad net.outputs{i}.feedbackInput
se establece en el índice de la nueva entrada. Por último, el valor de net.outputs{i}.feedbackDelays
se resta de los retardos de los pesos de entrada de retroalimentación (es decir, de los valores de los retardos de los pesos de la capa sustituidos).
[net,xi,ai] = openloop(net,xi,ai)
convierte una red de lazo cerrado y sus estados de retardo de entrada xi
y de retardo de capa ai
actuales a una de lazo abierto.
Ejemplos
Convertir una red NARX en una de lazo abierto
En este ejemplo se muestra cómo crear una red NARX de lazo abierto, convertirla a una de lazo cerrado y, después, convertirla de nuevo en una de lazo abierto.
[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);
Convertir estados de retardo
Para ver ejemplos sobre el uso de closeloop
y openloop
para implementar la predicción de pasos múltiples, consulte narxnet
y narnet
.
Historial de versiones
Introducido en R2010b