Este algoritmo aprende procesando iterativamente un conjunto de ejemplos de entrenamiento, comparando la predicción de la red para cada ejemplo con la clase real de dicho ejemplo (ya conocida). Para cada ejemplo de entrenamiento, los pesos son modificados para minimizar el error medio cuadrático entre la predicción y la clase real. Estas modificaciones son hechas en dirección hacia atrás, es decir, desde la capa de salida, hacia cada capa oculta llegando hasta la primera capa oculta (de aquí el nombre backpropagation). Sin embargo, esto no es garantía, en general los pesos convergirán, y el proceso de aprendizaje termina.
Pasos del Algoritmo
Para cada ejemplo de entrenamiento:
Las entradas de cada unidad, son en efecto, las salidas de las unidades conectadas
a la capa anterior. Para calcular la entrada a la unidad, cada entrada conectada
a la unidad es multiplicada por su correspondiente peso y esto es sumado. Dada
una unidad j en la capa oculta o en la de salida, la entrada Ij a esta unidad
j es:
El algoritmo de retropropagación aprende usando el método del gradiente descendente para encontrar el conjunto de pesos que puedan modelar el problema de clasificación dado y minimizar el error cuadrático medio. La rata de aprendizaje ayuda a evitar estancamientos en mínimos locales en el espacio de decisión, es decir, el algoritmo puede parecer converger, pero no a la solución óptima), y a llegar finalmente al mínimo global. Si la rata de aprendizaje es muy pequeña, entonces el aprendizaje ocurrirá muy lentamente. Si la rata de aprendizaje es muy grande, entonces pueden ocurrir oscilaciones entre soluciones no adecuadas. Una regla para establecer la tasa de aprendizaje es colocarla a 1/t, donde t es el número de iteraciones establecido hasta el momento.
El entrenamiento termina cuando:
En la práctica, muchos cientos o miles de épocas pueden ser requeridos
antes de que los pesos converjan.