Практика ML

Random Search

Случайный поиск

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

Направления: Машинное обучение · AutoML

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

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

  • При равном бюджете обычно лучше сетки: важные параметры покрываются плотнее.
  • Легко останавливается в любой .
  • Логарифмические шкалы для lr и обязательны.

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

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

Если из четырёх параметров реально важен один, сетка 5×5×5×5 проверит всего 5 разных значений важного параметра. Случайный поиск из 100 точек даст 100 различных значений по каждому измерению.

from scipy.stats import loguniform, randint
space = {
    "learning_rate": loguniform(1e-3, 3e-1),   # логарифмическая шкала!
    "num_leaves": randint(15, 255),
    "min_child_samples": randint(5, 200),
    "subsample": [0.6, 0.8, 1.0],
}
Для lr и регуляризации всегда используйте логарифмическое распределение

ПараметрРаспределениеДиапазон
learning_rateлогравномерное–
λ / Cлогравномерное–
глубина, число листьевравномерное целое3–12 / 15–255
subsample, colsampleравномерное0.6–1.0
На практике

Задавать lr равномерно на — почти гарантированно потратить 90% запусков на слишком большие значения.

Видеолекции

Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.

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

Подбор гиперпараметров · Перебор конфигураций

Hyperparameter tuning96%

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

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

Bayesian Optimization96%

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

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

Cross-validation96%

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

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

Grid Search80%

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

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

Learning Rate Scheduling80%

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

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

Distributed Hyperparameter Search80%

Распределённый подбор гиперпараметров · Вычислительная инфраструктура

Десятки обучений на кластере вместо одного: пространство поиска, параллельные trials, ранняя остановка безнадёжных.

Experiment Tracking80%

Трекинг экспериментов · MLOps

Фиксация параметров, метрик, артефактов и версии кода для каждого запуска.

Кому эта тема нужна

Усиливает профиль: Data Scientist, ML Engineer.

Следующий шагДальше по связи: Hyperparameter tuningПоиск конфигурации модели по валидационной метрике — последний, а не первый шаг работы.Перейти →

Глава «Практика ML» последний раз правилась . Нашли ошибку — напишите.