Overfitting vs Underfitting: guía completa con señales, causas y soluciones

Última actualización: 11/23/2025
  • Overfitting: alta varianza, memoriza el entrenamiento y falla en datos nuevos; se corrige con regularización, validación, poda, dropout, más datos y early stopping.
  • Underfitting: alto sesgo, incapaz de aprender patrones; se mitiga con más complejidad, más épocas, mejor ingeniería de características y menos regularización.
  • Sesgo–varianza: equilibrio crítico; complejidad reduce sesgo pero aumenta varianza, y viceversa.
  • Prácticas clave: calidad de datos, normalización, monitorizar drift, k-fold, ensambles (bagging/boosting) y transfer learning.

Comparativa overfitting underfitting

Cuando entrenamos modelos de machine learning, buscamos algo muy claro: que funcionen bien con los datos que ya han visto y, sobre todo, con datos nuevos. Ese equilibrio entre aprender de verdad y generalizar sin memorizar es la diferencia entre un prototipo vistoso y un sistema fiable en producción.

El problema es que alcanzar ese punto intermedio no es trivial. Dos fallos clásicos lo entorpecen: overfitting (sobreajuste) y underfitting (subajuste). El primero aparece cuando el modelo se pega tanto a los datos de entrenamiento que confunde el ruido con la señal; el segundo, cuando el modelo es tan simple (o está tan limitado) que ni siquiera capta los patrones básicos. En las siguientes secciones vas a ver las causas, señales, ejemplos, la relación con el sesgo y la varianza, y un arsenal de técnicas prácticas para corregir cada caso.

Qué son overfitting y underfitting

Un modelo con overfitting aprende demasiado de su conjunto de entrenamiento, incluyendo peculiaridades y outliers que no se repiten. Rinde de lujo en entrenamiento y flojea en validación o test. Es como un estudiante que se aprende las respuestas de memoria: clava el simulacro, pero en el examen real se pierde.

El underfitting es la cara opuesta. El modelo es incapaz de capturar la estructura del problema: rinde mal tanto en entrenamiento como en test. Imagina ajustar una recta a datos que siguen una curva; por muy bien que la estires, no va a encajar bien. El subajuste suele venir acompañado de alto sesgo y baja varianza.

En la práctica, medimos estas situaciones con métricas en los distintos conjuntos. Diferencias grandes entre el rendimiento en entrenamiento y validación delatan sobreajuste, mientras que resultados pobres en ambos sugieren subajuste. Además, revisar la pérdida durante el entrenamiento suele dar pistas adicionales.

Sesgo y varianza: el equilibrio delicado

Dos fuentes de error mandan aquí: sesgo (bias) y varianza (análisis de varianza). El sesgo sube cuando el modelo hace suposiciones demasiado fuertes (excesiva simplicidad), lo que se traduce en underfitting. La varianza sube cuando el modelo es muy sensible a pequeñas fluctuaciones del conjunto de entrenamiento, lo que se traduce en overfitting.

El famoso trade-off sesgo-varianza te obliga a encontrar un punto intermedio. Al incrementar la complejidad, suele bajar el sesgo pero sube la varianza; simplificando, ocurre lo contrario. A lo largo del entrenamiento, el sesgo tiende a disminuir mientras la varianza puede crecer, así que conviene vigilar el comportamiento en validación y no entrenar a ciegas indefinidamente.

Ejemplo rápido: predicción de precios de vivienda. Una recta (alto sesgo) puede quedarse corta si la relación es curvilínea (underfitting); un polinomio de grado 4 que toque cada punto puede capturar el ruido (alta varianza, overfitting); una curva suave de complejidad moderada (por ejemplo, un polinomio de grado 2 bien regularizado) suele dar el mejor compromiso.

Gráfico de ajuste y generalización

Cómo identificar cada problema

Las señales típicas del sobreajuste incluyen: precisión altísima en entrenamiento y claramente inferior en test; pérdida de entrenamiento bajando mientras la pérdida de validación empieza a subir; sensibilidad extrema a pequeños cambios en la entrada; y que modelos más complejos “ganen” en entrenamiento pero no mejoren la generalización.

Para el subajuste, fíjate en métricas mediocres en ambos conjuntos y en aprendizaje estancado: si tras varias épocas no mejora la puntuación, quizá el modelo no tiene capacidad suficiente. Otro síntoma típico son predicciones demasiado generalistas: un clasificador que siempre predice la clase mayoritaria o un regresor que apenas se aleja de la media.

