В этом посте мы объясним компромисс смещения и дисперсии, фундаментальную концепцию машинного обучения, и покажем, что это означает на практике. Мы покажем, что среднеквадратичная ошибка невидимой (тестовой) точки является результатом двух конкурирующих сил (смещение / дисперсия) и внутреннего шума самой проблемы.

Мотивация

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

Высокая систематическая ошибка обычно возникает из-за чрезмерного упрощения допущений модели, а высокая дисперсия - из-за чрезмерно сложных предположений. Неприводимая ошибка, как следует из названия, не имеет отношения к базовой модели и связана с внутренним шумом проблемы. Этот шум может представлять собой шум, возникающий из-за качества данных (например, неточности в сборе или представлении данных), только из приблизительного знания истинной функции, описывающей реальную проблему, из-за недетерминированного поведения основного явления и, в целом, любой тип шума, который трудно определить. Когда наша модель страдает от высокого смещения, средний отклик модели далек от истинного значения, и мы называем это недостаточным соответствием. Когда наша модель страдает от высокой дисперсии, это обычно является результатом ее неспособности обобщать далеко за пределами обучающих данных, и мы называем это переобучением. Наша цель - построить модель, которая обеспечивает баланс между систематической ошибкой и дисперсией, чтобы суммарная ошибка этих двух конкурирующих сил была минимальной *. Это средняя зона на графике выше!

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

Определение проблемы

Начнем с определения некоторых ключевых понятий. Мы предполагаем, что у нас есть независимые переменные x, которые влияют на значение зависимой переменной y посредством детерминированного или недетерминированного отношения. Мы говорим недетерминированный, потому что на значение y также может влиять шум, который нельзя смоделировать явно. Обозначим зависимость y от x с помощью функции f, которая, по сути, представляет истинную основную взаимосвязь между x и г. В реальных ситуациях, конечно, очень сложно - если не невозможно - узнать об этой связи, но мы будем предполагать, что f зафиксировано, даже если оно неизвестно. В этом случае y, который является результатом x и случайного шума, определяется по формуле:

Шум моделируется случайной величиной ϵ с нулевым средним значением и дисперсией σϵ². Величина дисперсии представляет собой уровень неопределенности в отношении основного явления. Чем больше наша неопределенность, тем больше значение σϵ². Математически обладает следующими свойствами:

Теперь, когда мы пытаемся смоделировать основную проблему реальной жизни, на самом деле это означает, что мы пытаемся найти функцию , максимально приближенную к истинной (но неизвестной нам) функции. f. Функция может принимать форму коэффициентов в случае регрессии, опорных векторов и двойных коэффициентов в случае машин опорных векторов (SVM), и она извлекается из данных обучения. Чем ближе базовое распределение, генерирующее обучающие данные, к базовому распределению, генерирующему тестовые (невидимые) данные, тем лучше модель, представленная функцией , будет обобщаться на невидимые данные. Функция изучается путем минимизации функции потерь, цель которой - максимально приблизить предсказания обучающих данных к наблюдаемым значениям: y ≈ f̂ (x).

M квадратичная ошибка (MSE, для сокращения) - это среднеквадратичная разность прогноза f̂ (x) от его истинного значения y. Это определяется как:

Смещение определяется как разница среднего значения прогноза (для разных реализаций обучающих данных) от истинной базовой функции f (x) для данной невидимой (тестовой) точки x.

Давайте потратим немного времени, чтобы объяснить, что мы подразумеваем под «различными реализациями обучающих данных». Предположим, мы хотим отслеживать взаимосвязь между уровнем дохода семьи и ценами на продажу дома в определенном районе. Если бы у нас был доступ к данным по каждой семье, мы могли бы обучить очень точную модель. Но поскольку получение данных может быть дорогостоящим, трудоемким или может быть связано с проблемами конфиденциальности, в большинстве случаев у нас нет доступа ко всем данным основной совокупности. реализация означает, что у нас есть доступ только к части базовых данных в качестве наших обучающих данных. Это осознание может быть нерепрезентативным для основного населения (например, если мы опрашиваем только дома, в которых домохозяйство имеет определенный уровень образования) или репрезентативным (если это делается без расовых, образовательных, возрастных или других типов предубеждений). Итак, когда мы говорим, что ожидание 𝔼 [f̂ (x)] относится к различным реализациям обучающих данных, это можно представить, как если бы у нас была возможность опросить выборку из базовой совокупности, обучение нашей модели на этом примере, вычисление f̂ (x) и повторение этого несколько раз (каждый раз с другой обучающей выборкой). Среднее значение прогнозов составит 𝔼 [f̂ (x)] . Здесь f̂ (x) изменяется, даже если x фиксировано, просто потому, что f̂ зависит от данных обучения. Итак, будет отличаться для разных реализаций обучающих данных. Говоря более математическим языком, - это случайная величина, на которую влияет случайность, с которой мы получаем обучающие данные.

