narnet
Red neuronal autorregresiva no lineal
Descripción
narnet(
toma estos argumentos:feedbackDelays
,hiddenSizes
,feedbackMode
,trainFcn
)
Vector fila de retardos de retroalimentación crecientes de valor 0 o positivos,
feedbackDelays
Vector fila con uno o más tamaños de capas ocultas,
hiddenSizes
Tipo de retroalimentación,
feedbackMode
Función de entrenamiento,
trainFcn
y devuelve una red neuronal NAR.
Puede entrenar redes neuronales NAR (autorregresivas no lineales) para predecir una serie de tiempo a partir de los valores anteriores de dicha serie.
Ejemplos
Entrenar una red NAR y predecir con datos nuevos
Entrene una red neuronal autorregresiva no lineal (NAR) y realice predicciones con datos nuevos de series de tiempo. La predicción de una secuencia de valores en una serie de tiempo también se conoce como predicción de pasos múltiples. Las redes de lazo cerrado pueden realizar predicciones de pasos múltiples. Cuando falta retroalimentación externa, las redes de lazo cerrado pueden seguir prediciendo mediante retroalimentación interna. En la predicción NAR, los valores futuros de una serie de tiempo se predicen solo a partir de valores anteriores de dicha serie.
Cargue los datos de predicción de la serie de tiempo sencilla.
T = simplenar_dataset;
Cree una red NAR. Defina los retardos de retroalimentación y el tamaño de las capas ocultas.
net = narnet(1:2,10);
Prepare los datos de series de tiempo utilizando preparets
. Esta función desplaza automáticamente las series de tiempo de entrada y objetivo en el número de pasos necesarios para llenar los estados de entrada y retardo de capa iniciales.
[Xs,Xi,Ai,Ts] = preparets(net,{},{},T);
La práctica recomendada es crear completamente la red en un lazo abierto y, después, transformar la red en un lazo cerrado para la predicción de pasos múltiples. Después, la red de lazo cerrado puede predecir tantos valores futuros como desee. Si simula la red neuronal solo en el modo de lazo cerrado, la red puede realizar tantas predicciones como unidades de tiempo hay en la serie de entrada.
Entrene la red NAR. La función train
entrena la red en un lazo abierto (arquitectura paralela de serie), incluidos los pasos de validación y prueba.
net = train(net,Xs,Ts,Xi,Ai);
Muestre la red entrenada.
view(net)
Calcule la salida de red Y
, los estados de entrada finales Xf
y los estados de capa finales Af
de la red de lazo abierto a partir de la entrada de red Xs
, los estados de entrada iniciales Xi
y los estados de capa iniciales Ai
.
[Y,Xf,Af] = net(Xs,Xi,Ai);
Calcule el rendimiento de la red.
perf = perform(net,Ts,Y)
perf = 1.0100e-09
Para predecir la salida para las 20 unidades de tiempo siguientes, simule primero la red en el modo de lazo cerrado. Los estados de entrada Xf
y los estados de capa Af
finales de la red net
de lazo abierto se convierten en los estados de entrada Xic
y los estados de capa Aic
iniciales de la red de lazo cerrado netc
.
[netc,Xic,Aic] = closeloop(net,Xf,Af);
Muestre la red de lazo cerrado. La red consta solo de una entrada. En el modo de lazo cerrado, esta entrada conecta con la salida. Una conexión directa de salida retardada reemplaza la entrada objetivo retardada.
view(netc)
Para simular la red 20 unidades de tiempo hacia adelante, introduzca un arreglo de celdas vacío con una longitud de 20. La red solo requiere las condiciones iniciales dadas en Xic
y Aic
.
Yc = netc(cell(0,20),Xic,Aic)
Yc=1×20 cell array
{[0.8346]} {[0.3329]} {[0.9084]} {[1.0000]} {[0.3190]} {[0.7329]} {[0.9801]} {[0.6409]} {[0.5146]} {[0.9746]} {[0.9077]} {[0.2807]} {[0.8651]} {[0.9897]} {[0.4093]} {[0.6838]} {[0.9976]} {[0.7007]} {[0.4311]} {[0.9660]}
Argumentos de entrada
feedbackDelays
— Retardos de retroalimentación
[1:2]
(predeterminado) | vector fila
Retardos de retroalimentación cero o positivos, especificados como un vector fila creciente.
hiddenSizes
— Tamaños ocultos
10
(predeterminado) | vector fila
Tamaños de las capas ocultas, especificados como un vector fila de uno o más elementos.
feedbackMode
— Modo de retroalimentación
'open'
(predeterminado) | 'closed'
| 'none'
Tipo de retroalimentación, especificado como 'open'
, 'closed'
o 'none'
.
trainFcn
— Nombre de la función de entrenamiento
'trainlm'
(predeterminado) | 'trainbr'
| 'trainbfg'
| 'trainrp'
| 'trainscg'
| ...
Nombre de la función de entrenamiento, especificado como una de las siguientes opciones.
Función de entrenamiento | Algoritmo |
---|---|
'trainlm' | Levenberg-Marquardt |
'trainbr' | Regularización bayesiana |
'trainbfg' | BFGS quasi-Newton |
'trainrp' | Retropropagación resiliente |
'trainscg' | Gradiente conjugado escalado |
'traincgb' | Gradiente conjugado con reinicios de Powell/Beale |
'traincgf' | Gradiente conjugado de Fletcher-Powell |
'traincgp' | Gradiente conjugado de Polak-Ribiére |
'trainoss' | Secante de un paso |
'traingdx' | Gradiente descendente de tasa de aprendizaje variable |
'traingdm' | Gradiente descendente con momento |
'traingd' | Gradiente descendente |
Ejemplo: Por ejemplo, puede establecer el algoritmo de gradiente descendente de tasa de aprendizaje variable como el algoritmo de entrenamiento, de esta manera: 'traingdx'
Para obtener más información sobre las funciones de entrenamiento, consulte Train and Apply Multilayer Shallow Neural Networks y Choose a Multilayer Neural Network Training Function.
Tipos de datos: char
Historial de versiones
Introducido en R2010b
Consulte también
preparets
| removedelay
| timedelaynet
| narxnet
| closeloop
| network
| train
| openloop
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)