🧮 Computational Mathematics

Inicio · Parte 13 — Teoría de la información, señales y series

264 — Divergencia KL

avanzado clase 4 de 20 4 horas demostración kl_divergence

KL no es simétrica, y cada dirección castiga un error distinto.

Fórmulas

KL(p‖q) = Σ p·log(p/q) ≥ 0
KL(p‖q) = 0 ⟺ p = q
KL(p‖q) ≠ KL(q‖p);  no cumple la desigualdad triangular

Desarrollo

La divergencia de Kullback-Leibler mide cuánta información se pierde al usar q en lugar de p. Es el exceso de entropía cruzada sobre la entropía: los bits desperdiciados por usar el código equivocado. Es no negativa y vale cero solo si las distribuciones coinciden.

Pese a llamarse divergencia y comportarse en parte como una distancia, no lo es. Le fallan dos propiedades: no es simétrica y no cumple la desigualdad triangular. Escribir «la distancia KL» es un error de vocabulario que arrastra errores de razonamiento.

La asimetría no es un defecto: es información. KL(p‖q) penaliza mucho que q asigne casi cero donde p tiene masa, así que fuerza a q a cubrir todo el soporte de p. Al revés, KL(q‖p) penaliza que q ponga masa donde p no la tiene, y produce soluciones que se concentran en un modo. Se conocen como comportamiento de cobertura y de búsqueda de modo.

Esa diferencia tiene consecuencias visibles. La inferencia variacional minimiza KL(q‖p) y por eso los VAE tienden a producir muestras borrosas concentradas en el modo dominante. Elegir la dirección de la KL no es un detalle técnico: determina el comportamiento cualitativo del modelo resultante.

Ejemplo trabajado

Las dos direcciones sobre las mismas distribuciones.

p = [0,5 ; 0,3 ; 0,2]
q = [0,3 ; 0,4 ; 0,3]

KL(p‖q) = 0,08801517
KL(q‖p) = 0,08346467

No coinciden → no es simétrica                       ✓
KL(p‖p) = 0,0                                        ✓

Asimetría extrema: si q asignara 0,001 donde p tiene 0,5,
  KL(p‖q) se dispara      (castiga no cubrir)
  KL(q‖p) apenas cambia   (no le importa)

Por eso KL(p‖q) fuerza cobertura y KL(q‖p) busca modo.

Qué calcula el laboratorio

KL: no simétrica y no es una distancia.

python classes/part-13-teoria-de-la-informacion-senales-y-series/264-divergencia-kl/lab.py
compmath run 264

Salidas del laboratorio (9)

Muestra de la ejecución real

{
  "p": [
    0.5,
    0.3,
    0.2
  ],
  "q": [
    0.3,
    0.4,
    0.3
  ],
  "KL(p||q)": 0.08801517,
  "KL(q||p)": 0.08346467,
  "simetrica": false,
  "KL(p||p)": 0.0
}

Errores comunes

Dónde se usa

Regularización de VAE, inferencia variacional, destilación de conocimiento, detección de desplazamiento de distribución y PPO en aprendizaje por refuerzo.

Idea rectora de la parte

Nyquist fija la frecuencia mínima de muestreo; por debajo hay aliasing irreversible.

Error a evitar

Calcular log(0) sin epsilon de estabilidad.

Conexión con IA

La función de pérdida de casi todo clasificador es entropía cruzada; el VAE optimiza un ELBO con un término KL; las CNN son convoluciones aprendidas.

Bibliografía de la clase

Archivos de la clase