Underfitting
Aprende a identificar y resolver el underfitting en machine learning. Explora sus causas e indicadores, y descubre cómo optimizar los modelos Ultralytics YOLO26 para mejorar la precisión.
El subajuste se produce cuando un modelo de aprendizaje automático es demasiado simple o carece de la capacidad necesaria para captar las tendencias y los patrones subyacentes de los datos de entrenamiento. Conceptualmente, es análogo a intentar ajustar una línea recta a través de puntos de datos que forman una curva definida; el modelo no consigue comprender la complejidad de la relación entre las entradas y las salidas. Como el modelo no ha aprendido los datos de forma eficaz, presenta un rendimiento deficiente no solo en el conjunto de entrenamiento, sino también en los datos de validación que no ha visto, lo que da lugar a una precisión predictiva baja. Este fenómeno suele ser consecuencia de un sesgo elevado en la IA, por el que el algoritmo formula suposiciones excesivamente simplistas sobre la función objetivo.
Causas e indicadores#
Varios factores pueden dar lugar a un modelo subajustado. La causa más común es utilizar una arquitectura de modelo que no es lo bastante compleja para la tarea en cuestión, como aplicar la regresión lineal a datos no lineales. Una duración de entrenamiento insuficiente, en la que el modelo no dispone de suficientes épocas para converger, también impide un aprendizaje adecuado. Además, una regularización excesiva —una técnica que normalmente se utiliza para prevenir el problema contrario— puede constreñir demasiado el modelo e impedir que capte características importantes.
Los ingenieros pueden identificar el subajuste supervisando las funciones de pérdida durante el entrenamiento. Si tanto el error de entrenamiento como el error de validación permanecen altos y no disminuyen de forma significativa, es probable que el modelo presente subajuste. A diferencia de una ingeniería de características eficaz, que ayuda a los modelos a comprender los datos, proporcionar muy pocas características también puede privar al modelo de la información necesaria.
Subajuste frente a sobreajuste#
Es fundamental distinguir el subajuste de su contrario, el sobreajuste. Estos dos conceptos representan los extremos opuestos del equilibrio entre sesgo y varianza.
- Subajuste (sesgo elevado): El modelo es demasiado rígido. Presenta un rendimiento deficiente tanto en los datos de entrenamiento como en los datos de prueba porque no ha aprendido la señal básica.
- Sobreajuste (varianza elevada): El modelo es demasiado flexible. Memoriza los datos de entrenamiento, incluido el ruido, y presenta un rendimiento excepcional durante el entrenamiento, pero no consigue generalizar a nuevos ejemplos.
Encontrar el «punto óptimo» entre estos dos extremos es el objetivo principal de la optimización del modelo.
Aplicaciones en el mundo real#
Comprender el subajuste es fundamental para desarrollar sistemas de IA fiables en diversos sectores.
- Conducción autónoma: En el contexto de los vehículos autónomos, un modelo de detección de objetos subajustado podría no distinguir entre un peatón y una farola en entornos urbanos complejos. Como el modelo carece de los parámetros necesarios para aprender las sutiles diferencias visuales, pone en riesgo la seguridad de la IA.
- Diagnóstico médico: Al aplicar el análisis de imágenes médicas para detectar anomalías como tumores, un modelo excesivamente simple podría pasar por alto crecimientos pequeños o irregulares. Si la red neuronal es demasiado superficial, no puede aprender las intrincadas texturas necesarias para lograr una sensibilidad y especificidad elevadas, lo que da lugar a diagnósticos omitidos.
Cómo abordar el subajuste con código#
En la visión por ordenador, el subajuste suele producirse al utilizar una variante de modelo demasiado pequeña para la dificultad de la tarea (por ejemplo, detectar objetos pequeños en imágenes de drones de alta resolución). El siguiente ejemplo de Python muestra cómo cambiar de un modelo más pequeño a otro más grande y capaz utilizando la biblioteca ultralytics para resolver un posible subajuste.
from ultralytics import YOLO
# If 'yolo26n.pt' (Nano) is underfitting and yielding low accuracy,
# upgrade to a model with higher capacity like 'yolo26l.pt' (Large).
model = YOLO("yolo26l.pt")
# Train the larger model.
# Increasing epochs also helps the model converge if it was previously underfitting.
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Al pasar a un modelo Ultralytics YOLO26 más grande y garantizar una duración de entrenamiento adecuada, el sistema obtiene los parámetros necesarios para aprender patrones complejos, lo que mitiga eficazmente el subajuste. Para verificar que tu modelo ya no presenta subajuste, evalúalo siempre con un conjunto de datos de prueba sólido. Para gestionar conjuntos de datos y realizar un seguimiento de los experimentos con el fin de detectar el subajuste de forma temprana, la plataforma de Ultralytics ofrece herramientas completas de visualización y análisis.