La validación cruzada ayuda a ver el cuadro completo. Una alta variabilidad entre pliegues (folds) suele apuntar a overfitting. Coherencia en la mediocridad, en cambio, huele a underfitting. Valen tanto para accuracy como para errores de predicción (MAE, MSE) o métricas específicas de la tarea.

Causas habituales de overfitting

La primera sospechosa es la complejidad. Modelos con demasiados parámetros para la cantidad y diversidad de datos disponibles tienden a aprender peculiaridades locales. También influye entrenar durante demasiado tiempo sin control: si no aplicas parada temprana, el modelo puede pasar de aprender patrones a memorizar.

Otra vía de sobreajuste es la ingeniería de variables sin control: demasiadas características irrelevantes o muy correlacionadas empujan al modelo a ver relaciones fantasma. Conjuntos pequeños o poco representativos empeoran el problema porque la muestra no enseña suficiente variación como para que el modelo generalice.

En redes neuronales profundas, la gran capacidad de representación es un arma de doble filo. Sin regularización y datos suficientes, las redes tienden a sobreajustar con facilidad. Incluso aspectos como un tamaño de lote (batch size) demasiado grande pueden contribuir a memorizar patrones con exceso de precisión.

Causas habituales de underfitting

El subajuste suele venir de modelos excesivamente simples para la complejidad del problema (por ejemplo, lineales sobre relaciones no lineales). Las regularizaciones demasiado fuertes (L1/L2) también pueden “ahogar” el aprendizaje obligando a soluciones excesivamente simples.

Otro factor es la falta de información útil en las entradas. Si las características no recogen los factores relevantes, el modelo no puede aspirar a aprenderlos. Escalados inadecuados o ausencia de normalización/estandarización pueden dificultar la optimización y traducirse en un aprendizaje pobre que parece underfitting.

Por último, también se da cuando no se entrena el tiempo suficiente (muy pocas épocas o iteraciones), cuando se retiró el modelo con parada temprana demasiado pronto, o cuando la calidad de los datos impide aprender los patrones de fondo por ruido excesivo.

Ejemplos cotidianos para entenderlo

Imagen y visión: si una red para dígitos manuscritos memoriza píxeles concretos, puede clavar el entrenamiento y fallar con dígitos escritos de otra manera (overfitting). Con técnicas como data augmentation (rotaciones, volteos) se favorece la generalización.

Finanzas: un modelo de series temporales puede seguir cambios aleatorios del pasado que no se repiten en el futuro si está sobreajustado. Con underfitting, ni capta ciclos ni reacciona a cambios estructurales.

Un ejemplo curioso de sobreajuste es entrenar un robot de baloncesto a imitar hasta el último detalle de un jugador concreto. El robot lo hace perfecto en secuencias conocidas, pero se queda vendido ante jugadas nuevas. Falta generalización fuera del guion.

En meteorología, intentar predecir lluvia solo con temperatura deja fuera humedad, viento o presión. Esa pobreza de variables conduce a underfitting: el modelo da palos de ciego aunque veas que baja el termómetro.

Por qué el sobreajuste puede ser “peor” que el subajuste

Hay un matiz teórico importante. Un modelo subajustado extremo podría dar siempre una constante, ignorando el input: su error en test rondaría la varianza de la variable objetivo. En cambio, un modelo sobreajustado que interpola todos los puntos del entrenamiento puede generar picos espurios entre muestras y disparar el error en test de forma potencialmente descomunal.

Esto puede verse con polinomios de alto grado o incluso con redes MLP sobreparametrizadas: al ajustarse a cada punto, “oscilan” entre observaciones y crean valores absurdos fuera de la muestra. El resultado es que la degradación del rendimiento fuera de entrenamiento no tiene un tope claro.

Overfitting vs sobreparametrización: no son lo mismo

Conviene diferenciar términos. Sobreparametrización significa que la clase de modelos tiene más capacidad de la necesaria para representar la estructura del problema. Overfitting ocurre cuando, dado un modelo concreto, lo optimizas de forma que rinde mejor en entrenamiento pero peor en generalización. Con regularización adecuada, es posible tener un modelo sobreparametrizado que no sobreajuste. Las técnicas de regularización (por ejemplo, ridge o lasso) ayudan a “desacoplar” ambos conceptos.

Cómo evaluar y monitorizar el ajuste

