La matriz que describe la curvatura de una función
El Hessiano es una matriz que contiene todas las segundas derivadas parciales de una función multivariable. Describe cómo cambia la pendiente (gradiente), es decir, la curvatura de la función.
👉 Es fundamental para entender la forma de la superficie de pérdida en machine learning.
Definición corta
El Hessiano es una matriz de segundas derivadas que describe la curvatura de una función.
Definición detallada
Para una función f(x1,x2,…,xn), el Hessiano es:
👉 Es una matriz cuadrada de tamaño n×n.
Intuición
El Hessiano responde:
👉 “¿Cómo cambia la pendiente en diferentes direcciones?”
Interpretación
- Gradiente → dirección
- Hessiano → forma
Gradiente → inclinación
Hessiano → curvatura
Interpretación geométrica
- describe si la función es convexa o no
- indica si estamos en un valle, colina o silla
Clasificación con el Hessiano
| Tipo | Condición |
|---|---|
| Mínimo | Hessiano positivo definido |
| Máximo | Hessiano negativo definido |
| Saddle point | Hessiano indefinido |
Ejemplo simple
Hessiano:
👉 Positivo definido → mínimo.
Relación con otros conceptos
- Gradiente
- Aproximación de Taylor
- Optimización
- Puntos críticos
Hessiano en machine learning
🔹 1. Optimización
Métodos de segundo orden:
- Newton
- L-BFGS
🔹 2. Curvatura de la pérdida
Permite entender:
- estabilidad
- convergencia
🔹 3. Escalado del aprendizaje
Curvatura alta:
👉 requiere pasos pequeños
🔹 4. Saddle points
Detecta regiones problemáticas.
Relación con Taylor
👉 Hessiano captura la curvatura.
Ejemplo conceptual
Superficie plana → Hessiano ≈ 0
Curva pronunciada → Hessiano grande
Ejemplo paso a paso
Hessiano:
👉 Indefinido → punto silla.
Ejemplo en Python
import numpy as np# Hessiano manualH = np.array([ [2, 0], [0, 2]])print("Hessiano:\n", H)
Ejemplo en PyTorch (automático)
import torchfrom torch.autograd.functional import hessiandef f(x): return x[0]**2 + x[1]**2x = torch.tensor([1.0, 2.0])H = hessian(f, x)print("Hessiano:\n", H)
Ejemplo con saddle point
import torchfrom torch.autograd.functional import hessiandef f(x): return x[0]**2 - x[1]**2x = torch.tensor([0.0, 0.0])H = hessian(f, x)print("Hessiano:\n", H)
Qué muestra este ejemplo
- Curvatura de funciones
- Clasificación de puntos
- Uso en ML
Errores comunes
Ignorar el Hessiano
Puede ocultar problemas de convergencia.
Confundir con gradiente
Son conceptos distintos.
Asumir convexidad
No todas las funciones lo son.
Ejemplo conceptual en ML
Superficie de pérdida
↓
Hessiano analiza curvatura
↓
Optimización eficiente
Interpretación profunda
El Hessiano permite:
- analizar curvatura
- mejorar optimización
- detectar mínimos y saddle points
- entender la geometría del aprendizaje
👉 Es clave para comprender cómo se comportan los modelos en profundidad.
Conclusión
El Hessiano describe la curvatura de una función y es esencial para analizar optimización, estabilidad y comportamiento de modelos. Complementa al gradiente y permite entender mejor la superficie de pérdida.
👉 Si el gradiente indica “hacia dónde ir”, el Hessiano indica “cómo es el terreno”.
Related Concepts
- Gradiente
- Aproximación de Taylor
- Optimización
- Puntos críticos
- Descenso de gradiente