Midiendo la diferencia entre distribuciones de probabilidad
La Divergencia KL (Kullback–Leibler) es una medida que cuantifica cuánto difiere una distribución de probabilidad de otra. Es un concepto central en teoría de la información y juega un papel clave en machine learning, modelos probabilísticos y redes neuronales.
👉 En esencia, responde:
“¿Cuánta información se pierde al aproximar una distribución con otra?”
Definición corta
La divergencia KL mide la diferencia entre dos distribuciones de probabilidad.
Definición detallada
Dadas dos distribuciones P (real) y Q (aproximación):
👉 También en forma continua:
Interpretación
| Valor | Significado |
|---|---|
| 0 | distribuciones idénticas |
| > 0 | diferencia creciente |
| ∞ | muy diferentes |
👉 Importante:
👉 No es simétrica.
Intuición
La divergencia KL mide:
👉 “¿Qué tan mala es mi aproximación Q si la realidad es P?”
Ejemplo
- P: datos reales
- Q: modelo
👉 KL mide el error de esa aproximación.
Relación con entropía
👉 Donde:
- H(P) = entropía
- H(P,Q) = cross-entropy
👉 KL = diferencia entre:
- lo que el modelo cree
- lo que realmente ocurre
Ejemplo paso a paso
DKL(P∣∣Q)=0.5log0.90.5+0.5log0.10.5
👉 Resultado positivo → diferencia significativa.
Propiedades clave
- Siempre ≥ 0
- No simétrica
- No es una distancia real
- Sensible a probabilidades pequeñas
Divergencia KL en redes neuronales
🔹 1. Función de pérdida
Usada en:
- clasificación
- modelos probabilísticos
🔹 2. Variational Autoencoders (VAE)
Loss=Reconstruccioˊn+DKL
👉 Regulariza el espacio latente.
🔹 3. RLHF (Reinforcement Learning)
Se usa para:
👉 penalizar desviaciones del modelo original
🔹 4. Comparación de distribuciones
Evalúa:
- modelos generativos
- aproximaciones probabilísticas
Ejemplo conceptual
P (real): [0.7, 0.3]
Q (modelo): [0.6, 0.4]
👉 KL mide cuánto se aleja Q de P
Relación con otros conceptos
- Entropía
- Cross-entropy
- Probabilidad
- Distribuciones
- VAE
Ejemplo en Python
import numpy as npP = np.array([0.5, 0.5])Q = np.array([0.9, 0.1])kl = np.sum(P * np.log(P / Q))print("Divergencia KL:", kl)