Divide el flujo en entrenamiento, validación y prueba. Mira accuracy, errores o la métrica que toque en cada segmento. Si el entrenamiento va bien pero la validación cae, sospecha de sobreajuste; si los dos van mal, probablemente falta capacidad o datos.

La validación cruzada (k-fold) reduce el riesgo de sacar conclusiones de una sola partición. Si la media de validación es estable y la desviación entre pliegues es baja, hay más garantías de que el modelo generaliza. También es clave definir un conjunto de evaluación final (test) que no se toque durante el ajuste de hiperparámetros.

Además, vigila la distribución de los datos en el tiempo. El data drift (cambios en la distribución de entrada) puede convertir en inservible un modelo que ayer funcionaba: monitorizar y reentrenar periódicamente es parte de la receta, no un lujo.

Técnicas para reducir overfitting

Datos y más datos. Aumentar el volumen y la diversidad del entrenamiento ayuda a que el modelo aprenda patrones de fondo en lugar de detalles accidentales. Eso sí, mejor calidad que cantidad: depurar outliers cuando distorsionan y corregir errores es prioritario.

Regularización. L1 (lasso) favorece la selección de características al llevar pesos a cero; L2 (ridge) reparte la penalización encogiendo los pesos sin anularlos. Elastic Net combina ambas y muchas veces es un buen término medio.

Arquitectura y entrenamiento. Dropout en redes neuronales apaga neuronas aleatoriamente y evita que el modelo dependa de rutas demasiado específicas. En árboles, la poda (pruning) y limitar profundidad o número de hojas recorta la complejidad. Parada temprana: monitoriza la pérdida de validación y corta cuando deje de mejorar.

Validación y selección. k-fold cross-validation para validar decisiones de ajuste y evitar escoger el “mejor” modelo solo por suerte. Reducir el número de variables o elegir mejor cuáles entran puede bajar la varianza y mejorar la interpretabilidad.

Optimización y lotes. Lotes pequeños introducen ruido “saludable” en el gradiente, lo que a menudo mejora la generalización; lotes gigantes pueden favorecer el sobreajuste al seguir trayectorias de optimización demasiado precisas al paisaje de entrenamiento.

Técnicas para reducir underfitting

Capacidad del modelo. Sube la complejidad si los datos lo exigen (polinómico en vez de lineal, árboles más profundos, redes menos superficiales). La clave está en no pasarse de frenada y acompañarlo de validaciones sólidas.

Regularización y tiempo. Si estás penalizando en exceso, baja la regularización para dejar respirar al modelo. Aumenta el número de épocas: a veces el modelo simplemente necesita más tiempo para aprender, siempre con un ojo en la validación para no caer en sobreajuste.

Características y preprocesado. Amplía y mejora las características (interacciones, términos polinómicos, codificaciones adecuadas de variables categóricas). Normaliza o estandariza para que el algoritmo no “favorezca” variables por escala. En muchos casos, filtrar ruido eleva la señal útil.

Datos y cobertura. Más datos representativos reducen la probabilidad de subajuste. Si el conjunto se queda corto, plantéate transfer learning en visión o NLP para partir de representaciones ya aprendidas y evitar un modelo que “no arranca”.

Data quality, drift y automatización

La calidad de datos manda. Exactitud, completitud y consistencia deberían auditarse y cruzarse con fuentes fiables. Técnicas como normalización (0-1) o estandarización (media 0, desviación 1) evitan que el modelo prime variables por la escala.

Con el tiempo, los datos cambian. El data drift puede causar tanto overfitting como underfitting en el nuevo contexto. La receta: monitorizar métricas, inspeccionar distribuciones y reentrenar regularmente con datos actualizados.

Herramientas de AutoML pueden acelerar la selección de hiperparámetros, ingeniería de características y la creación de pipelines de evaluación, liberando tiempo para análisis de alto nivel. Un apunte histórico: el servicio Amazon Machine Learning ya no se actualiza ni acepta nuevos usuarios; si trabajas con documentación antigua, tenlo presente.

Señales clave y reglas de pulgar

En la práctica del día a día, muchos empezamos igual: dudando si el modelo está sobreajustando o si simplemente se ha quedado corto de entrenamiento. Con la experiencia, se vuelve rutina mirar tres cosas: gran brecha entre train y test (sobreajuste), resultados consistentemente bajos en ambos (subajuste), y varianza alta entre folds (sobreajuste de manual).

No te confíes con métricas bonitas en entrenamiento. Una curva de pérdida que cae sin parar en train pero empeora en validación es aviso de MEMORIZACIÓN. Si te ocurre, corta a tiempo y aplica regularización.

