Bayesian optimization на собеседовании Data Scientist
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем разбирать на собесе
Bayesian optimization — стандарт для expensive HP tuning. На собесе DS: «отличие от grid / random», «GP как surrogate».
Зачем Bayesian optimization
Hyperparameter tuning — функция f(hp) → metric. Каждый eval — train модели (минуты-часы).
Grid search. Перебираем все комбинации. Дорого.
Random search. Random sampling. Lучше grid в high-dim.
Bayesian optimization. Smart — выбирает next HP based на learning of function.
1. Randomly try несколько HPs.
2. Build surrogate model на observations.
3. Use surrogate + acquisition function для выбора next HP.
4. Train model with this HP, observe.
5. Update surrogate. Goto 3.Для expensive eval — на порядки эффективнее grid / random.
Surrogate model — Gaussian Process
Probabilistic model функции f.
Outputs. Mean μ(x) и variance σ²(x) предсказания на любом x.
GP after few observations:
Высокая uncertainty в неисследованных regions.
Низкая uncertainty — где много samples.GP даёт Bayesian inference на функции.
Acquisition function
Тells «где next sample». Compromise между exploration и exploitation.
Expected Improvement (EI). Most popular.
EI(x) = E[max(0, f(x) - f_best)]Значит «насколько expectation improve over current best».
Upper Confidence Bound (UCB). μ(x) + κ · σ(x) — exploit (high mean) + explore (high uncertainty).
Probability of Improvement (PI). Простее, less robust.
Argmax acquisition — next HP для evaluation.
Optuna и Hyperopt
Optuna. Современный, popular Python lib.
import optuna
def objective(trial):
lr = trial.suggest_loguniform("lr", 1e-5, 1e-1)
n_est = trial.suggest_int("n_estimators", 100, 1000)
model = ...
return cv_score
study = optuna.create_study()
study.optimize(objective, n_trials=100)Поддерживает Bayesian, TPE (Tree-structured Parzen Estimator), Random, Grid.
Hyperopt. Старый, тоже работает.
Ray Tune. Distributed HP tuning.
Применения
ML hyperparameter tuning. Стандарт.
A/B test design. Bayesian подход.
AutoML. Внутри AutoML — bayesian для NAS.
Engineering optimization. Где expensive evaluation: chemical engineering, drug discovery, structural design.
Связанные темы
- Hyperparameter tuning на собесе DS
- Bayesian методы для DS
- AutoML для DS
- XGBoost vs LightGBM vs CatBoost для DS
- Подготовка к собесу Data Scientist
FAQ
TPE vs GP?
TPE (Tree-structured Parzen Estimator) — alternative surrogate. Часто быстрее GP на discrete / mixed search spaces. Default в Optuna.
Это официальная информация?
Нет. Статья основана на работах (Snoek 2012 GP-UCB), документации Optuna.
Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.