Underfitting
Узнай, как выявлять и устранять недообучение в машинном обучении. Исследуй причины, индикаторы и способы оптимизации моделей Ultralytics YOLO26 для повышения точности.
Недообучение возникает, когда модель machine learning слишком проста или ей не хватает емкости для улавливания глубинных тенденций и закономерностей в training data. Концептуально это аналогично попытке провести прямую линию через точки данных, образующие четкую кривую; модель не способна уловить сложность взаимосвязи между входными и выходными данными. Поскольку модель неэффективно обучилась на данных, она демонстрирует плохие показатели не только на тренировочном наборе, но и на невидимых validation data, что ведет к низкой прогностической accuracy. Это явление часто является следствием высокого bias in AI, при котором алгоритм делает чрезмерно упрощенные предположения о целевой функции.
Link to this sectionПричины и индикаторы#
К недообучению модели могут привести несколько факторов. Самая распространенная причина — использование архитектуры модели, недостаточно сложной для поставленной задачи, например, применение linear regression к нелинейным данным. Недостаточная продолжительность обучения, когда модели не дают достаточно epochs для сходимости, также препятствует адекватному обучению. Кроме того, чрезмерная regularization — метод, обычно используемый для предотвращения обратной проблемы, — может слишком сильно ограничивать модель, не позволяя ей выявлять важные признаки.
Инженеры могут определить недообучение, отслеживая loss functions в процессе обучения. Если ошибка как на тренировочном, так и на валидационном наборе остается высокой и не уменьшается значительным образом, модель, скорее всего, недообучена. В отличие от эффективного feature engineering, который помогает моделям понимать данные, предоставление слишком малого количества признаков также может лишить модель необходимой информации.
Link to this sectionНедообучение против переобучения#
Крайне важно отличать недообучение от его противоположности — overfitting. Эти два понятия представляют собой противоположные стороны bias-variance tradeoff.
- Недообучение (высокий bias): Модель слишком жесткая. Она плохо справляется как с тренировочными, так и с test data, потому что не уловила базовый сигнал.
- Переобучение (высокий variance): Модель слишком гибкая. Она запоминает тренировочные данные, включая шум, демонстрируя отличные результаты во время обучения, но не способна generalize на новые примеры.
Поиск «золотой середины» между этими двумя крайностями — главная цель model optimization.
Link to this sectionРеальные приложения#
Понимание недообучения жизненно важно для создания надежных систем ИИ в различных отраслях.
- Автономное вождение: В контексте autonomous vehicles недообученная модель обнаружения объектов может не отличить пешехода от фонарного столба в условиях сложной городской среды. Поскольку модели не хватает параметров, чтобы усвоить тонкие визуальные различия, это ставит под угрозу AI safety.
- Медицинская диагностика: При применении medical image analysis для обнаружения аномалий, таких как опухоли, чрезмерно простая модель может пропустить небольшие или нерегулярные новообразования. Если нейронная сеть слишком мелкая, она не может выучить сложные текстуры, необходимые для высокой sensitivity and specificity, что приводит к пропущенным диагнозам.
Link to this sectionУстранение недообучения с помощью кода#
В computer vision недообучение часто случается при использовании варианта модели, который слишком мал для сложности задачи (например, при обнаружении мелких объектов на снимках с дронов в высоком разрешении). Следующий пример на Python демонстрирует, как перейти от меньшей модели к более крупной и мощной с использованием библиотеки ultralytics для решения проблемы возможного недообучения.
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)Перейдя на более крупную модель Ultralytics YOLO26 и обеспечив достаточную продолжительность обучения, система получает параметры, необходимые для изучения сложных паттернов, эффективно устраняя недообучение. Чтобы убедиться, что твоя модель больше не недообучена, всегда оценивай ее на надежном test dataset. Для управления наборами данных и отслеживания экспериментов с целью раннего обнаружения недообучения Ultralytics Platform предлагает комплексные инструменты для визуализации и анализа.






