🧮 Computational Mathematics

Inicio · Parte 14 — Matemática de Machine Learning

298 — Bias-variance tradeoff

ml-avanzado clase 18 de 20 4 horas demostración bias_variance

El error se descompone en sesgo, varianza y ruido, y solo los dos primeros se pueden tocar.

Fórmulas

E[(y − ŷ)²] = sesgo² + varianza + ruido
modelo simple: sesgo alto, varianza baja
modelo complejo: sesgo bajo, varianza alta

Desarrollo

El error esperado de predicción se descompone exactamente en tres términos. El sesgo mide el error sistemático por suponer una forma demasiado simple; la varianza mide cuánto cambia la predicción según qué muestra concreta se haya usado para entrenar; y el ruido irreducible es la aleatoriedad de los propios datos, que ningún modelo puede eliminar.

La descomposición explica por qué más complejidad no es siempre mejor. Al aumentar la capacidad del modelo, el sesgo baja pero la varianza sube, y el error total tiene un mínimo en algún punto intermedio. Ese punto es lo que la validación busca, y por eso la curva de error de test tiene forma de U mientras la de entrenamiento solo baja.

Ambos extremos son diagnosticables. Sesgo alto se manifiesta como error alto tanto en entrenamiento como en test: el modelo no puede ni ajustar lo que ve. Varianza alta se manifiesta como error bajo en entrenamiento y alto en test: memoriza en vez de generalizar. Los remedios son opuestos, y confundir el diagnóstico lleva a empeorar el modelo.

Conviene añadir un matiz honesto. En redes muy sobreparametrizadas se observa el fenómeno del doble descenso: pasado el punto de interpolación, el error de test vuelve a bajar, contradiciendo la forma de U clásica. La descomposición sigue siendo válida y es la mejor guía disponible en el régimen habitual, pero no describe todo lo que ocurre en el aprendizaje profundo moderno.

Ejemplo trabajado

Polinomios de distinto grado ajustados a sin(2x).

función real: sin(2x)     punto de prueba: x = 1,0
valor real: 0,909297      120 réplicas de entrenamiento

grado 1:
  predicción media = 0,364146
  sesgo²           = 0,29719     alto
  varianza         = baja
  → subajuste: ni siquiera puede curvarse

grados intermedios:
  sesgo² baja, varianza sube, error total mínimo

grado alto:
  sesgo² ≈ 0
  varianza elevada
  → sobreajuste: cada muestra da una curva distinta

El error total tiene forma de U en el grado.

Qué calcula el laboratorio

Descomposición sesgo-varianza medida por simulación.

python classes/part-14-matematica-de-machine-learning/298-bias-variance-tradeoff/lab.py
compmath run 298

Salidas del laboratorio (8)

Muestra de la ejecución real

{
  "funcion_real": "sin(2x)",
  "punto_de_prueba": 1.0,
  "valor_real": 0.909297,
  "replicas": 120,
  "resultados": {
    "grado_1": {
      "prediccion_media": 0.364146,
      "sesgo²": 0.29719,
      "varianza": 0.028443,
      "error_esperado": 0.365633
    },
    "grado_3": {
      "prediccion_media": 0.859486,
      "sesgo²": 0.002481,
      "varianza": 0.013741,
      "error_esperado": 0.056222
    },
    "grado_9": {
      "prediccion_media": 0.800845,
      "sesgo²": 0.011762,
      "varianza": 1.290559,
      "error_esperado": 1.342321
    }
  },
  "grado_1_alto_sesgo": true
}

Errores comunes

Dónde se usa

Diagnóstico de modelos, elección de capacidad, decisión entre recoger más datos o cambiar de modelo y diseño de curvas de aprendizaje.

Idea rectora de la parte

El kernel trick evita construir el espacio de características explícitamente.

Error a evitar

Interpretar coeficientes de un modelo con features correlacionadas.

Conexión con IA

Estos algoritmos siguen siendo la línea base honesta contra la que se debe comparar cualquier modelo profundo.

Bibliografía de la clase

Archivos de la clase