trainscg
Retropropagación de gradiente conjugado escalado
Descripción
net.trainFcn = 'trainscg'
establece la propiedad de red trainFcn
.
[
entrena la red con trainedNet
,tr
] = train(net
,...)trainscg
.
trainscg
es una función de entrenamiento de red que actualiza los valores de peso y sesgo de acuerdo con el método gradiente conjugado escalado.
El entrenamiento se lleva a cabo según los parámetros de entrenamiento trainscg
, que se muestran a continuación con sus valores predeterminados:
net.trainParam.epochs
: número máximo de épocas que desea entrenar. El valor predeterminado es 1000.net.trainParam.show
: épocas entre muestras (NaN
cuando no hay muestras). El valor predeterminado es 25.net.trainParam.showCommandLine
: generar una salida en la línea de comandos. El valor predeterminado esfalse
.net.trainParam.showWindow
: mostrar la interfaz gráfica del entrenamiento. El valor predeterminado estrue
.net.trainParam.goal
: objetivo de rendimiento. El valor predeterminado es 0.net.trainParam.time
: tiempo máximo de entrenamiento en segundos. El valor predeterminado esinf
.net.trainParam.min_grad
: gradiente mínimo de rendimiento. El valor predeterminado es1e-6
.net.trainParam.max_fail
: máximo de errores de validación. El valor predeterminado es6
.net.trainParam.mu
: parámetro de adaptación de Marquardt. El valor predeterminado es 0.005.net.trainParam.sigma
: determina cambios en el peso de la aproximación de la segunda derivada. El valor predeterminado es5.0e-5
.net.trainParam.lambda
: parámetro que regula la indefinición de la matriz hessiana. El valor predeterminado es5.0e-7
.
Ejemplos
Argumentos de entrada
Argumentos de salida
Más acerca de
Algoritmos
trainscg
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
.
El algoritmo de gradiente conjugado escalado está basado en direcciones conjugadas, como en traincgp
, traincgf
y traincgb
, pero este algoritmo no lleva a cabo ninguna búsqueda de línea en cada iteración. Para ver una explicación más detallada sobre el algoritmo de gradiente conjugado escalado, consulte Moller (Neural Networks, vol. 6, 1993, pp. 525–533).
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).
Referencias
[1] Moller. Neural Networks, Vol. 6, 1993, pp. 525–533
Historial de versiones
Introducido antes de R2006a