Método del Gradiente en Programación
Matemática No Lineal
¿QUÉ ES EL MÉTODO DEL GRADIENTE?
Es un método iterativo usado para minimizar (o maximizar) una función diferenciable. Se
basa en la idea de que la dirección del gradiente negativo de una función en un punto es la
dirección de mayor descenso.
CONTEXTO: PROBLEMA DE OPTIMIZACIÓN NO LINEAL
Queremos minimizar una función:
min f(x), donde f: R^n -> R es diferenciable
PASOS DEL MÉTODO DEL GRADIENTE
1. Inicialización: Escoge un punto inicial x^(0)
2. Iteración: Para cada paso k = 0, 1, 2, ... calcula:
x^(k+1) = x^(k) - α_k * ∇f(x^(k))
donde ∇f(x^(k)) es el gradiente en x^(k) y α_k > 0 es el tamaño de paso.
3. Criterio de parada: Detener si ||∇f(x^(k))|| < ε o se alcanza el número máximo de
iteraciones.
INTERPRETACIÓN GEOMÉTRICA
El gradiente apunta en la dirección de máximo crecimiento. Al moverse en la dirección
contraria se busca el mínimo local.
SELECCIÓN DEL TAMAÑO DE PASO α_k
- Constante: valor fijo (por ejemplo 0.1)
- Búsqueda exacta: minimiza f(x^(k) - α * ∇f(x^(k)))
- Búsqueda inexacta: métodos como Wolfe o Armijo
VENTAJAS
- Simple de implementar
- Eficiente para funciones suaves
DESVENTAJAS
- Puede ser lento si α_k no se elige bien
- Puede oscilar si el paso es grande
- No eficiente cerca del mínimo
EJEMPLO PASO A PASO
Minimizar f(x, y) = x² + y²
1. Gradiente: ∇f(x, y) = [2x, 2y]
2. Punto inicial: x^(0) = (1,1), α = 0.1
3. Iteración: x^(1) = (1,1) - 0.1*[2,2] = (0.8, 0.8)
4. Repetir hasta ||∇f|| < ε
VARIACIONES DEL MÉTODO
- Gradiente con línea de búsqueda
- Gradiente conjugado
- Gradiente proyectado (con restricciones)
APLICACIONES
- Optimización en Machine Learning
- Ajuste de parámetros en modelos
- Problemas de ingeniería y economía