Introducción
Método del Gradiente Descendente
Optimización Numérica
Prof. Cristian Mejía Cortés
Programa de Física
Facultad de Ciencias Básicas
Universidad del Atlántico
Sede norte: Cra 30 # 8-49 Puerto Colombia
Código Postal 081007
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 1 / 12
Introducción
¿Qué es el Gradiente Descendente?
Método iterativo para minimizar funciones.
Usado en machine learning, IA y optimización.
Idea: Moverse en la dirección opuesta al gradiente.
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 2 / 12
Introducción
Base Matemática
Gradiente
El gradiente ∇f (x) apunta hacia la dirección de máximo crecimiento.
Para minimizar f (x):
xk+1 = xk − α∇f (xk )
α: Tasa de aprendizaje (learning rate).
∇f (xk ): Gradiente en xk .
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 3 / 12
Introducción
Fundamentos Teóricos
Teorema de Taylor (1er orden)
Para f diferenciable:
f (xk+1 ) ≈ f (xk ) + ∇f (xk )T (xk+1 − xk )
Elegir xk+1 = xk − α∇f (xk ) garantiza:
f (xk+1 ) < f (xk ) si α es suficientemente pequeño.
Convergencia garantizada para funciones convexas y α adecuado.
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 4 / 12
Introducción
Condiciones de Convergencia
Theorem (Convergencia para funciones convexas)
Si:
f es convexa y L-Lipschitz (∥∇f (x)∥ ≤ L),
α ∈ (0, L2 ),
entonces el método converge al mínimo global.
No convexidad
En problemas no convexos (ej: redes neuronales), puede quedar atrapado en mínimos
locales.
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 5 / 12
Introducción
Algoritmo Básico
1. Inicializar x0 y α.
2. Calcular ∇f (xk ).
3. Actualizar: xk+1 = xk − α∇f (xk ).
4. Repetir hasta convergencia.
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 6 / 12
Introducción
Ejemplo en 1D: f (x) = (x − 3)2
Mínimo en x = 3.
Gradiente: ∇f (x) = 2(x − 3).
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 7 / 12
Introducción
Implementación en Julia
function gradient_descent(f, ∇f, x0, α; max_iter=1000, tol=1e-6)
x = x0
for i in 1:max_iter
grad = ∇f(x)
x_new = x - α * grad
if abs(x_new - x) < tol
println("Convergencia en iteración $i")
return x_new
end
x = x_new
end
println("Máximo de iteraciones alcanzado")
return x
end
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 8 / 12
Introducción
Importancia de α
α muy pequeño ⇒ Convergencia lenta.
α muy grande ⇒ Divergencia.
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 9 / 12
Introducción
Variantes Comunes
Momentum: Acelera convergencia.
Estocástico (SGD): Usa subconjuntos de datos.
Adam: Combina momentum y adaptación de α.
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 10 / 12
Introducción
Aplicaciones
Regresión lineal/logística.
Redes neuronales.
Ajuste de modelos físicos.
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 11 / 12
Introducción
Conclusiones
Método fundamental en optimización.
Simple pero poderoso (con hiperparámetros adecuados).
Base para algoritmos más avanzados (Adam, RMSprop).
¿Preguntas?
Prof. Cristian Mejía Cortés Método del Gradiente Descendente 12 / 12