Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Aprendizaje supervisado, Unidad 9 — Generalización y robustez, 9.1 — Bias vs variance ·

Compromiso fundamental

Compromiso fundamental: Bias vs variance

Introducción

En el campo del aprendizaje supervisado, el compromiso fundamental entre bias y variance es una de las cuestiones más cruciales para lograr modelos eficaces. El bias (sesgo) se refiere a la tendencia constante que tienen los modelos para subestimar o sobreestimar ciertos valores debido a simplificaciones hechas durante su entrenamiento. Por otro lado, el variance (variancia) mide cuánto el modelo cambia con respecto al conjunto de datos de entrenamiento. Un alto bias indica un modelo que es demasiado simplista y carece de capacidad para aprender las características relevantes del problema; en cambio, una alta variancia denota un modelo complejo que puede ajustarse excesivamente a los datos de entrenamiento, lo cual se conoce como overfitting (sobreajuste).

El equilibrio entre bias y variance es vital porque un modelo con alto bias no tiene la capacidad de capturar las patrones en los datos, mientras que uno con alta variancia puede ser muy complejo e incluso memorizar ruido o raras anomalias de los datos. En este artículo, exploraremos cómo entender y controlar el balance entre estos dos conceptos clave para construir modelos predictivos efectivos.

Explicación principal

Definición de Bias vs Variance

El bias es el error que ocurre debido a la simplificación del modelo. Un modelo con alto bias tiende a subestimar o sobreestimar los valores, y esta tendencia persiste incluso en datos no vistos durante el entrenamiento. En términos prácticos, un modelo con alto bias podría omitir patrones importantes en los datos de entrenamiento.

La variancia, por otro lado, mide la variabilidad del error de predicción entre diferentes conjuntos de datos. Un modelo con alta variancia puede ajustarse excesivamente a los datos de entrenamiento y no generalizar bien a nuevos conjuntos de datos. Este fenómeno se conoce como overfitting.

Visualización y Ejemplo

Imagina un conjunto de datos que muestra el precio de una casa en función del tamaño de la vivienda (medido en metros cuadrados). Un modelo con alto bias podría simplemente trazar una línea recta a través de los puntos, ignorando cualquier detalle subyacente. Por otro lado, un modelo con alta variancia ajustaría una curva compleja que siga cada rincón y rara anomalía del conjunto de datos.

import numpy as np
import matplotlib.pyplot as plt

# Generar datos ficticios
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)

# Modelos con alto bias (recta simple) y alta variancia (curva compleja)
X_train = np.array([[0.5], [2.0]])
y_train_high_bias = 4 + 3 * X_train
y_train_low_variance = 4 + 3 * X_train + np.random.randn(2, 1)

# Gráficos
plt.figure(figsize=(12, 6))

plt.subplot(1, 2, 1)
plt.scatter(X, y, label='Datos reales')
plt.plot(X_train, y_train_high_bias, 'r-', label='Modelo con alto bias')
plt.title('Bias alto')
plt.legend()

plt.subplot(1, 2, 2)
plt.scatter(X, y, label='Datos reales')
plt.plot(X_train, y_train_low_variance, 'b--', label='Modelo con alta variancia')
plt.title('Variancia alta')
plt.legend()

plt.show()

Errores típicos / trampas

  1. Sobreajuste (overfitting): Un modelo que tiene una alta variancia puede ajustarse demasiado a los datos de entrenamiento y generalmente dará malas predicciones en conjuntos de datos no vistos. Esto es especialmente problemático cuando se usan modelos complejos como arboles de decisión o redes neuronales.
  1. Subajuste (underfitting): Un modelo con alto bias puede omitir patrones importantes y no generalizar bien a nuevos datos. Este problema suele ser más comunes en problemas donde el conjunto de datos es pequeño o la relación entre las variables predictivas y la variable objetivo es compleja.
  1. Efecto del tamaño del conjunto de datos: El tamaño y la calidad del conjunto de datos pueden afectar significativamente el balance bias-variance. Un conjunto de datos muy pequeños puede llevar a un modelo con alta variancia, mientras que uno grande puede ayudar a reducir tanto el bias como la variancia.

Checklist accionable

  1. Validación cruzada: Utiliza técnicas de validación cruzada para evaluar la generalización del modelo en varios conjuntos de datos.
  2. Regularización: Aplica regularización (como L1, L2) en modelos lineales para penalizar complejidad innecesaria y reducir overfitting.
  3. Cross-decomposition: Utiliza técnicas como PCA o PLS para reducir la dimensionalidad del conjunto de datos, lo que puede ayudar a reducir el bias y la variancia.
  4. Ejemplos simplificados: Comienza con modelos simplistas (como regresión lineal) y progresivamente aumenta la complejidad hasta encontrar el equilibrio óptimo entre bias y variancia.
  5. Visualización de datos: Visualiza los datos para detectar posibles patrones o anormalidades que puedan afectar a la calidad del modelo.
  6. Monitorización del rendimiento: Monitorea constantemente el rendimiento del modelo en nuevos conjuntos de datos para prevenir overfitting y ajustarlo si es necesario.

Cierre

Siguientes pasos

  1. Aprender más sobre validación cruzada: Estudia cómo funciona la validación cruzada y cómo aplicarla a diferentes conjuntos de datos.
  2. Experimenta con modelos lineales vs no lineales: Aprende a diferenciar entre los modelos lineales y no lineales y experimenta con ambos para entender cuándo son más adecuados.
  3. Explora técnicas de regularización: Familiarízate con diferentes técnicas de regularización (L1, L2) y cómo aplicarlas en diferentes contextos.

Al comprender y equilibrar el bias y la variancia, puedes construir modelos predictivos más robustos que no solo se ajustan a los datos de entrenamiento sino también generalizan efectivamente a nuevos conjuntos de datos.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).