Midiendo la incertidumbre en datos y modelos
La entropía es una medida fundamental de la teoría de la información que cuantifica la incertidumbre o imprevisibilidad de una variable aleatoria. En machine learning y redes neuronales, es clave para entender distribuciones, pérdida de información y funciones de coste como la cross-entropy.
👉 En esencia, la entropía responde:
“¿Cuánta información (o sorpresa) hay en un sistema?”
Definición corta
La entropía mide el nivel de incertidumbre o desorden en una distribución de probabilidad.
Definición detallada
Dada una variable aleatoria discreta con probabilidades p(x):
👉 Donde:
- H(X) = entropía
- p(xi) = probabilidad del evento
Interpretación
| Distribución | Entropía |
|---|---|
| Determinista (una opción) | Baja (≈ 0) |
| Uniforme | Alta |
| Desbalanceada | Media |
Intuición
La entropía mide:
👉 “¿Qué tan difícil es predecir el resultado?”
Ejemplos
- Moneda justa → alta entropía
- Moneda cargada (99% cara) → baja entropía
👉 Más incertidumbre = más información.
Interpretación conceptual
- Alta entropía → caos / incertidumbre
- Baja entropía → orden / certeza
Ejemplo paso a paso
Caso 1: distribución uniforme
Caso 2: distribución sesgada
👉 Menos incertidumbre → menor entropía.
Relación con otros conceptos
- Probabilidad
- Distribución
- Información
- Cross-entropy
- Divergencia KL
Entropía en redes neuronales
🔹 1. Función de pérdida (Cross-Entropy)
👉 Mide qué tan bien el modelo predice probabilidades.
🔹 2. Clasificación
Salidas tipo softmax:
👉 entropía mide confianza del modelo.
🔹 3. Regularización
Modelos con baja entropía:
👉 más seguros pero menos exploratorios
🔹 4. Aprendizaje por refuerzo
Se usa para:
- incentivar exploración
- evitar políticas deterministas
Ejemplo en clasificación
Predicción: [0.9, 0.1] → baja entropía (alta confianza)
Predicción: [0.5, 0.5] → alta entropía (incertidumbre)
Entropía vs información
👉 Eventos raros → más información.
Ejemplo en Python
import numpy as npp = np.array([0.5, 0.5])entropy = -np.sum(p * np.log2(p))print("Entropía:", entropy)
Ejemplo con diferentes distribuciones
import numpy as npp1 = np.array([0.5, 0.5])p2 = np.array([0.9, 0.1])H1 = -np.sum(p1 * np.log2(p1))H2 = -np.sum(p2 * np.log2(p2))print("Uniforme:", H1)print("Sesgada:", H2)
Ejemplo en PyTorch
import torchp = torch.tensor([0.5, 0.5])entropy = -torch.sum(p * torch.log2(p))print("Entropía:", entropy.item())
Ejemplo: Cross-Entropy
import torchimport torch.nn.functional as F# Prediccióny_pred = torch.tensor([0.9, 0.1])# Etiqueta realy_true = torch.tensor([1.0, 0.0])loss = -torch.sum(y_true * torch.log(y_pred))print("Cross-Entropy:", loss.item())
Ejemplo con softmax
import torchimport torch.nn.functional as Flogits = torch.tensor([2.0, 1.0])probs = F.softmax(logits, dim=0)entropy = -torch.sum(probs * torch.log(probs))print("Probabilidades:", probs)print("Entropía:", entropy.item())
Qué muestra este ejemplo
- Entropía mide incertidumbre
- Cross-entropy mide error
- Relación directa con probabilidades
Errores comunes
Usar log base incorrecta
Puede cambiar escala (log vs log2).
Confundir entropía con pérdida
No siempre son lo mismo.
Ignorar probabilidades cero
log(0) no está definido.
Ejemplo conceptual en ML
Modelo seguro → baja entropía
Modelo indeciso → alta entropía
Interpretación profunda
La entropía permite:
- cuantificar incertidumbre
- medir información
- optimizar modelos probabilísticos
- diseñar funciones de pérdida
👉 Es uno de los conceptos más fundamentales en AI moderna.
Conclusión
La entropía (información) es la base para medir incertidumbre en sistemas probabilísticos. Es esencial en clasificación, optimización y teoría de la información.
👉 Entender entropía es entender cómo los modelos manejan la incertidumbre.
Related Concepts
- Probabilidad
- Distribución normal
- Cross-entropy
- Divergencia KL
- Información
- Optimización