Практика ML

Underfitting

Недообучение

актуальноТекущий рабочий стандарт

Модель слишком проста или недоучена: ошибка велика и на train, и на валидации.

Ключевые тезисы

  • Увеличьте сложность модели, число эпох или качество признаков.
  • Проверьте, не задушена ли модель избыточной регуляризацией.
  • Кривые обучения быстро отличают недообучение от переобучения.

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Как лечить недообучение

Порядок действий от дешёвых к дорогим.

  1. Убедиться, что обучение вообще идёт: потери должны падать.
  2. Ослабить регуляризацию (уменьшить λ, weight decay, dropout).
  3. Увеличить сложность: глубину дерева, число слоёв, размерность.
  4. Добавить признаки и взаимодействия — часто это даёт больше, чем сложность модели.
  5. Учить дольше и с подходящим learning rate.
2

Как отличить от плохих данных

Иногда сигнала просто нет.

Если после увеличения сложности, признаков и времени обучения качество не растёт, возможно, в данных действительно нет предсказательного сигнала для этой цели. Проверить это можно, обучив заведомо мощную модель без ограничений: если и она не может переобучиться на train, проблема в данных, а не в модели.

-3-113-4-2024xy
степень полинома3
ошибка на train0.568
ошибка на test0.395
диагнозбаланс
При степени 0–1 модель не способна описать данные ни на train, ни на test — это чистое недообучение

Связанные темы

Переобучение и регуляризация