Интуитивное понимание переобучения и недообучения с помощью моделей статистического обучения на примере.

Мысленный эксперимент

Предположим, мы пытаемся предсказать некоторые явления Y. Пусть X будет всеми другими переменными во вселенной, кроме Y, которые можно использовать для объяснения Y. Тогда существует некоторая функция g(X), которая наилучшим образом предсказывает Y. Наконец, давайте предположим, что Y, будучи случайным событием, невозможно точно предсказать. Это означает, что в прогнозах всегда будут ошибки Ŷ. Все это можно резюмировать следующим образом:

Y = g(X)+δ

g(X) называется истинной структурой. Это лучший возможный предиктор Y, использующий каждую независимую переменную в X.

δназывается неустранимой ошибкой. Даже при самой оптимальной комбинации объясняющих переменных в X прогнозы Ŷ никогда не будут точными.

На самом деле, в лучшем случае наша модель имеет некоторое сходство с истинной структурой. Почему? У нас есть доступ к гораздо меньшему количеству объясняющих переменных, чем теоретическая концепция X. Это приводит к более знакомому термину случайная ошибка:

ε = [g(X) − f(X′)] + δ

Здесь f(X′) — наша функция прогнозирования или модель, построенная с использованием X′,которая представляет собой набор данных и объясняющие переменные, к которым у нас есть доступ. Первый член [g(X) − f(X′)] называется bias, что является ошибкой в ​​нашей модели. Мы знаем, что второй член δ представляет собой неустранимую ошибку или истинную необъяснимую изменчивость Y. Случайная ошибка ε, которую мы стремимся минимизировать, состоит из суммы этих двух членов. Независимо от того, насколько хорошо подходит f, максимум, к чему можно привести ε, — это δ.

Компромисс смещения и дисперсии

Уравнение ε= [g(X) − f(X′) ] + δили ошибка = смещение + дисперсия представляет собой компромисс между смещением и дисперсией для некоторой модели f. ‎Удерживая ошибку фиксированной, уменьшение смещения означает, что дисперсия модели увеличивается. Точно так же уменьшение дисперсии модели означает, что смещение должно увеличиться. Чтобы визуализировать эту взаимосвязь, я настроил две простые модели, соответствующие истинной структуре g(X), которая в данном случае является полиномом 4-й степени.

Темно-синяя линия — g(X). Моделирование выполняется 75 раз путем подгонки линейной (слева) и полиномиальной (справа) регрессии с использованием случайного подмножества данных X′, обозначенного голубой линией. Линейные модели плохо соответствуют g(X) и показывают относительно большее смещение, чем полиномиальные подборы. Однако линейные подгонки имеют меньшую дисперсию модели. Независимо от того, какой X выбран, соответствие будет постоянным. Это неверно для полиномиальных подгонок. В то время как некоторые соответствуют g(X) почти идеально, многие нет, что дает большую ошибку и увеличивает дисперсию модели. На самом деле известно, что многочлены переобучаются и плохо обобщаются для предсказаний за пределами X′. Это происходит из-за компромисса смещения и дисперсии, присущего этому типу модели.

В целом динамику компромисса смещения и дисперсии можно резюмировать следующим образом:

Гибкая модель: высокая предвзятость и низкая дисперсия.

Негибкая модель:низкая предвзятость и высокая дисперсия.

Хотя гибкая модель может лучше обобщать, она также может недооценивать и исправлять свои ошибки. Хотя негибкая модель может давать отличные прогнозы для определенных выборок X′, вы также рискуете переобучиться и получить неверные прогнозы.

До сих пор мы видели, что можем обменять предвзятость на дисперсию и наоборот. Естественным расширением этого является то, что мы можем оптимизировать отношение смещения к дисперсии в модели, используя какой-либо критерий, например RSS (если это проблема регрессии), чтобы получить наилучшие прогнозирующие характеристики. Этот процесс известен как настройка модели. Изменяя различные параметры модели в проверочном наборе с помощью k-folding или начальной загрузки, мы на самом деле ищем оптимальное соотношение смещения и дисперсии для данного набора данных.

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

Допустим, у вас есть небольшой набор данных размером n=20. Затем смещение и дисперсию можно значительно уменьшить, увеличив размер n, предполагая, что добавленные выборки предоставляют новую информацию (что они, вероятно, получат при таком малом размере выборки). Однако, если у вас уже есть большой объем данных X′, который близок к X, систематическая ошибка и дисперсия уменьшится лишь незначительно.

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

В целом, я думаю, что хорошим способом обобщить всю эту информацию является диаграмма. Обратите внимание, что эта диаграмма является вымышленной, я просто вручную добавил кривые, и они построены не на основе реальных данных. Суть в том, чтобы донести интуицию.

