В каком диапазоне задаются гиперпараметры модели?
Что проверяют
Есть ли у вас практическое чутьё: откуда берутся границы поиска, в какой шкале перебирать и что делать, если лучший результат упёрся в край. Универсального диапазона нет, и интервьюер ждёт, что вы это скажете, а потом всё равно назовёте рабочие стартовые значения. Следом спрашивают, чем искали и как не переобучиться на валидации.
Как отвечать
Принцип: диапазон задают по документации и опыту, шкалу по природе параметра. Всё, что действует мультипликативно, перебирают в логарифмической шкале:
- learning rate: для Adam обычно от
1e-5до1e-2, при дообучении трансформеров ещё уже. В бустингеlearning_rateот 0,01 до 0,3, а число деревьев подбирает ранняя остановка; - глубина и листья:
max_depthв XGBoost от 3 до 10,num_leavesв LightGBM от 16 до 255, плюсmin_child_samplesпротив слишком мелких листьев; - сэмплирование:
subsampleиcolsample_bytreeот 0,5 до 1; - регуляризация:
CвLogisticRegressionилиalphaвRidgeна логарифмической сетке от1e-4до1e4, сила регуляризации меняется на порядки; - случайный лес:
n_estimatorsпочти не настраивают, лишние деревья не переобучают, а лишь перестают давать прирост. Важнееmax_featuresиmin_samples_leaf.
Инструменты: RandomizedSearchCV с распределением scipy.stats.loguniform или Optuna с trial.suggest_float("lr", 1e-5, 1e-1, log=True) и прунингом. При том же бюджете случайный поиск обычно лучше сетки: важных параметров мало, а сетка тратит попытки на бесполезные.
Процедура: сначала широкий грубый поиск, потом сужение вокруг лучшей области. Если оптимум лёг на границу, диапазон расширяют. Финальную оценку делают на отложенной выборке, которая в подборе не участвовала.
Где спотыкаются
Перебирают learning rate равномерно от 0,0001 до 0,1. Почти все попытки ложатся в верхний порядок, а малые значения не проверяются вовсе.
Не замечают, что лучший результат на краю диапазона. Это значит, что оптимум лежит дальше.
Сообщают метрику с той же кросс-валидации, на которой подбирали параметры. Оценка выходит оптимистичной, нужна отложенная выборка или вложенная кросс-валидация.