Underfitting
Aprende a identificar y resolver el subajuste en el aprendizaje automático. Explora las causas, los indicadores y cómo optimizar los modelos de Ultralytics YOLO26 para una mejor precisión.
El subajuste (underfitting) ocurre cuando un modelo de machine learning es demasiado simple o carece de la capacidad para capturar las tendencias y patrones subyacentes dentro de los datos de entrenamiento. Conceptualment, es análogo a intentar ajustar una línea recta a través de puntos de datos que forman una curva distintiva; el modelo no logra comprender la complejidad de la relación entre entradas y salidas. Debido a que el modelo no ha aprendido los datos de manera efectiva, muestra un rendimiento deficiente no solo en el conjunto de entrenamiento sino también en datos de validación no vistos, lo que lleva a una baja precisión predictiva. Este fenómeno suele ser el resultado de un alto sesgo en IA, donde el algoritmo hace suposiciones demasiado simplistas sobre la función objetivo.
Causas e indicadores#
Varios factores pueden llevar a un modelo con subajuste. La causa más común es utilizar una arquitectura de modelo que no sea lo suficientemente compleja para la tarea en cuestión, como aplicar regresión lineal a datos no lineales. Una duración de entrenamiento insuficiente, en la que al modelo no se le dan suficientes épocas para converger, también evita un aprendizaje adecuado. Además, una regularización excesiva —una técnica que normalmente se usa para prevenir el problema opuesto— puede restringir demasiado el modelo, impidiéndole capturar características importantes.
Los ingenieros pueden identificar el subajuste monitoreando las funciones de pérdida durante el entrenamiento. Si tanto el error de entrenamiento como el error de validación se mantienen altos y no disminuyen significativamente, es probable que el modelo tenga subajuste. En contraste con la ingeniería de características efectiva, que ayuda a los modelos a entender los datos, proporcionar muy pocas características también puede privar al modelo de la información necesaria.
Underfitting frente a overfitting#
Es crucial distinguir el subajuste de su contraparte, el sobreajuste. Estos dos conceptos representan los extremos opuestos de la compensación sesgo-varianza.
- Subajuste (alto sesgo): El modelo es demasiado rígido. Su rendimiento es deficiente tanto en los datos de entrenamiento como en los datos de prueba porque no ha aprendido la señal básica.
- Sobreajuste (alta varianza): El modelo es demasiado flexible. Memoriza los datos de entrenamiento, incluido el ruido, y tiene un rendimiento excepcionalmente bueno durante el entrenamiento, pero falla al generalizar a nuevos ejemplos.
Encontrar el punto óptimo ("sweet spot") entre estos dos extremos es el objetivo principal de la optimización de modelos.
Aplicaciones en el mundo real#
Comprender el underfitting es vital para desarrollar sistemas de IA fiables en diversos sectores.
- Conducción autónoma: En el contexto de vehículos autónomos, un modelo de detección de objetos con subajuste podría no distinguir entre un peatón y una farola en entornos urbanos complejos. Debido a que el modelo carece de los parámetros para aprender las sutiles diferencias visuales, pone en peligro 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 demasiado simple podría pasar por alto crecimientos pequeños o irregulares. Si la red neuronal es demasiado superficial, no puede aprender las texturas intrincadas requeridas para una alta sensibilidad y especificidad, lo que lleva a diagnósticos erróneos.
Abordar el underfitting con código#
En visión por computador, el subajuste suele ocurrir al usar una variante de modelo que es 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 demuestra cómo cambiar de un modelo más pequeño a uno 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 asegurar una duración de entrenamiento adecuada, el sistema obtiene los parámetros necesarios para aprender patrones complejos, mitigando eficazmente el subajuste. Para verificar que tu modelo ya no tiene subajuste, evalúalo siempre contra un conjunto de datos de prueba robusto. Para gestionar conjuntos de datos y realizar un seguimiento de los experimentos para detectar el subajuste a tiempo, la Plataforma Ultralytics ofrece herramientas integrales de visualización y análisis.






