Underfitting
El infraajuste se produce cuando un modelo es demasiado simple o no se ha entrenado lo suficiente para captar los patrones de sus datos, por lo que comete errores tanto con los datos de entrenamiento como con los nuevos. Señales y soluciones.
El infraajuste se produce cuando un modelo de aprendizaje automático (ML) no logra captar los patrones de sus datos de entrenamiento, por lo que comete grandes errores tanto en los ejemplos aprendidos como en los nuevos. El ejemplo clásico es ajustar una línea recta a puntos que siguen una curva, como hace la regresión lineal simple: no hay pendiente ni intercepto que puedan seguir la curva. Un modelo infraajustado tiene un sesgo elevado, es decir, sus suposiciones son demasiado restrictivas para la relación real entre las entradas y las salidas, y su precisión es baja tanto en el conjunto de entrenamiento como en los datos de prueba.
Señales de infraajuste#
La señal más clara es una pérdida de entrenamiento que se mantiene alta. Cuando la función de pérdida se estanca muy por encima de un nivel aceptable y la pérdida de los datos de validación se mantiene cerca, el modelo no aprende lo suficiente; la pequeña diferencia entre ambas muestra que la memorización no es el problema. Las curvas de aprendizaje que representan el error frente al tamaño del conjunto de entrenamiento muestran una segunda señal: ambas curvas se aplanan con un error alto, por lo que añadir más datos del mismo tipo apenas ayuda. En la detección de objetos, un modelo que obtiene una precisión media promedio (mAP) baja incluso con las mismas imágenes con las que se entrenó está infraajustado; es una de las comprobaciones de la guía de pruebas de modelos de Ultralytics. Comparar ambas pérdidas permite distinguir el infraajuste del sobreajuste:
Causas habituales#
- Capacidad insuficiente: La familia del modelo no puede representar el patrón, como ocurre con un modelo lineal aplicado a datos curvos o con una red muy pequeña para una tarea de visión compleja.
- Pocas épocas: Detener el entrenamiento demasiado pronto o utilizar una tasa de aprendizaje demasiado baja para avanzar en el tiempo disponible hace que el optimizador se pare antes de converger.
- Demasiada regularización: Una penalización de pesos elevada, tasas de dropout altas o un aumento de datos muy agresivo limitan tanto el modelo que no puede ajustarse a la señal.
- Características poco informativas: La ausencia de variables o la reducción de las imágenes hasta hacer desaparecer los objetos pequeños elimina la información que necesita el modelo.
- Desvanecimiento del gradiente y otros fallos de optimización: Las capas iniciales de una red profunda dejan de aprender, incluso cuando el modelo tiene capacidad suficiente.
Infraajuste en código#
El siguiente ejemplo ajusta muestras ruidosas de una curva sinusoidal con una línea recta y con un polinomio cúbico mediante scikit-learn, y después calcula el error cuadrático medio (MSE) en los puntos de entrenamiento y de prueba:
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import PolynomialFeatures
# Noisy samples of a curved function
rng = np.random.default_rng(0)
x = rng.uniform(-3, 3, size=(200, 1))
y = np.sin(x).ravel() + rng.normal(0, 0.1, size=200)
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=0)
# A straight line underfits; a cubic polynomial has enough capacity for the curve
for degree in (1, 3):
model = make_pipeline(PolynomialFeatures(degree), LinearRegression()).fit(x_train, y_train)
train_mse = mean_squared_error(y_train, model.predict(x_train))
test_mse = mean_squared_error(y_test, model.predict(x_test))
print(f"degree {degree}: train MSE {train_mse:.3f}, test MSE {test_mse:.3f}")La línea recta obtiene un MSE de entrenamiento de 0,193 y un MSE de prueba de 0,188: ambos valores son altos y casi iguales, la señal característica del infraajuste. El modelo cúbico reduce ambos valores a 0,013 y 0,017, cerca del límite de 0,010 que establece el ruido añadido a los datos.
Cómo corregir el infraajuste#
Las soluciones se dirigen a la causa: un modelo más grande o expresivo, un entrenamiento más largo con una tasa de aprendizaje adecuada, menos regularización o aumento de datos e información más rica, como imágenes de mayor resolución. YOLO26 tiene tamaños n, s, m, l y x que escalan la profundidad y la anchura de una misma arquitectura. Por eso, pasar de yolo26n.pt a un tamaño mayor suele ser el primer paso cuando las pérdidas de entrenamiento y validación de results.csv en una ejecución se mantienen altas. Los objetos pequeños son un caso habitual en visión artificial: un detector que procesa imágenes de drones con una resolución de entrada baja no detecta objetos pequeños que sí conservaría una resolución mayor.
Subajuste frente a sobreajuste#
El infraajuste y el sobreajuste son los dos modos de fallo del equilibrio entre sesgo y varianza. Un modelo infraajustado tiene un sesgo elevado y comete errores similares con los datos de entrenamiento y los nuevos; un modelo sobreajustado tiene una varianza elevada, se ajusta estrechamente a los datos de entrenamiento —incluido el ruido— y generaliza mal. La representación clásica es una curva de error de prueba en forma de U, con el infraajuste a la izquierda y el sobreajuste a la derecha. Las redes neuronales grandes complican este panorama con la doble caída: el error de prueba puede volver a disminuir cuando el modelo es lo bastante grande como para ajustarse exactamente a los datos de entrenamiento, un patrón observado en función del tamaño del modelo y las épocas de entrenamiento.










