Дилемма смещения-дисперсии

 Ключевые понятия смещения-дисперсии

Здравствуйте и вновь добро пожаловать на занятия по теме «Машинное обучение с учителем на языке Python: ансамблевые методы».

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

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

Чтопонимается под неустранимой ошибкой? Этот термин вытекает из того факта, чтопроцессы генерирования данных зашумлены. Шум же по определению являетсяслучайной величиной, то есть не детерминированной. Это значит, что мы не можемпредсказать точное его значение, но лишь статистические показатели, такие каксреднее значение и дисперсию. Для конкретности предположим, что мы самигенерируем данные, то есть точно знаем целевую функцию. Пусть это будет,скажем, 2x+ 1 – то есть у нас линейная регрессия. Если некий специалист по машинномуобучению загрузит наши данные и попробует построить модель, соответствующуюэтим данным, а мы сразу дадим ему эту функцию, то ему больше нечего будетделать, поскольку мы дали ему точную целевую функцию – наилучший из всехвозможных ответов.

Нонапомним, что модель линейной регрессии имеет вид

y = ax + b + \varepsilon.

где ε – это случайныйшум; предполагается, что он имеет гауссово распределение с нулевым среднимзначением.

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

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

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

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

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

Иу нас остаётся последнее – дисперсия. Мы уже знакомы с термином «дисперсия» изстатистики – эта величина показывает, насколько квадрат случайной величиныотклоняется от своего среднего значения. Но в случае дилеммы смещения-дисперсииона понимается в более конкретном значении. В данном случае дисперсияпоказывает дисперсию прогноза по всем возможным обучающим наборам, взятым изданного конкретного процесса генерации данных. Например, пусть у нас естьпереобученная модель, дающая идеальный результат для любых наборов данных, накоторых она обучалась. Не забывайте, что все эти наборы данных появляются врезультате действия одного и того же процесса, который мы и хотимпромоделировать. Так вот, если каждая модель идеально подходит для каждого изнабора данных, то эти модели, вероятнее всего, очень отличаются друг от друга.Другими словами, эти различные модели, обученные на различных наборах данных,очень различны, и именно это и измеряется дисперсией.

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

Незабывайте, что наша настоящая цель – не добиться наименьшего коэффициентаошибок; наша цель – найти истинное f(x). Близость к точкам учебных данных – этопросто приближённое решение. Дисперсия – это приближенный показатель сложностимодели. Вообще говоря, сложность модели – понятие многостороннее и можетозначать разные вещи для разных классификаторов. К примеру, очень глубокоедерево решений является сложным, а мелкое – нет. В случае же метода k-ближайшихсоседей если k= 1 – то это будет сложная модель, а если k = 50 – то нет.

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

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

Дилемма смещения-дисперсии

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

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

Другимхорошим наглядным представлением, который может помочь в пониманиирассматриваемых идей, является мишень с кругами. Малое смещение и малаядисперсия – это когда мы попадаем прямо в «яблочко», а все точкиконцентрируются в одной области. Большое смещение, но малая дисперсия – этокогда все точки сконцентрированы в одной и той же области, но легли далеко отцентра мишени. Малое смещение, но большая дисперсия – когда в среднем мыпопадаем в центр, но точки имеют большой разброс. И наконец, большое смещение сбольшой дисперсией – это когда и попадания имеют большой разброс, и находятсядалеко от центра мишени.

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

Этим вопросом мы и займёмся в данном курсе.

Разложение на смещение и дисперсию

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

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

Итак,начнём с некоторых основных определений. Y, то есть наблюдаемые нами данные, равны базовойистинной функции плюс некоторый гауссов шум с центром в нуле:

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

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

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

Иу нас остаётся последнее – дисперсия. Мы уже знакомы с термином «дисперсия» изстатистики – эта величина показывает, насколько квадрат случайной величиныотклоняется от своего среднего значения. Но в случае дилеммы смещения-дисперсииона понимается в более конкретном значении. В данном случае дисперсияпоказывает дисперсию прогноза по всем возможным обучающим наборам, взятым изданного конкретного процесса генерации данных. Например, пусть у нас естьпереобученная модель, дающая идеальный результат для любых наборов данных, накоторых она обучалась. Не забывайте, что все эти наборы данных появляются врезультате действия одного и того же процесса, который мы и хотимпромоделировать. Так вот, если каждая модель идеально подходит для каждого изнабора данных, то эти модели, вероятнее всего, очень отличаются друг от друга.Другими словами, эти различные модели, обученные на различных наборах данных,очень различны, и именно это и измеряется дисперсией.

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

Незабывайте, что наша настоящая цель – не добиться наименьшего коэффициентаошибок; наша цель – найти истинное f(x). Близость к точкам учебных данных – этопросто приближённое решение. Дисперсия – это приближенный показатель сложностимодели. Вообще говоря, сложность модели – понятие многостороннее и можетозначать разные вещи для разных классификаторов. К примеру, очень глубокоедерево решений является сложным, а мелкое – нет. В случае же метода k-ближайшихсоседей если k= 1 – то это будет сложная модель, а если k = 50 – то нет.

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

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

Дилемма смещения-дисперсии

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

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

Другимхорошим наглядным представлением, который может помочь в пониманиирассматриваемых идей, является мишень с кругами. Малое смещение и малаядисперсия – это когда мы попадаем прямо в «яблочко», а все точкиконцентрируются в одной области. Большое смещение, но малая дисперсия – этокогда все точки сконцентрированы в одной и той же области, но легли далеко отцентра мишени. Малое смещение, но большая дисперсия – когда в среднем мыпопадаем в центр, но точки имеют большой разброс. И наконец, большое смещение сбольшой дисперсией – это когда и попадания имеют большой разброс, и находятсядалеко от центра мишени.

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

Этим вопросом мы и займёмся в данном курсе.

Разложение на смещение и дисперсию

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

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

Итак,начнём с некоторых основных определений. Y, то есть наблюдаемые нами данные, равны базовойистинной функции плюс некоторый гауссов шум с центром в нуле:

Далее, обозначим через f(x) оценку f(x). Это наша модель.

И определим ожидаемую ошибку как среднеквадратическую ошибку между y и f(x):

Мы можем разложить y на базовую истинную функцию и шум:

Мы можем разложить y на базовую истинную функцию и шум:

Затем введём новую переменную f(x), означающую среднее значение f(x), и прибавим и отнимем её внутри выражения, чтобы результат не изменился:

Теперь мы можем использовать некоторые свойства, вытекающие из определений наших переменных, для упрощения данного уравнения. В частности, среднее значение ε равно нулю, поскольку среднее значение шума равно нулю, а ожидаемое значение f(x)f(x) равно ожидаемому значению f(x)f(x), то есть тоже равно нулю:

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

Такимобразом мы приходим к окончательному разложению на смещение и дисперсию.

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

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

Понравилась статья? Поделить с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: