Что такое переобучение как обычно решают эту проблему при машинном обучении

Переобучение

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

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

Содержание

Примеры [ править ]

На примере линейной регрессии [ править ]

Представьте задачу линейной регрессии. Красные точки представляют исходные данные. Синие линии являются графиками полиномов различной степени M, аппроксимирующих исходные данные.

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

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

На Рис. 2 представлена ситуация, когда выбранная полиномиальная функция подходит для описания исходных данных.

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

На примере логистической регрессии [ править ]

Представьте задачу классификации размеченных точек. Красные точки представляют данные класса 1. Голубые круглые точки — класса 2. Синие линии являются представлением различных моделей, которыми производится классификация данных.

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Рис. 4 показывает результат использования слишком простой модели для представленного датасета

Кривые обучения [ править ]

Кривые обучения при переобучении [ править ]

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

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Рис. 7 демонстрирует зависимость средней ошибки для обучающей и тестовой выборок от объема датасета при переобучении.

Кривые обучения при недообучении [ править ]

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

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Рис. 8 демонстрирует зависимость средней ошибки для обучающей и тестовой выборок от объема датасета при недообучении.

High variance и high bias [ править ]

Bias — ошибка неверных предположений в алгоритме обучения. Высокий bias может привести к недообучению.

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

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

При использовании нейронных сетей variance увеличивается, а bias уменьшается с увеличением количества скрытых слоев.

Для устранения high variance и high bias можно использовать смеси и ансамбли. Например, можно составить ансамбль (boosting) из нескольких моделей с высоким bias и получить модель с небольшим bias. В другом случае при bagging соединяются несколько моделей с низким bias, а результирующая модель позволяет уменьшить variance.

Дилемма bias–variance [ править ]

Дилемма bias–variance — конфликт в попытке одновременно минимизировать bias и variance, тогда как уменьшение одного из негативных эффектов, приводит к увеличению другого. Данная дилемма проиллюстрирована на Рис 10.

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

При небольшой сложности модели мы наблюдаем high bias. При усложнении модели bias уменьшается, но variance увеличится, что приводит к проблеме high variance.

Источник

Переобучение

Материал из MachineLearning.

Содержание

Обобщающая способность (generalization ability, generalization performance). Говорят, что алгоритм обучения обладает способностью к обобщению, если вероятность ошибки на тестовой выборке достаточно мала или хотя бы предсказуема, то есть не сильно отличается от ошибки на обучающей выборке. Обобщающая способность тесно связана с понятиями переобучения и недообучения.

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

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

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

О природе переобучения

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Эмпирическим риском называется средняя ошибка алгоритма на обучающей выборке. Метод минимизации эмпирического риска (empirical risk minimization, ERM) наиболее часто применяется для построения алгоритмов обучения. Он состоит в том, чтобы в рамках заданной модели выбрать алгоритм, имеющий минимальное значение средней ошибки на заданной обучающей выборке.

С переобучением метода ERM связано два утверждения, которые на первый взгляд могут показаться парадоксальными.

Утверждение 1. Минимизация эмпирического риска не гарантирует, что вероятность ошибки на тестовых данных будет мала. Легко строится контрпример — абсурдный алгоритм обучения, который минимизирует эмпирический риск до нуля, но при этом абсолютно не способен обучаться. Алгоритм состоит в следующем. Получив обучающую выборку, он запоминает её и строит функцию, которая сравнивает предъявляемый объект с запомненными обучающими объектами. Если предъявляемый объект в точности совпадает с одним из обучающих, то эта функция выдаёт для него запомненный правильный ответ. Иначе выдаётся произвольный ответ (например, случайный или всегда один и тот же). Эмпирический риск алгоритма равен нулю, однако он не восстанавливает зависимость и не обладает никакой способностью к обобщению.

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

Утверждение 2. Переобучение появляется именно вследствие минимизации эмпирического риска. Пусть задано конечное множество из D алгоритмов, которые допускают ошибки независимо и с одинаковой вероятностью. Число ошибок любого из этих алгоритмов на заданной обучающей выборке подчиняется одному и тому же биномиальному распределению. Минимум эмпирического риска — это случайная величина, равная минимуму из D независимых одинаково распределённых биномиальных случайных величин. Её ожидаемое значение уменьшается с ростом D. Соотвественно, с ростом D увеличивается переобученность — разность вероятности ошибки и частоты ошибок на обучении.

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

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

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

В качестве модели рассмотрим полиномы заданной степени :

В качестве метода обучения возьмём метод наименьших квадратов:

Ниже показаны графики самой выборки и аппроксимирующей функции:

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Определения

Средней потерей алгоритма на выборке называется величина

Пусть — вероятностное пространство. Ожидаемой потерей алгоритма называется величина

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

Вероятность переобучения (частотное определение)

Определение. Переобученностью алгоритма относительно контрольной выборки называется разность

Определение. Вероятностью переобучения называется вероятность того, что величина переобученности превысит заданный порог Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении:

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

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

Вероятность переобучения (вероятностное определение)

Определение. Переобученностью алгоритма называется разность

Определение. Вероятностью переобучения называется вероятность того, что величина переобученности превысит заданный порог Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении:

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Недостатки вероятностного определения:

Теоретические верхние оценки переобученности

Сложность

Оценки, основанные на самоограничении (self-bounding)

Оценки, основанные на последовательности выборов (microchoice bounds)

Оценки, основанные на расслоении семейства алгоритмов (shell bounds)

Разделимость

Оценки, основанные на отступах (margin-based bounds)

Устойчивость

Устойчивость алгоритма обучения (algorithmic stability)

