Tema
Descenso de gradiente
- Matemáticas para IA
- Nivel base
- Con simulador interactivo
El descenso de gradiente busca el mínimo de una función avanzando en cada paso una fracción del gradiente, pero en sentido contrario.
Nombre en inglés
Gradient descent
Intuición
Se trata de bajar una montaña con niebla palpando la pendiente bajo los pies y dando un paso cuesta abajo. Si el paso es diminuto, el descenso tarda una eternidad; si es demasiado largo, se cruza el valle de un lado a otro y la pérdida crece. La tasa de aprendizaje es la longitud de ese paso y suele ser el parámetro que más decide el resultado.
Fórmula
x_{t+1} = x_t - alpha * grad f(x_t)
Ejemplo resuelto
Sea f(x) = x^2, cuya derivada vale 2 x, con tasa de aprendizaje 0.1 y punto de partida x = 1. El primer paso da 1 menos 0.1 por 2, es decir 0.8. El segundo da 0.8 menos 0.1 por 1.6, es decir 0.64. Cada paso multiplica la distancia al mínimo por 0.8, de modo que la convergencia es geométrica. Con tasa 1.1, en cambio, la sucesión pasa de 1 a -1.2 y luego a 1.44, y se aleja del mínimo.
Errores frecuentes
- Buscar una tasa de aprendizaje única para todo el entrenamiento: Conviene una programación que la reduzca, porque el paso que sirve al principio resulta demasiado largo cerca del mínimo.
- No escalar las características: Con una columna en miles y otra entre cero y uno, las curvas de nivel son elipses muy alargadas y el descenso zigzaguea en lugar de avanzar.
- Confundir el descenso por lotes con el estocástico: El primero calcula el gradiente sobre todos los ejemplos y el segundo sobre uno o unos pocos, lo que abarata cada paso a cambio de ruido.
Ejercicio
Con f(x) = x^2, tasa de aprendizaje 0.25 y punto de partida x = 4, ¿cuánto vale x después de un paso?
Ver la solución
La derivada en 4 vale 8. El nuevo punto es 4 menos 0.25 por 8, es decir 4 menos 2.
Respuesta: 2
Temas relacionados
Cursos a los que prepara
Simulador
Este tema tiene un simulador interactivo en la guía.