Поиск конфигурации модели по валидационной метрике — последний, а не первый шаг работы.
Ключевые тезисы
- Обычно даёт единицы процентов там, где дают десятки.
- Нужен отдельный тест: подбор по валидации к ней переобучается.
- Фиксируйте бюджет поиска заранее.
Какую задачу решает
У современных моделей десятки , и перебирать их все бессмысленно: влияние распределено крайне неравномерно. На типичной задаче два-три параметра дают почти весь эффект, остальные двигают метрику в пределах шума между запусками.
Практический подход строится на приоритете и бюджете. Сначала определяется, какие параметры важны для этой модели (для — и глубина, для — скорость обучения и ). Затем выбирается метод, соразмерный бюджету: случайный поиск для десятков запусков, байесовская оптимизация для сотен, сетка — почти никогда.
Типичное распределение вклада в проекте с табличными данными: правильная постановка и целевая переменная — десятки процентов метрики; хорошие — единицы и десятки процентов; выбор семейства модели — единицы процентов; настройка — доли процента и единицы процентов. Порядок работы должен повторять этот список сверху вниз, а не наоборот. Тюнинг — последний шаг, а не первый, и берутся за него, когда всё остальное уже сделано.
Подробный разбор
| Модель | Главные параметры |
|---|---|
| learning_rate, число деревьев, глубина / num_leaves, min_child_samples | |
| глубина, min_samples_leaf, max_features | |
| Линейные | сила C или α |
| , , , расписание |
Прирост от подбора обычно измеряется единицами процентов, тогда как хорошие дают десятки. Настраивайте в конце, а не в начале.
- 20–30 запусков случайного поиска обычно дают 80% возможного прироста.
- Дальше выгоднее переходить к байесовской оптимизации с pruning.
- Фиксируйте бюджет заранее — иначе тюнинг растянется на недели без заметного результата.
- Помните про под валидацию: после сотен запусков лучший результат частично случаен.
Где применяется
- Доводка моделиПоследние проценты метрики после того, как и данные уже сделаны.
- Перенос на новые данныеПараметры, подобранные на старом домене, редко оптимальны на новом.
- Сравнение архитектурЧестное сравнение требует настройки каждой, а не только своей любимой.
Плюсы, минусы и альтернативы
Плюсы
- Даёт прирост без изменения данных и кода модели.
- Полностью автоматизируется.
- Побочный результат — понимание чувствительности модели к параметрам.
Минусы
- Прирост обычно скромный: единицы процентов против десятков от хороших .
- Дорого по вычислениям.
- Легко переобучиться под валидационную выборку.
- Соблазн заниматься тюнингом вместо более полезной работы с данными.
Брать, если
- и данные уже проработаны.
- Есть вычислительный бюджет и корректная схема валидации.
Не брать, если
- ещё не побита — проблема не в параметрах.
- Данных мало: разница между конфигурациями утонет в шуме валидации.
- очевидно недоработаны — там прирост на порядок больше.
Чем заменяют
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Рабочий цикл ML-инженера · Подбор гиперпараметров · Перебор конфигураций
Random Search96%
Случайный поиск · Практика MLСлучайная выборка конфигураций из заданных распределений.
Bayesian Optimization96%
Байесовская оптимизация · Практика MLСтроит модель зависимости метрики от гиперпараметров и выбирает следующую точку осознанно.
Cross-validation96%
Кросс-валидация · Оценка моделейМногократное разбиение выборки, дающее оценку качества вместе с её разбросом.
Grid Search80%
Поиск по сетке · Практика MLПолный перебор всех комбинаций заданных значений гиперпараметров.
Learning Rate Scheduling80%
Расписание скорости обучения · Оптимизация обученияИзменение шага по ходу обучения: большой в начале для исследования, малый в конце для точной настройки.
Distributed Hyperparameter Search80%
Распределённый подбор гиперпараметров · Вычислительная инфраструктураДесятки обучений на кластере вместо одного: пространство поиска, параллельные trials, ранняя остановка безнадёжных.
Experiment Tracking80%
Трекинг экспериментов · MLOpsФиксация параметров, метрик, артефактов и версии кода для каждого запуска.
Problem formulation70%
Постановка задачи · Практика MLПеревод бизнес-вопроса в ML-задачу с целевой переменной, метрикой и ограничениями.
Baselines70%
Бейзлайны · Практика MLПростейшее решение, с которым сравнивается всё остальное: константа, правило, логистическая регрессия.
Debugging models70%
Отладка моделей · Практика MLСистематический поиск причины, почему модель не учится или ведёт себя странно.
Overfitting70%
Переобучение · Практика MLМодель запомнила обучающую выборку вместе с шумом: train-метрика отличная, val — плохая.
Error analysis70%
Анализ ошибок · Оценка моделейРучной разбор случаев, где модель ошибается: почти всегда даёт больше, чем очередной перебор гиперпараметров.
Production ML70%
ML в продакшене · Практика MLМодель в проде — это сервис с SLA, мониторингом, версионированием и планом отката.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Приоритет параметров
важнее всего у , learning rate и глубина — у . Остальное потом.
Разбор ниже: Что настраивать в первую очередьСлучайный поиск
Лучше сетки при том же бюджете: покрывает важные измерения плотнее.
Отдельная тема: Random Search — Случайный поискБайесовская оптимизация
Учится на прошлых запусках и выбирает следующую точку осознанно. Окупается от сотни запусков.
Отдельная тема: Bayesian Optimization — Байесовская оптимизацияБюджет
Сколько запусков вы можете себе позволить — это и определяет выбор метода.
Разбор ниже: Планирование бюджетаПереобучение под валидацию
Сотни попыток по одной валидационной выборке подгоняют модель под неё. Нужен отдельный тест.
Разбор ниже: Планирование бюджетаТема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.
Глава «Практика ML» последний раз правилась . Нашли ошибку — напишите.