Эмпирическое измерение переобучения

См. также

Ссылки

Overfitting — статья о переобучении в англоязычной Википедии.

Источник

Простыми словами о методах решения проблем с переобучением

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

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

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

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

Математика, как и любая наука, это один из способов формального описания окружающего нас мира, а конкретные ее понятия – это удобные «инструменты» для этого описания.

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

Что такое переобучение?

Многие элементарные для человека задачи очень часто оказываются не столь очевидными для алгоритмов машинного обучения.

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

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

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

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

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

Ровно с такими проблемами сталкиваются модели машинного обучения.

Теперь рассмотрим другой пример, допустим у нас есть данные по некоторым объектам (в нашем случае – опять по животным), под данными я имею ввиду различные признаки, например, вес, окрас, где обитает, что умеет, чем питается каждое животное и так далее.

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

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Выше изображены и размечены наши объекты, красным – рыбы, зеленым – птицы.

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

Однако, что же произойдет, когда мы встретимся с новым животным и как мы его классифицируем?

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Как видим, мы ошибочно определили всех новых животных, но в чем же природа такой ошибки?

В данном случае очевидно, что мы вывели такое правило, которое имеет место только на обучающей выборке. Такая ситуация и называется проблемой переобучения (overfitting).

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

И если в данном случае понятно, что изначально было выбрано очень сомнительное правило, то когда счет объектов идет на тысячи, число признаков на десятки или сотни, и при этом реальные модели часто оказываются трудно интерпретируемыми (что вообще говоря, зависит от алгоритма), то переобучение можно заметить, уже только сравнивая качество модели во время обучения и теста.

Подробнее про переобучение и как с ним бороться

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

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

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

В общем, данных должно быть много, и они должны быть разнообразными.

Регуляризация

Теперь рассмотрим, пожалуй, основной и самый универсальный метод борьбы с переобучением – регуляризацию.

Для этого представим следующую задачу. Теперь мы в роли судьи и за годы нашего опыта мы придумали строгое правило, по которому можем автоматизированно выносить приговор, для простоты – лишить свободы или оправдать человека (сюда же отнесем условное наказание).

Под строгим правилом мы понимаем чисто математическое выражение приговора через какие-то факты, и если сумма этих фактов больше определенного порога (для простоты — 50), то будем считать человека виновным.

Это может выглядеть так:

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

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

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

Фактически мы понимаем, что при отсутствии улик, показаний свидетелей и т.п. мы не сможем осудить человека. Но, повторюсь, ранее по всем делам кражи подсудимые были признаны виновными. Т.е. у нас просто нет опыта, который бы подтвердил такую логику.

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

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

Чтобы лучше понять, что это значит, уточним, на что ориентируется модель, когда обучается.

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

Чем больше ошибок – тем больше значение функции потерь.

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

Формально, без регуляризации имеем следующую функцию потерь:

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Где L– функция потерь, которая зависит от весов ;

f– просто некоторая функция, которая дает количественное выражение совершенных ошибок;

Y – целевая переменная, в данном примере – «виновен» или «невиновен»;

С регуляризацией — такую:

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

То есть, теперь мы учитываем сумму всех весов.

Примечание: фактические берется немного другая сумма, но не будем излишне усложнять, поскольку смысл этого слагаемого не меняется – мы «штрафуем» модель за слишком большие веса.

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

Модельf (Y, h (x))Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обученииЧто такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении
С большими весами010001000
С небольшими весами100100200

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

Соответственно, веса примут примерно такие значения, и мы вынесем следующий приговор:

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

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

Пример

Теперь попробуем показать более конкретный случай. Задача сделана по мотивам одного из уроков курса mlcourse.ai Юрия Кашницкого, который в свою очередь ссылается на Стэнфордский курс по машинному обучения от Andrew Ng.

В этой задаче у нас есть массив данных для 118 микрочипов, два признака – тест 1 и тест 2. По результатам этих двух тестов принимается решение браковать или выпускать очередной микрочип – это и есть наша целевая переменная, то есть мы решаем задачу бинарной классификации.

Поскольку у нас всего два признака, очень просто будет визуализировать наши данные.

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Важное примечание, тут признаки уже центрированы (т.е. из них вычли среднее значение соответствующего признака по всем объектам).

Что же от нас требуется? Нам надо каким-то образом, основываясь на данных двух признаках научится отличать «красные» точки от «синих». Результатом этого будет какое-то правило «разделяющее» точки между собой. Это правило так и называется – «разделяющая гиперплоскость» и выглядит примерно так:

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

То есть для двумерного признакового пространства – это просто прямая.

Это пример плохой модели, которая разделяет точки неправильно. Немного ее улучшив (использовав полиномиальные признаки), мы получим что-то вроде такого:

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

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

Теперь посмотрим, что будет, если мы воспользуемся регуляризацией:

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

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

Теперь то, о чем мы говорили до этого чисто теоретически рассмотрим на этом примере.

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

Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении

Примечание: может возникнуть вопрос – откуда столько признаков? Как мы упомянули ранее, мы использовали полиномиальные признаки (7-й степени), что дает нам суммарно 36 признаков.

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

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

Модельf (Y, h (X)Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обученииЧто такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть фото Что такое переобучение как обычно решают эту проблему при машинном обучении. Смотреть картинку Что такое переобучение как обычно решают эту проблему при машинном обучении. Картинка про Что такое переобучение как обычно решают эту проблему при машинном обучении. Фото Что такое переобучение как обычно решают эту проблему при машинном обучении
Без регуляризации32,30141,49173,78
С регуляризацией65,562,7568,31

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

Заключение

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *