Contenido principal

elmannet

Red neuronal de Elman

Sintaxis

elmannet(layerdelays,hiddenSizes,trainFcn)

Descripción

Las redes de Elman son redes prealimentadas (feedforwardnet) con la adición de conexiones de capa recurrentes con retardos en pulsación.

Con la disponibilidad de cálculos completos de derivadas dinámicas (fpderiv y bttderiv), la red de Elman ya no se recomienda salvo para fines históricos y de investigación. Para un aprendizaje más preciso, pruebe redes neuronales de retardo temporal (timedelaynet), recurrentes de capa (layrecnet), NARX (narxnet) y NAR (narnet).

Las redes de Elman con una o más capas ocultas pueden aprender cualquier relación dinámica entrada-salida arbitrariamente bien, si cuenta con suficientes neuronas en las capas ocultas. Sin embargo, las redes de Elman utilizan cálculos simplificados de derivadas (con staticderiv, que ignora las conexiones retrasadas) a costa de un aprendizaje menos fiable.

elmannet(layerdelays,hiddenSizes,trainFcn) toma los argumentos siguientes:

layerdelays

Vector fila de retardos crecientes de valor 0 o positivos (valor predeterminado = 1:2)

hiddenSizes

Vector fila con uno o más tamaños de capas ocultas (valor predeterminado = 10)

trainFcn

Función de entrenamiento (valor predeterminado = 'trainlm')

y devuelve una red neuronal de Elman.

Ejemplos

contraer todo

Este ejemplo muestra cómo entrenar una red neuronal de Elman para solucionar un problema de serie de tiempo sencillo.

[X,T] = simpleseries_dataset;
net = elmannet(1:2,10);
[Xs,Xi,Ai,Ts] = preparets(net,X,T);
net = train(net,Xs,Ts,Xi,Ai);

Figure Neural Network Training (09-Aug-2025 13:41:16) contains an object of type uigridlayout.

view(net)

Y = net(Xs,Xi,Ai);
perf = perform(net,Ts,Y)
perf = 
9.0122e-04

Historial de versiones

Introducido en R2010b