Evaluando qué tan bien un modelo explica los datos
La verosimilitud (likelihood) es un concepto central en estadística y machine learning que mide qué tan probable es observar los datos dados ciertos parámetros del modelo.
👉 Es la base de muchos métodos de entrenamiento, incluyendo la máxima verosimilitud (MLE) y la log-likelihood usada en redes neuronales.
Definición corta
La verosimilitud mide qué tan bien un modelo con ciertos parámetros explica los datos observados.
Definición detallada
Dado un modelo con parámetros θ y datos X:
👉 Es la probabilidad de los datos condicionada al modelo.
Intuición
La verosimilitud responde:
👉 “Si mi modelo fuera correcto, ¿qué tan probable sería observar estos datos?”
Diferencia clave
| Concepto | Significado |
|---|---|
| Probabilidad | (P(\theta |
| Verosimilitud | (P(X |
👉 En ML:
- Datos → fijos
- Parámetros → variables
Ejemplo simple
Supongamos una moneda:θ=probabilidad de cara
Observamos:
cara, cara, cruz
Verosimilitud:
👉 Queremos encontrar el que maximiza esto.
Máxima verosimilitud (MLE)
👉 Elegimos los parámetros que hacen los datos más probables.
Log-verosimilitud
En la práctica se usa:
👉 Ventajas:
- Evita underflow numérico
- Convierte productos en sumas
Verosimilitud en redes neuronales
🔹 1. Entrenamiento de modelos
Maximizar verosimilitud ≈ minimizar pérdida.
🔹 2. Clasificación
Softmax produce probabilidades:
👉 se maximiza la probabilidad de la clase correcta.
🔹 3. Regresión
Modelo gaussiano:
👉 maximizar verosimilitud → minimizar error cuadrático.
🔹 4. Modelos generativos
Evalúan:
👉 qué tan probable es generar datos reales.
Ejemplo paso a paso
Datos:
Modelo:
Verosimilitud:
Log-verosimilitud:
Relación con otros conceptos
- Probabilidad
- Entropía
- Cross-entropy
- Divergencia KL
- Distribuciones
Ejemplo en Python
import numpy as np# Datos observadosdata = [1, 1, 0]# Probabilidad de caratheta = 0.7likelihood = (theta**2) * (1 - theta)print("Likelihood:", likelihood)
Ejemplo con log-likelihood
import numpy as npdata = [1, 1, 0]theta = 0.7log_likelihood = 2*np.log(theta) + np.log(1 - theta)print("Log-Likelihood:", log_likelihood)
Ejemplo en PyTorch (clasificación)
import torchimport torch.nn.functional as F# Predicciónlogits = torch.tensor([2.0, 1.0])probs = F.softmax(logits, dim=0)# Clase correctatarget = torch.tensor([1.0, 0.0])# Log-likelihoodlog_likelihood = torch.sum(target * torch.log(probs))print("Log-Likelihood:", log_likelihood.item())
Ejemplo con pérdida (NLL)
import torchimport torch.nn.functional as Flogits = torch.tensor([[2.0, 1.0]])target = torch.tensor([0])loss = F.cross_entropy(logits, target)print("Cross-Entropy Loss:", loss.item())
Qué muestra este ejemplo
- Maximizar likelihood = minimizar pérdida
- Base de entrenamiento en deep learning
- Relación directa con cross-entropy
Errores comunes
Confundir probabilidad y verosimilitud
Son conceptos distintos.
Multiplicar muchas probabilidades
Puede causar underflow → usar log.
Interpretar likelihood como probabilidad absoluta
Es relativa a los parámetros.
Ejemplo conceptual en ML
Modelo A → likelihood alta
Modelo B → likelihood baja
👉 Modelo A explica mejor los datos.
Interpretación profunda
La verosimilitud permite:
- evaluar modelos
- ajustar parámetros
- entrenar redes neuronales
- conectar probabilidad con optimización
👉 Es el puente entre datos y aprendizaje.
Conclusión
La verosimilitud (likelihood) es uno de los conceptos más importantes en machine learning, ya que define cómo evaluamos y entrenamos modelos. Maximizarla equivale a encontrar el modelo que mejor explica los datos.
👉 Entender likelihood es entender cómo aprenden los modelos.
Related Concepts
- Probabilidad
- Entropía
- Cross-entropy
- Divergencia KL
- Distribuciones
- Optimización