Contenido principal

traingd

Retropropagación del gradiente descendente

Descripción

net.trainFcn = 'traingd' establece la propiedad de red trainFcn.

[trainedNet,tr] = train(net,...) entrena la red con traingd.

traingd es una función de entrenamiento de red que actualiza los valores de peso y sesgo de acuerdo con el gradiente descendente.

El entrenamiento se lleva a cabo según los parámetros de entrenamiento traingd, 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.lr: tasa de aprendizaje. El valor predeterminado es 0.01.

  • net.trainParam.max_fail: máximo de errores de validación. El valor predeterminado es 6.

  • net.trainParam.min_grad: gradiente mínimo de rendimiento. El valor predeterminado es 1e-5.

  • 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 es false.

  • net.trainParam.showWindow: mostrar la interfaz gráfica del entrenamiento. El valor predeterminado es true.

  • net.trainParam.time: tiempo máximo de entrenamiento en segundos. El valor predeterminado es inf.

Argumentos de entrada

contraer todo

Red de entrada, especificada como un objeto de red. Para crear un objeto de red, use feedforwardnet o narxnet, por ejemplo.

Argumentos de salida

contraer todo

Red entrenada, devuelta como un objeto network.

Registro de entrenamiento (epoch y perf), devuelto como una estructura cuyos campos dependen de la función de entrenamiento de la red (net.NET.trainFcn). Puede incluir campos como los siguientes:

  • Funciones y parámetros de entrenamiento, división de datos y rendimiento

  • Índices de división de datos para conjuntos de entrenamiento, validación y prueba

  • Máscaras de división de datos para conjuntos de entrenamiento, validación y prueba

  • Número de épocas (num_epochs) y la mejor época (best_epoch)

  • Una lista de los nombres de estado de entrenamiento (states)

  • Los campos de cada nombre de estado que registra su valor durante el entrenamiento

  • Rendimientos de la mejor red (best_perf, best_vperf y best_tperf)

Más acerca de

contraer todo

Algoritmos

traingd 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:

dX = lr * dperf/dX

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

Consulte también

| | |