Практика ML

Bayesian Optimization

Байесовская оптимизация

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

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

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

  • Эффективна, когда одно обучение стоит дорого.
  • Optuna и Hyperopt — практичные реализации; TPE — типичный алгоритм.
  • Pruning останавливает бесперспективные запуски досрочно.

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

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

1

Как работает TPE

Алгоритм внутри Optuna, объяснённый на пальцах.

  1. Провести несколько случайных запусков.
  2. Разделить их на «хорошие» (лучшие по метрике) и «плохие».
  3. Построить два распределения параметров: по хорошим и по плохим.
  4. Выбирать следующую точку, максимизируя отношение — там, где хорошие результаты вероятнее плохих.
import optuna

def objective(trial):
    params = {
        "learning_rate": trial.suggest_float("lr", 1e-3, 0.3, log=True),
        "num_leaves": trial.suggest_int("num_leaves", 15, 255),
        "min_child_samples": trial.suggest_int("mcs", 5, 200),
    }
    return cross_val_score(LGBMClassifier(**params), X, y,
                           cv=cv, scoring="roc_auc").mean()

study = optuna.create_study(direction="maximize",
                            pruner=optuna.pruners.MedianPruner())
study.optimize(objective, n_trials=100, n_jobs=4)
Pruner останавливает бесперспективные запуски, экономя половину бюджета
2

Pruning и параллелизм

Как выжать больше из того же бюджета.

  • MedianPruner останавливает запуск, если промежуточная метрика хуже медианы предыдущих на том же шаге.
  • Hyperband / ASHA распределяют бюджет между конфигурациями агрессивнее, отсеивая слабых рано.
  • Optuna параллелится через общее хранилище — несколько процессов работают с одним study.
  • Для дорогих обучений сообщайте промежуточные метрики (trial.report), иначе pruning не сработает.

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

Решения в условиях неопределённости · Байесовский подход · Подбор гиперпараметров

Beta Distribution95%

Бета-распределение · Теория вероятностей и распределения

Распределение вероятности на отрезке [0,1] — естественный априор для конверсии и для многоруких бандитов.

Multi-armed Bandits80%

Многорукие бандиты · Обучение с подкреплением

Упрощённый RL без состояний: выбираем действие, получаем награду и балансируем исследование с эксплуатацией.

Offline RL80%

Оффлайн RL · Обучение с подкреплением

Обучение политики по логам прошлых взаимодействий, без возможности экспериментировать со средой.

A/B testing80%

A/B-тестирование · Оценка моделей

Онлайн-эксперимент, который единственный честно измеряет влияние модели на продуктовые метрики.

Experiment Infrastructure80%

Инфраструктура экспериментов · Системный дизайн ML-сервисов

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

Hyperparameter tuning80%

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

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

Grid Search80%

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

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

Random Search80%

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

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

Cross-validation80%

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

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

Learning Rate Scheduling80%

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

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

Bayesian Inference75%

Байесовский вывод · Теория вероятностей и распределения

Параметры модели рассматриваются как случайные величины; данные обновляют априорное распределение в апостериорное.

Markov Chains75%

Марковские цепи · Теория вероятностей и распределения

Процесс, в котором будущее зависит только от текущего состояния. База для MDP, MCMC и моделей поведения пользователя.

Conditional Independence75%

Условная независимость · Теория вероятностей и распределения

Две величины независимы при известной третьей. Понятие, на котором стоят байесовские сети и наивный классификатор.

Probability Axioms75%

Аксиомы вероятности · Теория вероятностей и распределения

Три аксиомы Колмогорова, из которых выводится вся теория: неотрицательность, нормировка и аддитивность.

Random Variables75%

Случайные величины · Теория вероятностей и распределения

Отображение исходов в числа. Дискретные описываются функцией вероятности, непрерывные — плотностью.

Bayes Theorem75%

Теорема Байеса · Математический справочник

Правило пересчёта вероятности гипотезы после получения новых данных.

Naive Bayes75%

Наивный байесовский классификатор · Классическое машинное обучение

Применяет теорему Байеса при «наивном» предположении о независимости признаков — и работает лучше, чем должно.

Probability75%

Теория вероятностей · Основы

Язык неопределённости: распределения, условные вероятности и теорема Байеса описывают, как данные порождаются и как обновлять убеждения.