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