Hay un alumno que se sabe de memoria todas las respuestas de las guías del año, palabra por palabra, pero en la prueba —con preguntas nuevas— se congela. Hay otro que apenas leyó el título del capítulo y responde cualquier cosa. Los dos van a sacar mala nota, por razones opuestas. Un modelo de aprendizaje automático puede fallar exactamente de esas dos maneras, y entender cuál de las dos te está pasando es una de las habilidades más importantes de todo el oficio.
Underfitting y overfitting
- Underfitting (subajuste): el modelo es demasiado simple para el patrón real. Como el alumno que no estudió: se equivoca hasta en los datos de entrenamiento. Una recta tratando de seguir una curva.
- Overfitting (sobreajuste): el modelo es tan flexible que se aprende los datos de entrenamiento de memoria, incluido el ruido. Brilla en el entrenamiento y fracasa con datos nuevos, como el alumno que memorizó las guías.
El punto justo —el "buen alumno"— está en el medio: captura el patrón real sin memorizar el ruido.
Las dos culpas: sesgo y varianza
Detrás de esos dos fracasos hay dos fuentes de error con nombre propio:
- Sesgo (bias): el error por suposiciones demasiado simples. Un modelo con sesgo alto ignora estructura real de los datos → underfitting.
- Varianza (variance): cuánto cambia el modelo si le cambias un poco los datos de entrenamiento. Varianza alta significa que el modelo persigue el ruido y es inestable → overfitting.
La forma clásica de imaginarlo es un tiro al blanco. Sesgo alto: todos los tiros agrupados pero lejos del centro (consistente y equivocado). Varianza alta: tiros dispersos por todo el tablero (a veces aciertas, pero por azar).
El tradeoff: no puedes minimizar las dos a la vez
Aquí está la tensión central. Si haces el modelo más complejo (más variables, más profundidad, más capas), baja el sesgo pero sube la varianza. Si lo haces más simple, baja la varianza pero sube el sesgo. El error total tiene forma de U:
El ruido irreducible es el que ninguna modelo puede eliminar (el mundo tiene azar). Tu trabajo es encontrar la complejidad que minimiza la suma de los otros dos: ni tan simple que subajuste, ni tan flexible que sobreajuste.
Cómo lo diagnosticas en la práctica
La señal está en comparar el error de entrenamiento con el de validación (datos que el modelo no vio):
| Error entrenamiento | Error validación | Diagnóstico |
|---|---|---|
| Alto | Alto | Underfitting (sesgo alto) |
| Bajo | Alto | Overfitting (varianza alta) |
| Bajo | Bajo | Buen ajuste 🎯 |
Por eso nunca evaluamos sobre los datos de entrenamiento: es justo la brecha entre ambos errores lo que delata el sobreajuste. Para medir esa brecha con honestidad se usa la validación cruzada.
Qué hacer con cada caso
- Si hay underfitting: dale más poder al modelo —más variables, más complejidad—, entrénalo más, o mejora las features.
- Si hay overfitting: simplifica, consigue más datos, o aplica regularización para penalizar la complejidad. Reducir la varianza a cambio de un poco de sesgo suele ser un gran negocio.
Interiorizar este equilibrio cambia la forma de trabajar: dejas de perseguir el modelo que "acierta todo en entrenamiento" —ese es justo el que va a fallar— y empiezas a buscar el que generaliza a lo que todavía no ha visto.