Каждая кривая или граница представляет одну модель для заданного набора данных размером n. Ось X показывает критерий MSE, который должен быть минимизирован. Ось Y представляет отношение смещения к дисперсии. Мы можем двигаться вдоль границы, настраивая параметры данной модели. Обратите внимание, что границы имеют разную форму, а это означает, что каждая модель может работать лучше или хуже при заданном уровне систематической ошибки и дисперсии. Предполагая, что n достаточно велико, единственный способ уменьшить MSE для данной модели — изменить отношение смещения к дисперсии путем настройки параметров. Это приводит к движению по кривой. Например, XGBoost имеет параметр λ (скорость обучения). Предположим, что λ равно 0,001 (оранжевый кружок). При увеличении λ до 0,01 смещение уменьшается, а дисперсия увеличивается, мы двигаемся вниз по кривой к оптимальной MSE (красный X). Если n достаточно мало, мы можем сдвинуть границу к меньшему MSE, увеличив n. Однако существует предел, к которому n приближается: чем больше n, тем меньше уменьшение MSE. Наконец, взглянув на SVM и Random Forest, вы можете увидеть, что плохо настроенная высшая модель может быть хуже по сравнению с хорошо настроенной низшей моделью.

Как насчет классификации?

До сих пор теоретическая концепция компромисса смещения и дисперсии применялась и понималась через призму регрессии. Имеет смысл, что компромисс между смещением и дисперсией жив и здоров для задач классификации, нам просто нужно переопределить его немного по-другому.

В точке X = x существует дискретное распределение по kвозможным классам целевого Д.

p₁ = P(Y=1 | X= x₀)

p₂ = P(Y=2 | X= x₀)

pₖ = P(Y=k | X= x₀)

Настоящийкласс — это класс, имеющий самую высокуювероятность X = x₀. Далее давайте представим теоретическую концепцию под названием Оптимальный байесовский классификатор. Он определяется как вероятностная модель, которая делает наиболее вероятный прогноз при некотором X′. Если мы зададим этой модели X(все остальные переменные во вселенной, кроме Y), то Оптимальный байесовский классификатор на самом деле будет нашим истинная структура g(X), описанная ранее. Неустранимая ошибкаδпредставляется тем фактом, что вместо этого может наблюдаться некоторый класс k, который не является наиболее вероятным классом.

Применение концепции к различным моделям

Чтобы укрепить концепцию компромисса смещения и дисперсии, имеет смысл попробовать применить интуицию к множеству различных моделей. Прохождение этого процесса дает вам лучшее понимание параметров модели и позволяет при необходимости объяснить их влияние. Думая о компромиссе смещения и дисперсии как о структуре, вы можете лучше понять, когда вы переобучаете и недообучаете данные в разных ситуациях.

Сплайны и базисные функции

Кубические сплайны — это тип базисной функции, где каждая функция представляет собой кубический многочлен. X разбивается на K-1 областей, и кубический полином соответствует наблюдениям в этой области. Каждая функция соединена в узлах путем установки ограничений модели таким образом, чтобы каждая часть плавно стыковалась друг с другом. Главный параметр, который настраивается, — это количество узлов. Обратите внимание, что степени свободы df напрямую связаны с количеством узлов k. kknots означает, что модель имеет k+3 df.

Давайте посмотрим на приведенный выше график. Функция, показанная красным цветом, использует кубический сплайн с df=5 (модель A), а функция, показанная зеленым цветом, использует кубический сплайн с df=20 (модель B). Модель A имеет больше смещения и меньше дисперсии, потому что k относительно мало. Модель B имеет меньше смещения и больше дисперсии, потому что k относительно велико. Это более сложная модель.

Какая модель лучше подходит? Если вы просто руководствуетесь таким критерием, как минимизация MSE, то ответом будет модель B. Но, просто взглянув на график, мы понимаем, что это неправильно. Помимо того, что он не является гладким, что является основной целью графика, он, по-видимому, не отражает общую тенденцию данных. Функция почти точно пересекает последние две точки. Если бы мы немного экстраполировали, случайно добавив несколько новых наблюдений около X = 110, график вряд ли соответствовал бы этим данным. Таким образом, модель B подгоняет данные, а модель A гораздо лучше справляется с поиском компромисса между смещением и дисперсией.

Ридж-регрессия

Гребневая регрессия представляет собой адаптацию к регрессии методом наименьших квадратов (LSR). Когда f(X) = g(X), LSR является беспристрастным. Хотя это никогда не бывает, LSR может иметь неоптимальную величину смещения и дисперсии, и это может быть увеличено при наличии мультиколлинеарности (некоторые независимые переменные коррелируют). Ридж-регрессия стремится уменьшить дисперсию (и увеличить смещение) путем применения штрафа к коэффициентам модели. Модель гребневой регрессии (также известная как сжатый метод наименьших квадратов) определяется путем минимизации:

Последний член — это штраф, влияние которого контролируется параметром настройки λ. Этот термин также известен как регуляризация L2. Переобучение можно уменьшить, уменьшив λ. Это увеличиваетпредвзятость и уменьшаетдисперсию. Недообучение можно уменьшить, увеличив λ. Это увеличиваетдисперсию и уменьшает погрешность. Суть модели гребневой регрессии заключается в уменьшении переобучения, поэтому обычно λ ‹ 1, в результате чего коэффициенты находятся между нулем и оценкой методом наименьших квадратов.

K-ближайшие соседи

KNN — это простая модель классификации, которая работает следующим образом:

  1. Выберите параметр k равным размеру окрестности. Таким образом, любое соседство состоит из k точек, которые используются для голосования за класс на основе их метки.
  2. Предсказать точку x₀, которая существует в pмерном пространстве X.
  3. Определите kближайшие точки к x₀ (его окрестности), вычислив евклидово расстояние. Назовите этот район N₀.
  4. Для каждой точки в N₀ подсчитайте их класс.
  5. Тогда Ŷ(x₀)(наш прогноз для x₀) — это класс с наибольшим количеством.

На карте ниже показаны некоторые данные с двумя классами (красный и зеленый) в двухмерном пространстве (p=2). Параметр настройки k установлен на 15.

Если x₀ попадает в зеленое пространство, то его предсказанный класс — зеленый. Если x₀ попадает в красное поле, то его предсказанный класс — красный. При k=15 границы (или окрестности) кажутся разумными. Да, некоторые точки находятся не в том месте, но если бы нам пришлось рисовать границу вручную, мы, вероятно, нарисовали бы что-то подобное. Давайте попробуем добиться большего, уменьшив k, установив k=3.

Теперь, когда районы стали меньше, появилось больше островов. Хорошо, что большой остров справа кажется разумным. Плохо то, что маленькие острова кажутся слишком специфическими. При уменьшении до k=3 модель кажется слишком сложной. Увеличив k до k=5, мы, вероятно, сможем исключить маленькие островки и оставить большой, что даст нам желаемое соответствие.

Итак, какой вывод мы можем сделать, настроив k? Небольшое значение k снижает погрешность и увеличивает дисперсию. Смещение уменьшается, потому что мы видим, что εуменьшается с k=15. Однако дисперсия больше, потому что мы видим, что с разными выборками карта будет выглядеть совершенно по-разному. Возможно, модель k=3 слишком сложна (переоснащение), а модель k=15 слишком общая (недостаточное соответствие). Таким образом, просто визуализируя модель, мы можем видеть, что наше лучшее значение k находится где-то в этом диапазоне.

Деревья регрессии

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

  1. Для данного региона X мы хотим разделить его на два региона R₁ и R₂.
  2. Чтобы найти наилучший раздел, переберите каждое разделение между xᵢ и xᵢ ₊₁ в X и рассчитайте RSS, подогнав горизонтальную линию регрессии.
  3. Наименьшее разделение RSS определяет новые регионы R₁ и R₂. Это определяет новый узел в дереве регрессии.
  4. Рекурсивно вызовите эту функцию, передав новые регионы R₁ и R₂ в качестве входных данных X.
  5. Базовый вариант (условие останова) может срабатывать, если достигнута максимальная глубина d или в регионе меньше n наблюдений.

Здесь n и d — это параметры, которые можно настроить для оптимизации компромисса смещения и дисперсии. После того, как дерево было построено по описанному выше алгоритму, оно выглядит так:

Это дерево построено как минимум на двух независимых переменных: плотность(X₁)и рН(X₂). Чтобы получить прогноз для некоторых x₁ и x₂, вы следуете логической логике от корневого узла до конечного конечного узла, на котором вы остановились. Возьмем в качестве примера параметр d. Чем больше d, тем больше разбиений происходит, и модель становится более сложной. Столь большое значение d приводит к уменьшению систематической ошибки и увеличению дисперсии. Точно так же маленькое значение d приводит к увеличению систематической ошибки и уменьшению дисперсии. Давайте также визуализируем это, когда мы фактически строим дерево регрессии (используя разные данные).

Синие вертикальные линии представляют разделение, а зеленые горизонтальные линии — регрессию, используемую для вычисления среднего RSS. Обратите внимание, что это не самые лучшие сплиты, так как я выбираю их вручную, но я пытался найти что-то разумное. Я сделал два разделения, поэтому d=2. Учитывая небольшой объем данных, которые мы должны использовать, это кажется разумным. Давайте попробуем добавить больше сплитов.

Увеличивая d, мы можем дополнительно уменьшить смещение и RSS до 200. Фактически, мы можем продолжать этот процесс разбиения до тех пор, пока RSS не станет равным нулю и у нас не будет n-1разбиений. . Это проблема с одиночными деревьями: они могут быть почти беспристрастными, но очень изменчивыми. В отличие от примера с KNN, неясно, какое дерево будет лучшим предиктором, но очевидно, что увеличение d уменьшает смещение и увеличивает дисперсию. .

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

Основные выводы

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

Допустим, вы настраиваете модель на тренировочном наборе, используя перекрестную проверку (CV) и поиск по сетке. Если вы запускаете 5-кратное CV (без повторения) и настраиваете 5 параметров, используя 6 значений каждый, то модель должна соответствовать 5⁶ * 5 = 78125 раз. Даже если вы моделируете поезда всего за несколько секунд, это все равно много времени для вычислений для такой маленькой сетки. Теперь, если вы выполняете первоначальную подгонку модели и видите, что она явно переоснащает или недообучает данные, вы можете удалить значения сетки, которые явно усугубят эту проблему.