Перейти к основному содержимому

Разложение на смещение и разброс

Разложение на смещение и разброс (bias-variance decomposition) позволяет более формально описать недообученность (underfitting) и переобученность (overfitting) в прогнозных моделях машинного обучения.

Рассмотрим задачу регрессии c реальной зависимостью между данными

y=f(x)+εy=f(\mathbf{x})+\varepsilon

где ε\varepsilon - случайный шум, не зависящий от объектов x\mathbf{x} и имеющий нулевой среднее.

Эту зависимость мы будем приближать модельной зависимостью f^(x)\widehat{f}(\mathbf{x}) по имеющейся обучающей выборке

(X,Y)={(xn,yn),n=1,2...N}(X,Y)=\{(\mathbf{x}_{n},y_{n}),\,n=1,2...N\}

Зафиксируем объект x\mathbf{x}, для которого мы строим прогноз, и оценим ожидаемый квадрат ошибки (f^(x)y(x))2(\widehat{f}(\mathbf{x})-y(\mathbf{x}))^2, усредняя по реализациям случайного шума ε\varepsilon и обучающей выборки (X,Y)(X,Y). Последнее представляет интерес, поскольку на практике в обучающую выборку попадают случайные объекты из генеральной совокупности.

Например, при классификации новостей мы выгружаем из интернета случайные NN новостей и их размечаем вручную. Но мы могли бы разметить и другие NN новостей, получив при этом другую обучающую выборку, по которой модель настроилась бы немного по-другому.

Лучшее, что мы можем сделать, это приблизить f^(x)f(x)\hat{f}(\mathbf{x})\approx f(\mathbf{x}), поскольку шум ε\varepsilon не зависит от объектов и его мы прогнозировать не можем.

Разложение на смещение и разброс (bias-variance decomposition) декомпозирует ошибку прогноза на различные причины этой ошибки.

Разложение на смещение и разброс
EX,Y,ε{[f^(x)y(x)]2}=(EX,Y{f^(x)}f(x))2+EX,Y{[f^(x)EX,Yf^(x)]2}+Eε2\begin{align*}\mathbb{E}_{X,Y,\varepsilon}\{[\widehat{f}(\mathbf{x})-y(\mathbf{x})]^{2}\}=&\left(\mathbb{E}_{X,Y}\{\widehat{f}(\mathbf{x})\}-f(\mathbf{x})\right)^{2}\\&+\mathbb{E}_{X,Y}\left\{ [\widehat{f}(\mathbf{x})-\mathbb{E}_{X,Y}\widehat{f}(\mathbf{x})]^{2}\right\} +\mathbb{E}\varepsilon^{2}\end{align*}
  • Выражение в первой компоненте, возводимое в квадрат, называется смещением модели (bias) и показывает, насколько систематически модель будет отклоняться от целевой зависимости f(x)f(\mathbf{x}), если мы будем использовать различные обучающие выборки.

  • Вторая компонента разложения называется дисперсией модели (variance) и показывает, насколько модель будет выдавать различные прогнозы, если мы будем её настраивать на различных обучающих выборках.

  • Третья компонента называется неснижаемой ошибкой (irreducible error) и определяется шумом в данных, который мы предсказать не можем.

Это можно проиллюстрировать игрой в дартс, где мы стремимся попасть дротиком в центр цели. Ошибка попадания в цель может объясняться большим смещением (например, ветер систематически сдувает дротик в сторону) или большой дисперсией (неточные броски). Смещение и дисперсия могут присутствовать и совместно.


darts.png


Рассмотрим задачу прогнозирования для квадратичной зависимости y=x2+εy=x^2+\varepsilon.

  • У недообученных моделей (например, линейной регрессии от y=w0+w1xy=w_0+w_1x) ошибка будет вызвана высоким смещением, поскольку прямая будет систематически отклоняться от целевой квадратичной зависимости. При этом дисперсия модели будет невелика, поскольку в ней присутствуют всего два параметра w0,w1w_0,w_1 и они будут примерно похожими для различных обучающих выборок.

  • У переобученных моделей (например, при прогнозировании квадратичной зависимости полиномом высокой степени или решающим деревом, которое мы строим до самого низа), напротив, смещение будет нулевым, поскольку оно будет безошибочно подгоняться под обучающие данные, а ошибка прогнозирования будет вызвана высокой дисперсией, связанной с переподгоном модели под частные особенности полученной обучающей выборки (модель её запоминает).