Практика ML

Hyperparameter tuning

Настройка гиперпараметров

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

Поиск конфигурации модели по валидационной метрике — последний, а не первый шаг работы.

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

  • Обычно даёт единицы процентов там, где признаки дают десятки.
  • Нужен отдельный тест: подбор по валидации к ней переобучается.
  • Фиксируйте бюджет поиска заранее.

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

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

1

Что настраивать в первую очередь

Не все параметры одинаково полезны.

МодельГлавные параметры
Бустингlearning_rate, число деревьев, глубина / num_leaves, min_child_samples
Случайный лесглубина, min_samples_leaf, max_features
Линейныесила регуляризации C или α
Нейросетиlearning rate, batch size, weight decay, расписание
На практике

Прирост от подбора гиперпараметров обычно измеряется единицами процентов, тогда как хорошие признаки дают десятки. Настраивайте в конце, а не в начале.

2

Планирование бюджета

Сколько запусков имеет смысл делать.

  • 20–30 запусков случайного поиска обычно дают 80% возможного прироста.
  • Дальше выгоднее переходить к байесовской оптимизации с pruning.
  • Фиксируйте бюджет заранее — иначе тюнинг растянется на недели без заметного результата.
  • Помните про переобучение под валидацию: после сотен запусков лучший результат частично случаен.

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

Рабочий цикл ML-инженера · Подбор гиперпараметров

Grid Search80%

Поиск по сетке · Практика ML

Полный перебор всех комбинаций заданных значений гиперпараметров.

Random Search80%

Случайный поиск · Практика ML

Случайная выборка конфигураций из заданных распределений.

Bayesian Optimization80%

Байесовская оптимизация · Практика ML

Строит модель зависимости метрики от гиперпараметров и выбирает следующую точку осознанно.

Cross-validation80%

Кросс-валидация · Оценка моделей

Многократное разбиение выборки, дающее оценку качества вместе с её разбросом.

Learning Rate Scheduling80%

Расписание скорости обучения · Оптимизация обучения

Изменение шага по ходу обучения: большой в начале для исследования, малый в конце для точной настройки.

Problem formulation70%

Постановка задачи · Практика ML

Перевод бизнес-вопроса в ML-задачу с целевой переменной, метрикой и ограничениями.

Baselines70%

Бейзлайны · Практика ML

Простейшее решение, с которым сравнивается всё остальное: константа, правило, логистическая регрессия.

Debugging models70%

Отладка моделей · Практика ML

Систематический поиск причины, почему модель не учится или ведёт себя странно.

Overfitting70%

Переобучение · Практика ML

Модель запомнила обучающую выборку вместе с шумом: train-метрика отличная, val — плохая.

Error analysis70%

Анализ ошибок · Оценка моделей

Ручной разбор случаев, где модель ошибается: почти всегда даёт больше, чем очередной перебор гиперпараметров.

Production ML70%

ML в продакшене · Практика ML

Модель в проде — это сервис с SLA, мониторингом, версионированием и планом отката.