trainbr
Retropropagación de regularización bayesiana
Descripción
net.trainFcn = 'trainbr'
establece la propiedad de red trainFcn
.
[
entrena la red con trainedNet
,tr
] = train(net
,...)trainbr
.
trainbr
es una función de entrenamiento de red que actualiza los valores de peso y sesgo de acuerdo con la optimización Levenberg-Marquardt. Minimiza una combinación de errores cuadráticos y pesos, y, después, determina la combinación correcta para producir una red que generalice bien. El proceso se denomina regularización bayesiana.
El entrenamiento se lleva a cabo según los parámetros de entrenamiento trainbr
, 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.goal
: objetivo de rendimiento. El valor predeterminado es 0.net.trainParam.mu
: parámetro de adaptación de Marquardt. El valor predeterminado es 0.005.net.trainParam.mu_dec
: factor de disminución demu
. El valor predeterminado es 0.1.net.trainParam.mu_inc
: factor de aumento demu
. El valor predeterminado es 10.net.trainParam.mu_max
: valor máximo de Mu. El valor predeterminado es1e10
.net.trainParam.max_fail
: máximo de errores de validación. El valor predeterminado esinf
.net.trainParam.min_grad
: gradiente mínimo de rendimiento. El valor predeterminado es1e-7
.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.time
: tiempo máximo de entrenamiento en segundos. El valor predeterminado esinf
.
Las paradas de validación están deshabilitadas de forma predeterminada (max_fail = inf
) para que el entrenamiento pueda continuar hasta que se encuentre una combinación óptima de errores y pesos. No obstante, se puede obtener alguna minimización de peso/sesgo con tiempos de entrenamientos menores si la validación se activa estableciendo max_fail
en 6 u otro valor estrictamente positivo.
Ejemplos
Argumentos de entrada
Argumentos de salida
Limitaciones
Esta función usa la matriz jacobiana para realizar los cálculos, lo que implica que el rendimiento es una media o suma del cuadrado de los errores. Por lo tanto, las redes entrenadas con esta función deben usar las funciones de rendimiento mse
o sse
.
Más acerca de
Algoritmos
trainbr
puede entrenar cualquier red, siempre y cuando su peso, entrada combinada y funciones de transferencia tengan funciones derivadas.
La regularización bayesiana minimiza una combinación lineal de errores cuadráticos y pesos. También modifica la combinación lineal para que, al final del entrenamiento, la red resultante tenga buenas calidades de generalización. Consulte MacKay (Neural Computation, Vol. 4, No. 3, 1992, pp. 415 to 447) y Foresee and Hagan (Proceedings of the International Joint Conference on Neural Networks, June, 1997) para acceder a más explicaciones detalladas sobre la regularización bayesiana.
La regularización bayesiana tiene lugar dentro del algoritmo de Levenberg-Marquardt. La retropropagación se utiliza para calcular la matriz jacobiana jX
del rendimiento perf
con respecto a las variables de peso y sesgo X
. Cada variable se ajusta según Levenberg-Marquardt:
jj = jX * jX je = jX * E dX = -(jj+I*mu) \ je
donde E
son todo errores y I
es la matriz identidad.
El valor adaptativo mu
aumenta en mu_inc
hasta que el cambio mostrado anteriormente da como resultado un valor de rendimiento reducido. El cambio se realiza después en la red y mu
se reduce en mu_dec
.
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
.mu
sobrepasa amu_max
.
Referencias
[1] MacKay, David J. C. "Bayesian interpolation." Neural computation. Vol. 4, No. 3, 1992, pp. 415–447.
[2] Foresee, F. Dan, and Martin T. Hagan. "Gauss-Newton approximation to Bayesian learning." Proceedings of the International Joint Conference on Neural Networks, June, 1997.
Historial de versiones
Introducido antes de R2006a