Дисперсия определяется как среднеквадратическое отклонение f̂ (x) от его ожидаемого значения 𝔼 [f̂ (x)] над разными реализациями обучающих данных.

Формула, которая связывает тестовую MSE со смещением, дисперсией и неснижаемой ошибкой:

Первое ожидание в члене 𝔼 [𝔼 [(y - f̂ (x)) ²]] связано с распределением невидимых (тестовых) баллов x , а второй - по распределению обучающих данных и случайной величины ϵ. Поскольку зависит от данных обучения, мы также можем сказать, что второе ожидание превышает f̂, ϵ. Если бы мы написали приведенную выше формулу точнее, это будет:

но для простоты мы опустим ожидаемые идентификаторы. Все три члена в правой части неотрицательны, и выбор модели не влияет на неснижаемую ошибку. Это означает, что тестовая MSE не может опускаться ниже σϵ². Теперь мы выведем формулу для данной контрольной точки x. Поскольку она будет верна для данной контрольной точки x, она будет выполняться для любого распределения невидимых контрольных точек.

Доказательство разложения дисперсии смещения

Напоминаем, что мы предполагаем, что x - это невидимая (тестовая) точка, f - основная истинная функция (определяющая взаимосвязь между x и y), который неизвестен, но фиксирован, а ϵ представляет собой внутренний шум проблемы. Тестовая MSE, 𝔼 [(y - f̂ (x)) ²] находится над различными реализациями обучающих данных и случайной переменной ϵ :

(1) потому что y = f (x) + ϵ, (2) из-за расширения квадрата, линейного свойства математического ожидания и независимости случайных величин ϵ и . Помните, что когда две случайные величины независимы, ожидание их продукта равно произведению их ожиданий. В формуле. (3) мы видим, как тестовая MSE разлагается на неприводимую ошибку σϵ² и 𝔼 [(f (x) - f̂ (x)) ²]. Давайте теперь посмотрим, как этот последний термин может быть дополнительно проанализирован.

В формуле. (4) мы вычитаем и складываем на 𝔼 [f̂ (x)] и в уравнении. (5) разложим члены внутри квадрата. Смещение 𝔼 [f̂ (x)] - f (x) - это просто константа, поскольку мы вычитаем f (x) (константа) из 𝔼 [f̂ (x)], которая также является константой. Следовательно, применение математического ожидания к квадрату смещения (𝔼 [f̂ (x)] - f (x)) ² не имеет никакого эффекта. Другими словами, 𝔼 [(𝔼 [f̂ (x)] - f (x)) ²] = (𝔼 [f̂ (x) ] - f (x)) ². В формуле. (6), мы можем вытащить f (x) −𝔼 [f̂ (x)] из ожидания, потому что, как мы уже упоминали, это просто константа. Наконец, (7) выполняется из-за линейности математического ожидания. Следовательно, в (8) мы видим, что 𝔼 [(f (x) - f̂ (x)) ²] - это сумма квадрата смещения и дисперсии. Когда мы объединяем уравнения. (3) и (8) получаем:

Это для заданной контрольной точки x, но обычно у нас есть набор контрольных точек, который преобразуется в формулу, представленную в предыдущем разделе.

(Ожидание 𝔼 в правой части соответствует распределению тестовых данных.)

Демонстрация компромисса смещения и дисперсии на практике

После того, как мы вывели формулу разложения дисперсии смещения, мы покажем, что она означает на практике. Предположим, основная истинная функция f, которая определяет отношения между x и y:

а шум моделируется гауссианом с нулевым средним и стандартным отклонением 1, ~ 𝒩 (0, 1). Напоминаем, что y = f (x) + ϵ. Если мы случайным образом сгенерируем 1000 точек из этого процесса, мы получим следующий график.

Синие точки представляют пары (x, y), а красная линия - это основная истинная функция f (x). Красная точка - это невидимая (тестовая) точка, которую мы хотим предсказать. Мы видим, что f следует нелинейному шаблону из-за добавления квадратного корня и косинуса в определение функции. Для наших целей эти 1000 точек представляют всю базовую совокупность. Вот код для воспроизведения этого сюжета.

Мы будем моделировать задачу с помощью полиномиальных регрессий разной степени сложности. Напоминаем, что в полиномиальной регрессии мы пытаемся установить следующую нелинейную зависимость между x и y.

Другими словами, мы пытаемся аппроксимировать y с помощью f̂ (x), как описано в уравнении. (9). Мы не будем вдаваться в подробности того, как изучаются параметры модели w₀, w₁,…, wd, поскольку это выходит за рамки данной статьи, но предположим, что они оцениваются путем минимизации функции потерь, которая пытается привести f̂ (x) как можно ближе к y .

