Tema
Entropía y divergencia de Kullback y Leibler
- Matemáticas para IA
- Nivel avanzado
La entropía mide la incertidumbre media de una distribución en bits, y la divergencia de Kullback y Leibler mide cuántos bits se desperdician al codificar una distribución con el código óptimo de otra.
Nombre en inglés
Entropy and KL divergence
Intuición
Una moneda honesta necesita un bit por lanzamiento porque no hay nada que ahorrar, mientras que una moneda cargada al 90 % se codifica con menos de medio bit por lanzamiento. La divergencia es el precio del error de modelo: Si el código se diseña creyendo que la moneda es honesta y en realidad está cargada, cada mensaje sale más largo de lo necesario. Un árbol de decisión parte por el atributo que más entropía elimina.
Fórmula
H(p) = - sum_x p(x) log2 p(x) ; KL(p || q) = sum_x p(x) log2 (p(x) / q(x)) ; H(p, q) = H(p) + KL(p || q)
Ejemplo resuelto
Una moneda honesta tiene entropía igual a 1 bit. Una moneda con probabilidad 0.9 de cara tiene entropía 0.469 bits, bastante menos. Un conjunto con nueve ejemplos positivos y uno negativo comparte esa misma entropía de 0.469 bits, de modo que ya está casi puro y partirlo aporta poco.
Errores frecuentes
- Tratar la divergencia como una distancia: No es simétrica y no cumple la desigualdad triangular, razón por la que comparar p con q no da lo mismo que comparar q con p.
- Mezclar bits y nats sin decirlo: Con logaritmo en base 2 se obtienen bits y con logaritmo natural nats, y el factor entre ambos vale 0.693.
- Dejar una probabilidad cero en el denominador: La divergencia se vuelve infinita, motivo por el cual se suaviza la distribución antes de compararla.
Ejercicio
¿Cuál es la entropía en bits de una variable con cuatro valores igualmente probables?
Ver la solución
Cada valor tiene probabilidad 0.25 y aporta 0.25 por el logaritmo en base 2 de 4, es decir 0.5 bits, y hay cuatro valores que aportan lo mismo.
Respuesta: 2