Случайная выборка конфигураций из заданных распределений.
Ключевые тезисы
- При равном бюджете обычно лучше сетки: важные параметры покрываются плотнее.
- Легко останавливается в любой момент.
- Логарифмические шкалы для lr и регуляризации обязательны.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Почему случайный поиск обычно лучше сетки
Классический результат Бергстры и Бенжио.
Если из четырёх параметров реально важен один, сетка 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],
}2Как задавать распределения
Половина успеха — правильная шкала.
| Параметр | Распределение | Диапазон |
|---|---|---|
| learning_rate | логравномерное | – |
| регуляризация λ / C | логравномерное | – |
| глубина, число листьев | равномерное целое | 3–12 / 15–255 |
| subsample, colsample | равномерное | 0.6–1.0 |
Задавать lr равномерно на — почти гарантированно потратить 90% запусков на слишком большие значения.
Связанные темы
Подбор гиперпараметров
Hyperparameter tuning80%
Настройка гиперпараметров · Практика MLПоиск конфигурации модели по валидационной метрике — последний, а не первый шаг работы.
Grid Search80%
Поиск по сетке · Практика MLПолный перебор всех комбинаций заданных значений гиперпараметров.
Bayesian Optimization80%
Байесовская оптимизация · Практика MLСтроит модель зависимости метрики от гиперпараметров и выбирает следующую точку осознанно.
Cross-validation80%
Кросс-валидация · Оценка моделейМногократное разбиение выборки, дающее оценку качества вместе с её разбросом.
Learning Rate Scheduling80%
Расписание скорости обучения · Оптимизация обученияИзменение шага по ходу обучения: большой в начале для исследования, малый в конце для точной настройки.