Теперь предположим, что мы можем использовать только 20 точек (из 1000) для обучения нашей модели полиномиальной регрессии, и мы рассмотрим четыре разные модели регрессии, одна со степенью d = 1 (простая линия), другая с d = 2, d = 3 и d = 5. Если мы случайным образом выберем 20 точек из основной популяции и повторим этот эксперимент 6 раз, мы получим такой возможный результат.

Синие точки представляют собой 20 точек обучающих данных для конкретной реализации (эксперимента). Красная линия - это лежащая в основе (неизвестная нам) истинная функция f, а другие линии представляют подгонку четырех разных моделей к различным реализациям обучающих данных. Зеленые, фиолетовые, голубые и оранжевые точки представляют собой прогноз f̂ (x) тестовой (невидимой) точки x для каждой модели. Как видим, меньше вариаций линий с меньшей степенью сложности. Возьмем, к примеру, d = 1 (простая линия). Наклон линии не сильно меняется между разными экспериментами. С другой стороны, более сложная модель (d = 5) намного более чувствительна к небольшим колебаниям обучающих данных. См., Например, разницу в оранжевой линии (d = 5) между экспериментами 1 и 6 и то, как это влияет на прогноз f̂ (x). Это проблема дисперсии, о которой мы упоминали в предыдущих разделах. Упрощенная модель очень устойчива к изменениям в обучающих данных, а более сложная - нет. С другой стороны, отклонение f̂ (x) от f (x) в среднем (смещение) больше для более упрощенных моделей. , поскольку наши предположения не являются репрезентативными для истинного отношения f. Вот код для вышеуказанных графиков.

Теперь предположим, что мы моделируем 10 000 различных экспериментов путем случайной выборки каждый раз по 20 точек из базовой совокупности, которые служат в качестве данных для обучения. В каждом эксперименте мы узнаем разные , связанные с данными обучения этого эксперимента. Если для данной невидимой контрольной точки x мы оценим f̂ (x) для каждого эксперимента, мы соберем 10 000 значений для f̂ (x). Мы делаем это для линейных (d = 1) и квадратичных (d = 2) моделей регрессии. Если мы запишем эти 10 000 значений, мы получим следующие графики. ( Обратите внимание, что в коде и на графиках контрольная точка обозначается x_, а данные обучения - x _train. Другими словами, даже если в этой статье мы обозначаем контрольную точку x, в коде мы представляем ее переменной x_ test во избежание путаницы) .

Как мы видим, среднее значение f̂ (x), 𝔼 [f̂ (x)], представленное черной линией, дальше от истинного f (x) (красная линия) для модели линейной регрессии, чем для квадратичной (фиолетовая диаграмма). Это предвзятость, другими словами, отклонение от истинной модели, когда предположения нашей модели чрезмерно упрощены. С другой стороны, дисперсия f̂ (x), var (f̂ (x)) больше в квадратичной модели, чем в линейной, как мы видим из большего разброс нижней (фиолетовой) гистограммы. Это проблема дисперсии, другими словами, большая зависимость f̂ (x) от небольших колебаний обучающих данных. Вот код, который воспроизводит графики гистограммы.

Теперь давайте рассмотрим 1000 контрольных точек и вычислим среднюю тестовую MSE (по этим точкам). Мы также вычисляем средний квадрат смещения (по этим 1000 тестовым точкам) и среднюю дисперсию. Если мы сделаем это для пяти моделей, от степени d = 0 (горизонтальная линия) до степени d = 4, мы получим следующий график.

Если мы сложим вместе желтую (квадрат смещения), синюю (дисперсию) и красную (неснижаемая ошибка) линии, мы получим зеленую линию (ошибка теста). Это наша знакомая формула смещения-дисперсии!

Черная линия представляет обучающую MSE, которая уменьшается со сложностью модели, поскольку более сложные модели, как правило, лучше подходят для обучающих данных. В этом конкретном примере мы видим, что лучшая модель для основной проблемы - квадратичная (d = 2), поскольку она обеспечивает минимальную ошибку теста. Код для вышеприведенного графика размещен ниже.

Если вам интересно узнать больше о проблеме смещения-дисперсии, вот очень полезное руководство от Andrew Ng.

Заключение

В этой статье мы представили проблему смещения-дисперсии. Мы приступили к его математическому выводу и показали на примере, что на самом деле означает смещение-дисперсия. Мы продемонстрировали, что при выборе модели необходимо бороться с двумя конкурирующими силами: предвзятостью и дисперсией. Хорошая модель должна обеспечивать баланс между ними, но мы никогда не сможем достичь нулевой ошибки тестирования из-за наличия неснижаемой ошибки. Наша модель не должна быть чрезмерно упрощенной, но и не слишком сложной, чтобы ее можно было хорошо обобщить на ранее невидимые данные.