Definición
El sobreajuste ocurre cuando un modelo se aprende de memoria los datos con los que lo entrenaste —incluidas sus casualidades y su ruido— en lugar de aprender el patrón general. El resultado es un modelo que borda los ejercicios que ya ha visto y se estrella con cualquier caso nuevo.
La analogía que mejor funciona: un estudiante que se memoriza los exámenes de años anteriores. Si le caen esas mismas preguntas, saca un diez. Si le cambian el enunciado, no sabe por dónde empezar. No aprendió la asignatura, aprendió el examen.
Su contrario es el subajuste (underfitting): un modelo demasiado simple que ni siquiera capta el patrón evidente. Entre los dos está el punto que buscas, y encontrarlo es buena parte del trabajo.
Cómo funciona
El sobreajuste aparece cuando el modelo tiene más capacidad de la que el problema necesita para los datos que tiene. Con parámetros de sobra y pocos ejemplos, lo más fácil para él es memorizar.
Detectarlo es sencillo si separaste bien los datos: se mide el error sobre el conjunto de entrenamiento y sobre el de validación, y se miran las dos curvas a la vez.
- Los dos errores bajan juntos → vas bien.
- El de entrenamiento sigue bajando y el de validación empieza a subir → ahí empezó el sobreajuste. Ese punto de cruce es donde había que parar.
- Los dos se quedan altos → subajuste: el modelo se queda corto.
Es el único diagnóstico fiable, y por eso no hay excusa para entrenar sin apartar un conjunto de validación desde el principio.
Ejemplo práctico
Volvamos al modelo de IMDICA que predice qué presupuestos se cerrarán. Entrenamos con dos mil presupuestos históricos y le metemos muchísimas variables: importe, líneas, familia, cliente, comercial, día de la semana, hora de emisión, número de decimales del importe...
Sale con un 96 % de acierto sobre el histórico. Estupendo. Lo ponemos en producción y baja al 61 %, apenas mejor que tirar una moneda.
Lo que pasó: con dos mil filas y treinta variables, el modelo encontró casualidades. Descubrió, por ejemplo, que los presupuestos emitidos un martes por la tarde por un comercial concreto se cerraban casi siempre — porque resulta que ese comercial hacía los martes las visitas a un cliente grande que compraba de todos modos. Eso no es un patrón, es una anécdota de dos mil filas.
La solución no fue un modelo más potente sino al revés: reducir variables a las ocho que tenían sentido de negocio, y validar contra un trimestre entero que el modelo no había visto nunca. Bajó al 78 % en las pruebas, pero ese 78 % era real y se mantuvo en producción.
Cómo corregirlo
- Más datos. El remedio más eficaz de todos. Con suficientes ejemplos, memorizar deja de ser una opción barata para el modelo.
- Menos capacidad. Menos capas, menos variables, un modelo más simple.
- Regularización. Penalizar los pesos grandes (L1, L2) para que la red no se apoye demasiado en una sola señal.
- Dropout. Apagar al azar un porcentaje de neuronas en cada paso de entrenamiento; obliga a la red a no depender de ninguna en concreto.
- Parada temprana (early stopping). Cortar el entrenamiento en cuanto el error de validación deja de bajar.
- Aumento de datos. Generar variaciones de lo que tienes: girar imágenes, reformular frases.
- Validación cruzada. Rotar qué parte se usa para validar, para no depender de una partición afortunada.
Errores comunes
- Elegir el modelo mirando el conjunto de prueba. En el momento en que lo usas para decidir, deja de ser una medida honesta: has sobreajustado a él.
- Partir los datos al azar cuando hay tiempo de por medio. En series temporales hay que partir por fecha. Si mezclas, el modelo ve el futuro durante el entrenamiento.
- Confundir sobreajuste con fuga de datos. Son distintos: la fuga es haber colado una variable imposible de conocer a tiempo. Los síntomas se parecen, la solución no.
- Celebrar un 99 %. En problemas reales, un acierto altísimo casi siempre es un error de método, no un logro.
Cuándo preocuparte
Siempre que la diferencia entre lo que acierta en entrenamiento y lo que acierta en validación sea grande. Diez puntos ya es señal de alarma; treinta es un modelo que no debe salir a producción.
Y sobre todo: si un modelo te da un resultado demasiado bueno para ser cierto, lo más probable es que no lo sea.