Обобщение: опасность переобучения

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

  • Синие точки обозначают больные деревья.
  • Оранжевые точки обозначают здоровые деревья.

Имея это в виду, взгляните на рисунок 1.

На этом рисунке около 50 точек, половина из которых синие, а другая половина оранжевые. Оранжевые точки в основном находятся в юго-западном квадранте, хотя несколько оранжевых точек ненадолго проникают в другие три квадранта. Синие точки в основном находятся в северо-восточном квадранте, но некоторые из них переходят в другие квадранты.

Рисунок 1. Больные (синие) и здоровые (оранжевые) деревья.

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

Низкие потери, но все же плохая модель?

На рис. 3 показано, что произошло, когда мы добавили в модель новые данные. Оказалось, что модель очень плохо адаптировалась к новым данным. Обратите внимание, что модель неверно классифицировала большую часть новых данных.

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

Рисунок 3. Модель плохо предсказала новые данные.

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

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

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

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

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

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

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

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

  • обучающий набор — подмножество для обучения модели.
  • test set — подмножество для проверки модели.

Хорошая производительность на тестовом наборе является полезным индикатором хорошей производительности на новых данных в целом, если предположить, что:

  • Набор тестов достаточно большой.
  • Вы не жульничаете, используя один и тот же набор тестов снова и снова.

Мелкий шрифт ML

Следующие три основных предположения определяют обобщение:

  • Мы берем примеры независимо и одинаково ( iid ) случайным образом из распределения. Другими словами, примеры не влияют друг на друга. (Альтернативное объяснение: iid — это способ обозначения случайности переменных.)
  • Распределение стационарное ; то есть распределение не меняется в наборе данных.
  • Рисуем примеры из разделов из того же дистрибутива.

На практике мы иногда нарушаем эти предположения. Например:

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

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