Переоснащение

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

Представьте, что на рисунке 11 каждая геометрическая фигура представляет положение дерева в квадратном лесу. Синими ромбами отмечены места расположения здоровых деревьев, а оранжевыми кружками — места больных деревьев.

Рисунок 11. Этот рисунок содержит около 60 точек, половина из которых — здоровые деревья, а другая половина — больные.             Здоровые деревья растут в основном в северо-восточном квадранте, хотя несколько здоровых деревьев пробираются и в северо-западные квадранты. Больные деревья находятся в основном в юго-восточном квадранте, но некоторые из больных деревьев проникают и в другие квадранты.
Рисунок 11. Обучающий набор: расположение здоровых и больных деревьев в квадратном лесу.

Мысленно рисуйте любые фигуры — линии, кривые, овалы… что угодно — чтобы отделить здоровые деревья от больных. Затем разверните следующую строку, чтобы изучить одно возможное разделение.

Сложные формы, показанные на рисунке 12, успешно классифицировали все деревья, кроме двух. Если мы думаем о формах как о модели, то это фантастическая модель.

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

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

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

Подгонка, переоснащение и недостаточная подгонка

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

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

Рисунок 14. Декартов график. Ось X отмечена как «качество прогнозов на обучающем наборе». Ось Y отмечена «качеством прогнозов на основе реальных данных». Кривая начинается в начале координат и постепенно повышается, но затем так же быстро падает. Нижняя левая часть кривой (низкое качество прогнозов на основе реальных данных и низкое качество прогнозов на обучающем наборе) обозначена как «неподходящие модели». Нижняя правая часть кривой (низкое качество прогнозов на основе реальных данных, но высокое качество прогнозов на обучающем наборе) обозначена как «модели переобучения». Пик кривой (высокое качество прогнозов на основе реальных данных и среднее качество прогнозов на обучающем наборе) обозначен как «подходящие модели».
Рисунок 14. Модели недостаточного, подходящего и переобучения.

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

Обнаружение переобучения

Следующие кривые помогут вам обнаружить переобучение:

  • кривые потерь
  • кривые обобщения

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

Рисунок 15. Функция потерь обучающего набора постепенно снижается. Функция потерь для набора проверки также снижается, но затем после определенного количества итераций начинает расти.
Рисунок 15. Кривая обобщения, которая явно подразумевает переобучение.

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

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

Что вызывает переобучение?

В широком смысле переоснащение вызвано одной или обеими из следующих проблем:

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

Условия обобщения

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

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

Изучите предыдущие состояния с помощью следующих упражнений.

Упражнения: проверьте свое понимание

Рассмотрим следующие разделы набора данных.
Горизонтальная полоса, разделенная на три части: 70 % полосы — обучающий набор, 15 % — проверочный набор и 15 % — тестовый набор.
Что следует сделать, чтобы примеры в обучающем наборе имели такое же статистическое распределение, что и примеры в проверочном наборе и тестовом наборе?
Тщательно перетасуйте примеры в наборе данных, прежде чем разделять их.
Да. Хорошая перетасовка примеров повышает вероятность того, что разделы будут статистически схожими.
Отсортируйте примеры от самого раннего к самому последнему.
Если примеры в наборе данных не являются стационарными, то сортировка делает разделы менее похожими.
Ничего не делайте. При наличии достаточного количества примеров закон средних чисел естественным образом гарантирует, что распределения будут статистически схожими.
К сожалению, это не так. Примеры в определенных разделах набора данных могут отличаться от примеров в других разделах.
Стриминговый сервис разрабатывает модель прогнозирования популярности потенциальных новых телешоу на ближайшие три года. Стриминговый сервис планирует обучить модель на наборе данных, содержащем сотни миллионов примеров, охватывающих предыдущие десять лет. Возникнут ли проблемы с этой моделью?
Вероятно. Вкусы зрителей меняются так, что их прошлое поведение невозможно предсказать.
Да. Зрительские вкусы не постоянны. Они постоянно меняются.
Определенно нет. Набор данных достаточно велик, чтобы делать хорошие прогнозы.
К сожалению, вкусы зрителей нестационарны.
Вероятно, нет. Вкусы зрителей меняются предсказуемо циклично. Данные за десять лет позволят модели сделать хорошие прогнозы будущих тенденций.
Хотя некоторые аспекты развлечений в некоторой степени цикличны, модель, построенная на основе прошлой истории развлечений, почти наверняка столкнется с трудностями при составлении прогнозов на следующие несколько лет.
Целью модели является прогнозирование времени, которое потребуется людям, чтобы пройти милю, на основе данных о погоде (температура, точка росы и количество осадков), собранных за один год в городе, погода в котором значительно меняется в зависимости от сезона. Можете ли вы построить и протестировать модель на основе этого набора данных, даже если показания погоды резко меняются в зависимости от сезона?
Да
Да, на основе этого набора данных можно построить и протестировать модель. Вам просто нужно убедиться, что данные разделены одинаково, чтобы данные всех четырех сезонов были равномерно распределены по разным разделам.
Нет
Предполагая, что этот набор данных содержит достаточно примеров температуры, точки росы и осадков, вы можете построить и протестировать модель на основе этого набора данных. Вам просто нужно убедиться, что данные разделены одинаково, чтобы данные всех четырех сезонов были равномерно распределены по разным разделам.

Упражнение-вызов

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

  • Если мест много, цены на билеты обычно низкие.
  • Если мест очень мало, цены на билеты обычно высокие.
Ваша модель демонстрирует низкие потери в наборе проверки и наборе тестов, но иногда делает ужасные прогнозы на реальных данных. Почему?
Нажмите здесь, чтобы увидеть ответ