Ensamblados, selección de características y tamaño de lote

Los métodos de conjunto ayudan. Bagging (como Random Forest) reduce varianza y suele ser buen antídoto contra el sobreajuste; Boosting (como XGBoost) reduce sesgo y puede levantar modelos demasiado simples, aunque hay que cuidarlo para que no sobreajuste.

La selección de características elimina variables redundantes o irrelevantes, reduce el ruido y mejora la generalización. Es uno de los remedios más efectivos cuando el problema viene por exceso de input inútil.

Sobre el tamaño de lote ya lo insinuamos: lotes pequeños introducen variabilidad en el gradiente y a menudo generalizan mejor; lotes muy grandes pueden empujar a soluciones que clavan el entrenamiento pero pierden en test.

Elegir el algoritmo: empieza sencillo, escala cuando toque

Dependiendo del problema y los datos, distintas familias brillan más. Si hay fronteras claras, SVM o árboles pueden ir de maravilla. Con conjuntos grandes y complejos, redes profundas o ensambles potentes ofrecen flexibilidad. Modelos sencillos como regresión lineal o k-NN son útiles con datasets modestos y cuando prima la interpretabilidad.

Una estrategia eficaz es comparar versiones simples y complejas en paralelo con un buen esquema de validación. A veces lo complejo apenas aporta mientras suma fragilidad. No necesitas el modelo “más complicado”, sino el más fiable en el mundo real.

Casos de uso y consecuencias en negocio

En sanidad, un predictor de riesgo debe generalizar más allá de un hospital o cohorte específica. Sobreajustar a patrones locales puede ser peligroso; subajustar, inútil. En finanzas, modelos que memorizan vaivenes históricos fallan al traducirlos en señales futuras.

En vehículos autónomos, los sistemas de detección deben reconocer objetos en entornos variados; memorizar imágenes concretas no sirve. En NLP, si un analizador de sentimientos aprende frases del entrenamiento “de carrerilla”, no entenderá nuevas formulaciones.

A nivel de negocio, el sobreajuste da lugar a falsos positivos (por ejemplo, fraude) o a estrategias que parecían prometedoras en validación interna pero se desploman al desplegarse. El subajuste, por su parte, produce predicciones tibias que apenas superan reglas triviales, minando la confianza en el equipo de datos.

Preguntas frecuentes y matices prácticos

¿Cómo ayuda la selección de características a evitar sobreajuste? Al quitar ruido y redundancias, disminuye la varianza y mejora la generalización. Es de las primeras medidas a probar si sospechas entradas irrelevantes.

¿Los ensambles reducen ambos problemas? Bagging tiende a bajar varianza (menos sobreajuste) y Boosting a bajar sesgo (menos subajuste). Bien ajustados, son herramientas muy potentes.

¿Por qué las redes profundas sobreajustan con facilidad? Por su enorme capacidad. Regularización, dropout y más datos/augmentación son esenciales para mantenerlas honestas.

¿El tamaño de lote influye? Sí. Lotes pequeños introducen ruido beneficioso que favorece la generalización; lotes grandes pueden “memorizar” con más facilidad.

¿Transfer learning ayuda? Mucho. Aprovecha representaciones ya aprendidas y reduce tanto el riesgo de subajuste (falta de capacidad efectiva) como de sobreajuste en datasets pequeños.

Checklist accionable rápido

Para cerrar con un recordatorio práctico, si ves gran gap train/test, piensa en regularización, menos complejidad, más datos, early stopping, dropout, poda en árboles, y valida con k-fold. Si ves mal en train y test, considera más capacidad, más épocas, bajar regularización, mejores características, y preprocesados adecuados (normalizar/estandarizar).

Y no olvides lo operativo: monitoriza drift, planifica reentrenos, cuida la calidad de datos y, si tiene sentido, apóyate en AutoML para automatizar las partes mecánicas de búsqueda de hiperparámetros y pipelines de evaluación.

Todo este tema va de equilibrio: captar la señal sin perseguir el ruido. Cuando ese balance existe, el modelo funciona dentro y fuera del laboratorio; cuando se rompe, llegan los sustos. Aprender a detectar las señales, aplicar las técnicas adecuadas y cuidar los datos es lo que marca la diferencia entre “que corre” y “que aporta valor”.

ANOVA con JavaScript
Artículo relacionado:
ANOVA con JavaScript: desde la teoría a las herramientas
Related posts: