Компромисс между смещением и дисперсией

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

Используя наше воображение, мы можем представить набор данных, состоящий из признаков X и меток Y, как показано слева. Также представим, что мы хотим обобщить эту зависимость на дополнительные значения X — то есть предсказывать будущие значения на основе того, что мы уже видели.

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

Простая модель

Наша простая модель не лучшим образом описывает эту зависимость — очевидно, что она не улавливает часть информации в данных.

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

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

Низкая сложность и недообучение

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

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

Недообученная модель — это модель, которая слишком проста, чтобы точно уловить зависимости между её признаками X и меткой Y.

Сложная модель

Предыдущая модель работала плохо, потому что была слишком простой. Давай попробуем что-то более сложное. Фактически, давай сделаем модель максимально сложной — обучим модель, которая идеально предсказывает каждую точку в обучающих данных.

Отлично! Теперь наша ошибка на обучающих данных равна нулю. Как гласит старая поговорка в Теннесси: «Обмани меня раз — позор тебе. Обмани меня дважды — э... больше не обманешь ;).»

Высокая сложность и переобучение

Подождите-ка... Несмотря на то, что ошибка на обучающих данных практически равна нулю, ошибка на тестовых данных высока. В чём дело?

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

Переобучение — это случай, когда модель настолько специфична для данных, на которых она обучалась, что больше не применима к другим наборам данных.

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

Разложение тестовой ошибки

Наша тестовая ошибка может быть результатом как недообучения, так и переобучения данных, но как эти два явления связаны друг с другом?

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



Или, математически:



Мы мало что можем сделать с неприводимым членом, но мы можем использовать взаимосвязь между смещением и дисперсией для получения лучших предсказаний.

Смещение

Смещение представляет собой разницу между средним предсказанием и истинным значением:



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

Различные реализации модели показаны на верхнем графике, а разложение ошибки (для каждой точки данных) показано на нижнем графике.

Для недообученных (низкой сложности) моделей большая часть нашей ошибки связана со смещением.

Дисперсия

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



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

Поиск баланса

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

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

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

На разных уровнях сложности

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

Давай направим наше внимание на разложение ошибок на разных уровнях сложности модели.

Для каждого уровня сложности мы агрегируем разложение ошибок по всем точкам данных и построим график агрегированных ошибок для их уровня сложности.

Это агрегирование, применённое к нашей сбалансированной модели (т.е. среднему уровню сложности), показано слева.

Компромисс между смещением и дисперсией

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

Когда модель слишком проста (т.е. малые значения по оси X), она игнорирует полезную информацию, и ошибка в основном состоит из смещения.

Когда модель слишком сложна (т.е. большие значения по оси X), она запоминает необобщаемые закономерности, и ошибка в основном состоит из дисперсии.

Идеальная модель стремится минимизировать как смещение, так и дисперсию. Она находится в оптимальной точке — не слишком простая и не слишком сложная. Достижение такого баланса обеспечит минимальную ошибку.



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



Регрессия LOESS

Регрессия LOESS (локально оцененное сглаживание диаграммы рассеяния) — это непараметрическая техника для подгонки гладкой поверхности между результатом и некоторыми предикторными переменными. Подгонка кривой в заданной точке взвешивается по ближайшим данным. Это взвешивание регулируется гиперпараметром сглаживания, который представляет долю соседних данных, используемых для расчёта каждого локального соответствия.

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

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


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

Классификация K-ближайших соседей (KNN) — это простая техника для присвоения классовой принадлежности точке данных на основе большинства голосов её K ближайших соседей. Например, когда K = 1, точка данных просто присваивается классу ближайшего соседа. Если K = 69, точка данных присваивается классу большинства из её 69 ближайших соседей.

Мы можем наблюдать компромисс между смещением и дисперсией в KNN, напрямую изменяя гиперпараметр K. Когда K мало, в голосовании учитывается лишь небольшое число соседей. Результирующие островки и неровные границы являются следствием высокой дисперсии, поскольку классификация определяется очень локализованными окрестностями. Для больших значений K мы видим сильно сглаженные области, которые резко отклоняются от истинной границы принятия решений — слишком большое K приводит к простому голосованию большинства. Это высокое смещение. С другой стороны, для средних значений K мы видим сглаженные области, которые следуют вдоль истинной границы принятия решений.

Исследуйте компромисс самостоятельно ниже! График слева показывает обучающие данные. График справа показывает регионы принятия решений на основе текущего значения K. Более насыщенные цвета отражают большую уверенность в классификации. Наведите курсор на точку, чтобы увидеть её классификацию справа, и K ближайших соседей, использованных для рассмотрения, слева.


А что насчёт двойного спуска?

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



Не волнуйтесь, дорогой читатель! Как мы подробно расскажем в нашей следующей серии статей, двойной спуск на самом деле поддерживает классическое понятие компромисса между смещением и дисперсией. Следите за обновлениями, чтобы узнать больше!


Всё наконец-то закончилось

Глубокий выдох. Всё наконец-то закончилось. Спасибо за чтение! Мы надеемся, что статья оказалась полезной, независимо от того, на каком этапе вашего пути в машинном обучении вы находитесь, и что вы лучше поняли компромисс между смещением и дисперсией.

Для краткости мы пропустили некоторые связанные темы (например, регуляризацию).