traingdm
Retropropagación del gradiente descendente con momento
Sintaxis
net.trainFcn = 'traingdm'
[net,tr] = train(net,...)
Descripción
traingdm
es una función de entrenamiento de red que actualiza los valores de peso y sesgo de acuerdo con el gradiente descendente con momento.
net.trainFcn = 'traingdm'
establece la propiedad de red trainFcn
.
[net,tr] = train(net,...)
entrena la red con traingdm
.
El entrenamiento se lleva a cabo según los parámetros de entrenamiento traingdm
, que se muestran a continuación con sus valores predeterminados:
net.trainParam.epochs | 1000 | Número máximo de épocas que desea entrenar |
net.trainParam.goal | 0 | Objetivo de rendimiento |
net.trainParam.lr | 0.01 | Tasa de aprendizaje |
net.trainParam.max_fail | 6 | Máximo de errores de validación |
net.trainParam.mc | 0.9 | Constante de momento |
net.trainParam.min_grad | 1e-5 | Gradiente mínimo de rendimiento |
net.trainParam.show | 25 | Épocas entre las que se muestran progresos |
net.trainParam.showCommandLine | false | Generar una salida en la línea de comandos |
net.trainParam.showWindow | true | Mostrar la interfaz gráfica del entrenamiento |
net.trainParam.time | inf | Tiempo máximo de entrenamiento en segundos |
Uso de la red
Puede crear una red estándar que use traingdm
con feedforwardnet
o cascadeforwardnet
. Para preparar una red personalizada que se entrene con traingdm
:
Establezca
net.trainFcn
en'traingdm'
. Esto establecenet.trainParam
en los parámetros predeterminados detraingdm
.Establezca las propiedades
net.trainParam
en los valores que desee.
En cualquier caso, llamar a train
con la red resultante entrena la red con traingdm
.
Para ver ejemplos, consulte help feedforwardnet
y help cascadeforwardnet
.
Más acerca de
Algoritmos
traingdm
puede entrenar cualquier red, siempre y cuando su peso, entrada combinada y funciones de transferencia tengan funciones derivadas.
La retropropagación se utiliza para calcular las derivadas del rendimiento perf
con respecto a las variables de peso y sesgo X
. Cada variable se ajusta según el gradiente descendente con momento,
dX = mc*dXprev + lr*(1-mc)*dperf/dX
donde dXprev
es el cambio anterior del peso o el sesgo.
El entrenamiento se detiene cuando tiene lugar alguna de estas condiciones:
Se ha alcanzado el número máximo de
epochs
(repeticiones).Se ha sobrepasado el máximo de
time
.El rendimiento se minimiza al
goal
.El gradiente de rendimiento está por debajo de
min_grad
.El rendimiento de validación (error de validación) ha aumentado más de
max_fail
veces desde la última vez que disminuyó (al utilizar la validación).
Historial de versiones
Introducido antes de R2006a