Bias-variance tradeoff простыми словами
payments нужно выбрать платежи из России (country = 'RU') со статусом либо 'failed', либо 'chargeback'. Какой WHERE корректный?Содержание:
Короткое объяснение
Bias-variance tradeoff — фундаментальный принцип ML: модель делает ошибки по двум причинам.
- Bias (смещение): модель слишком простая, не улавливает зависимости
- Variance (дисперсия): модель слишком сложная, улавливает шум
Снижение bias обычно увеличивает variance и наоборот.
Формула
Total error = Bias² + Variance + Irreducible noiseЦель — минимизировать sum (bias² + variance). Полностью обнулить невозможно из-за noise.
Underfitting vs Overfitting
Underfitting (bias высокий)
Модель слишком простая. Пропускает паттерны.
Признак: плохие метрики и на обучении (train), и на тесте.
Пример: линейная регрессия на нелинейных данных.
Overfitting (variance высокий)
Модель слишком сложная. Запоминает шум.
Признак: отличная метрика на обучении, плохая на тесте.
Пример: дерево решений с 1000 листьев на 1000 наблюдений.
Идеал — баланс
Хорошие метрики на обучении и тесте, близкие друг к другу.
Визуально
Error
|
| Total error
| \ /
| \___________/
| / \ / \
| / \ / \
| Bias \ Variance
+---------+------------> Complexity
^
Sweet spotBias падает с ростом complexity. Variance растёт. Total error — U-shape.
Примеры моделей
Высокий bias
- Линейная регрессия на нелинейных данных
- Дерево глубиной 1 (stump)
- Всегда предсказывать среднее
Высокий variance
- Глубокая нейросеть без регуляризации
- Дерево без ограничения глубины
- K-NN с K=1
Как балансировать
1. Увеличить данные
Больше данных → меньше variance без роста bias. Универсальное лекарство.
2. Регуляризация
L1/L2-регуляризация уменьшает variance, добавляя немного bias.
3. Ансамбли
- Bagging (Random Forest): снижает variance
- Boosting (XGBoost): снижает bias
4. Отбор признаков
Меньше признаков → меньше variance. Но может вырасти bias.
5. Кросс-валидация
Правильно оценить обобщение. Без CV можно думать, что модель хорошая, а она переобучена.
6. Ранняя остановка (early stopping)
В boosting / нейросетях — остановить обучение до оверфита.
7. Сложность модели
Сначала простая. Если underfit — усложнить.
Bias-variance в аналитике
A/B-тест
Шум (variance) сложно уменьшить — нужна большая выборка. Через CUPED можно снизить variance.
Прогноз продаж
ARIMA — высокий bias (простая модель). LSTM на маленьких данных — высокий variance. Баланс: Prophet, XGBoost для временных рядов.
Сегментация пользователей
Мало кластеров (K=2) — underfit. Много (K=50) — overfit.
Прогноз оттока
Logistic regression — высокий bias. Random Forest — средний. Стекинг-ансамбли — низкий bias, но variance надо контролировать.
Как определить
Кривые обучения (learning curves)
График ошибки на train и test по мере добавления данных.
- Train низкая, test высокая → оверфит
- Обе высокие → underfit
Кривые валидации (validation curves)
График ошибки по сложности (гиперпараметру).
- Train падает, test возрастает → оверфит
- Обе высокие → underfit
Кросс-валидация
Многократное разделение train/test. Стабильное качество → хороший баланс.
На собесе
«Что такое bias-variance tradeoff?» Ошибка модели = bias² + variance. Они компенсируют друг друга.
«Что такое оверфит?» Высокая variance. Модель слишком сложная, запоминает train.
«Как балансировать?» Данные, регуляризация, ансамбли, кросс-валидация.
«Random Forest vs Logistic Regression?» RF — более сложная, ниже bias, выше variance. LR — наоборот.
Deep double descent (современное)
Новое открытие: при очень высокой сложности ошибка на тесте снова падает. Это эффект в deep learning.
Классический tradeoff применим к «классическим» моделям. Нейросети с миллиардами параметров иногда ведут себя иначе.
Частые ошибки
1. Оверфит на train
«Модель 99% accuracy» → почти всегда оверфит. Всегда считайте на тесте.
2. Одно train/test split
Одно разделение ненадёжно. Используйте кросс-валидацию.
3. Регуляризация без настройки
L2 с λ=0 — как без регуляризации. Нужен подбор гиперпараметров.
4. Data leakage
Использование train-данных для масштабирования / feature engineering → test получает информацию о train.
5. Игнорировать неустранимый шум
Если в данных шум — идеальная модель невозможна. Не гоняйтесь за 100% accuracy.
6. Сравнивать модели на разных сплитах
Две модели оценивали на разных train/test — вывод «A лучше B» ничего не стоит. Нужен один фиксированный сплит или кросс-валидация.
Связанные темы
- Мультиколлинеарность
- Линейная регрессия
- Логистическая регрессия
- Cross-validation простыми словами
- Что такое overfitting
FAQ
Что такое неустранимый шум?
Часть ошибки, которую нельзя убрать даже идеальной моделью. Из-за случайности в данных.
Больше данных всегда лучше?
Да, для variance. Для bias — нет, нужна правильная модель.
Какая модель имеет низкие bias и variance?
Настроенный ансамбль на большом датасете. Но даже у них есть tradeoff.
Bias-variance в A/B?
Мотивация: большая выборка → меньше variance в оценке эффекта.