Собесов

alexeygrigorev/data-science-interviews: bias-variance trade-off

Статистика и теорверТеория MLСредняяMiddle

Условие

Объясните bias-variance trade-off. Что такое смещение модели, что такое дисперсия, как они связаны с переобучением и недообучением. Приведите примеры моделей с высоким bias и высокой variance.

Решение

Подход

Разложение ошибки: E[(y - ŷ)^2] = Bias^2 + Variance + irreducible noise.

  • Bias — систематическая ошибка из-за слишком упрощённых допущений модели. Линейная регрессия на принципиально нелинейных данных = высокий bias (недообучение).
  • Variance — насколько прогноз меняется при изменении обучающей выборки. Глубокое дерево без ограничения глубины перепутает шум с сигналом = высокая variance (переобучение).

Чем сложнее модель, тем ниже bias, но выше variance — это и есть trade-off. Минимум общей ошибки лежит в середине.

Что с этим делать

Симптом Что снижать Инструменты
Train loss и test loss оба большие, и близки Bias Усложнить модель, добавить признаки, обучать дольше
Train loss маленький, test большой Variance Регуляризация (L1/L2), dropout, ранняя остановка, больше данных, ансамбли (bagging)
Оба маленькие Ничего Деплой
# Простая иллюстрация на полиномах разной степени
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import make_pipeline
 
# degree=1 -> высокий bias
# degree=15 -> высокая variance
for d in [1, 3, 15]:
    model = make_pipeline(PolynomialFeatures(d), LinearRegression())

Подводные камни

  1. Bias и variance — про ожидание по разным обучающим выборкам, а не про одну конкретную модель. На одном train/test split вы видите лишь точечную оценку.
  2. Бустинг снижает bias (последовательное обучение на ошибках), bagging — variance (усреднение независимых моделей). Путаница в направлении — частая ошибка.
  3. Регуляризация увеличивает bias, чтобы снизить variance — это компромисс, а не «бесплатный обед».

Эталонный ответ

Bias — недообучение из-за упрощений, variance — переобучение из-за чувствительности к выборке. Полная ошибка = Bias^2 + Variance + шум. Снижать в зависимости от того, что больше: усложнять/добавлять данные/регуляризовать.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти