Bias-variance tradeoff простыми словами
Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.
Короткое объяснение
Bias-variance tradeoff — фундаментальный принцип ML: модель делает ошибки по двум причинам.
- Bias (смещение): модель слишком простая, не улавливает зависимости
- Variance (дисперсия): модель слишком сложная, улавливает шум
Снижение bias обычно увеличивает variance и наоборот.
Формула
Total error = Bias² + Variance + Irreducible noiseЦель — минимизировать sum (bias² + variance). Полностью обнулить невозможно из-за noise.
Underfitting vs Overfitting
Underfitting (bias высокий)
Модель слишком простая. Пропускает паттерны.
Признак: плохие метрики и на train, и на test.
Пример: линейная регрессия на нелинейных данных.
Overfitting (variance высокий)
Модель слишком сложная. Запоминает шум.
Признак: отличная метрика на train, плохая на test.
Пример: decision tree с 1000 листьев на 1000 наблюдений.
Идеал — баланс
Хорошие метрики на train и на test, близкие друг к другу.
Визуально
Error
|
| Total error
| \ /
| \___________/
| / \ / \
| / \ / \
| Bias \ Variance
+---------+------------> Complexity
^
Sweet spotBias падает с ростом complexity. Variance растёт. Total error — U-shape.
Примеры моделей
Высокий bias
- Линейная регрессия на нелинейных данных
- Decision tree глубиной 1 (stump)
- Всегда предсказывать mean
Высокий variance
- Deep neural network без регуляризации
- Decision tree без ограничения глубины
- K-NN с K=1
Как балансировать
1. Увеличить данные
Больше данных → меньше variance без роста bias. Универсальное лекарство.
2. Регуляризация
L1/L2 regularization → уменьшает variance, добавляя немного bias.
3. Ансамбли
- Bagging (Random Forest): снижает variance
- Boosting (XGBoost): снижает bias
4. Feature selection
Меньше features → меньше variance. Но может вырасти bias.
5. Cross-validation
Правильно оценить generalization. Без CV можно думать, что модель хорошая, а она overfit.
6. Early stopping
В boosting / neural nets — остановить обучение до overfitting.
7. Сложность модели
Сначала простая. Если underfit — усложнить.
Bias-variance в аналитике
A/B-тест
Noise (variance) сложно уменьшить — нужна большая выборка. Через CUPED можно снизить variance.
Прогноз продаж
ARIMA — высокий bias (простая модель). LSTM на маленьких данных — высокий variance. Баланс: Prophet, XGBoost time series.
Customer segmentation
Мало кластеров (K=2) — underfit. Много (K=50) — overfit.
Churn prediction
Logistic regression — высокий bias. Random Forest — средний. Stacked ensemble — низкий bias, но variance надо контролировать.
Как определить
Learning curves
График ошибки на train и test по мере добавления данных.
- Train ошибка низкая, test высокая → overfit
- Обе высокие → underfit
Validation curves
График ошибки по complexity (hyperparameter).
- Train падает, test возрастает → overfit
- Обе высокие → underfit
Cross-validation
Многократное разделение train/test. Stable performance → good balance.
На собесе
«Что такое bias-variance tradeoff?» Ошибка модели = bias² + variance. Они компенсируют друг друга.
«Что такое overfitting?» Высокая variance. Модель слишком сложная, запоминает train.
«Как балансировать?» Данные, регуляризация, ансамбли, CV.
«Random Forest vs Logistic Regression?» RF — более сложная, ниже bias, выше variance. LR — наоборот.
Deep double descent (современное)
Новое открытие: при очень высокой complexity test error снова падает. Это breakthrough-эффект в deep learning.
Классический tradeoff применим к «классическим» моделям. Neural nets с миллиардами параметров иногда ведут себя иначе.
Частые ошибки
1. Overfitting на train
«Модель 99% accuracy» → почти всегда overfit. Всегда считайте на test.
2. Одна train/test split
Single split не надёжен. Используйте cross-validation.
3. Регуляризация без настройки
L2 с λ=0 — как без регуляризации. Нужен hyperparameter tuning.
4. Data leakage
Использование train данных для scaling / feature engineering → test получает информацию о train.
5. Игнорировать irreducible noise
Если noise в данных — идеальная модель невозможна. Не гоняйтесь за 100% accuracy.
Связанные темы
FAQ
Что такое irreducible noise?
Часть ошибки, которую нельзя убрать даже идеальной моделью. Из-за случайности в данных.
Больше данных всегда лучше?
Да, для variance. Для bias — нет, нужна правильная модель.
Какая модель имеет низкие bias и variance?
Hyperparameter-tuned ensemble на большом dataset. Но даже они имеют tradeoff.
Bias-variance в A/B?
Мотивация: большая выборка → меньше variance в estimate effect.
Тренируйте ML — откройте тренажёр с 1500+ вопросами для собесов.