Calculadora de divergencia KL (Kullback-Leibler)
Divergencia de Kullback-Leibler entre dos distribuciones discretas en ambos sentidos, más divergencia de Jensen-Shannon, entropía cruzada y entropía, en nats, bits o hartleys.
Cómo funciona
D_KL(P‖Q) = Σ pᵢ·log(pᵢ/qᵢ); JS = ½D_KL(P‖M) + ½D_KL(Q‖M), M = (P + Q)/2; H(P, Q) = H(P) + D_KL(P‖Q); H(P) = −Σ pᵢ log pᵢ
La divergencia de Kullback-Leibler mide cuánta información se pierde al usar Q para aproximar P: los bits (o nats) adicionales que se necesitan en promedio para codificar muestras de P con un código diseñado para Q. Vale cero solo si las distribuciones son idénticas, no es simétrica y se vuelve infinita si Q asigna probabilidad cero a algo que P permite. La divergencia de Jensen-Shannon es una alternativa suavizada, simétrica y siempre finita. Los valores coinciden con scipy.stats.entropy(P, Q).
Ejemplo resuelto
Con P = (0.36, 0.48, 0.16) frente a una Q casi uniforme (0.333, 0.333, 0.334): D_KL(P ‖ Q) = 0.0858 nats, la inversa D_KL(Q ‖ P) = 0.0981 nats y la divergencia de Jensen-Shannon es 0.0226 nats.
Fuentes: Kullback & Leibler (1951), On information and sufficiency, Annals of Mathematical Statistics · SciPy — scipy.stats.entropy
Preguntas frecuentes
¿Por qué la divergencia KL no es simétrica?
D_KL(P‖Q) pondera el logaritmo del cociente con P, así que penaliza a Q por no cubrir resultados probables bajo P; el sentido inverso penaliza lo contrario. Si necesitas una medida simétrica, usa Jensen-Shannon.
¿Por qué obtengo infinito?
Q asigna probabilidad 0 a un resultado que tiene probabilidad positiva bajo P. Suma un pequeño conteo de suavizado a Q (por ejemplo +1 a cada conteo) si ese cero no es realista.
¿Qué relación tiene la divergencia KL con la pérdida de entropía cruzada?
La entropía cruzada H(P, Q) = H(P) + D_KL(P‖Q). Como H(P) de las etiquetas reales es fija, minimizar la entropía cruzada equivale a minimizar la divergencia KL.
¿Nats, bits o hartleys?
Solo cambia la base del logaritmo: 1 nat = 1.4427 bits = 0.4343 hartleys. Las bibliotecas de aprendizaje automático suelen reportar nats.
Calculadoras relacionadas
Esta calculadora tiene fines informativos. Verifica los resultados importantes antes de tomar decisiones.