Почему переобучение плохо в машинном обучении?


49

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


Связанный: Продолжение к вопросу выше, " Когда Модель недостаточно приспособлена? "


1
Ваш вопрос на самом деле, есть ли случай, когда невозможно переодеться?
Шон Оуэн

@SeanOwen: нет, как это было бы невозможно переодеться?
промахи

Согласитесь, просто проверяйте, как вы спрашивали, приводит ли переоснащение моделей к ухудшению независимо от данных
Шон Оуэн

1
Переоснащение плохо по определению. Если бы это было не так, это не было бы чрезмерно .
Гала

1
Я не хотел цитировать вас на «добавление сложности модели» - я просто выделил фразу. Во всяком случае, я предполагаю, что моя проблема в основном такая же, как у @GaLa, которая заключается в том, что переоснащение означает, что подгонка слишком велика. Похоже, вы просите нас подтвердить тавтологию. Итак, я склонен думать, что вы на самом деле хотели задать другой вопрос. Например, увеличение сложности модели вызывает ухудшение моделей? Или, как сложность данных связана с тенденцией модели к переобучению?
Натан Гулд

Ответы:


44

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

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

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

PS Что касается «способности обобщать» части вопроса, очень возможно иметь модель, которая по своей природе имеет ограниченную способность к обобщению из-за структуры модели (например, линейный SVM, ...), но все еще склонна к переобучения. В некотором смысле переоснащение - это только один из способов, которым обобщение может потерпеть неудачу.


17

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

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

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

Редактировать : Это также может быть полезным, возможно, добавит динамичности к объяснению выше: D


14

Грубо говоря, перегонка обычно происходит, когда соотношение

введите описание изображения здесь

слишком высоко

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

Примеры:

  • если ваши данные в двух измерениях, то есть 10000 точек в обучающем наборе и модель линии, вы, вероятно, под -Манекенщица.
  • если ваши данные в двух измерениях, у вас есть 10 очков в обучающем наборе и модель 100 градусов Полином, вы, вероятно, более -Манекенщица.

введите описание изображения здесь

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

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

введите описание изображения здесь

Я бы посоветовал посмотреть курс Coursera «Машинное обучение» , раздел «10: Советы по применению машинного обучения».

(PS: пожалуйста, перейдите сюда, чтобы запросить поддержку TeX на этом SE.)



5

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


+1 Спасибо, в результате вашего ответа, я разместил продолжение вопроса выше: « Когда модель недостаточно приспособлена? »
промахи

4

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

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

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

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

Теорема об отсутствии бесплатного обеда говорит, что ни одна модель не может превзойти любую другую модель на множестве всех возможных экземпляров. Если вы хотите предсказать, что будет дальше в последовательности чисел «2, 4, 16, 32», вы не сможете построить модель более точную, чем любую другую, если не сделаете предположение, что существует базовый шаблон. Подходящая модель на самом деле не оценивает шаблоны - она ​​просто моделирует то, что, как она знает, возможно, и дает вам наблюдения. Вы получаете предсказательную силу, предполагая, что есть какая-то базовая функция и что, если вы можете определить, что это за функция, вы можете предсказать исход событий. Но если паттерна действительно нет, то вам не повезло, и все, на что вы можете надеяться, это справочная таблица, которая скажет вам, что вы знаете, возможно.


1

Вы ошибочно объединяете две разные сущности: (1) дисперсию смещения и (2) сложность модели.

(1) Перенастройка плоха в машинном обучении, потому что невозможно собрать действительно объективную выборку совокупности каких-либо данных. Переопределенная модель приводит к параметрам, которые смещены к выборке, вместо того, чтобы правильно оценивать параметры для всей совокупности. Это означает, что будет оставаться разница между оценочными параметрами и оптимальными параметрами , независимо от количества обучающих эпох . ф*пϕ^ϕn

e ϕ|ϕϕ^|eϕ as n , где - некоторое ограничивающее значениеeϕ

(2) Сложность модели заключается в упрощенном выражении количества параметров в . Если сложность модели невелика, ошибка регрессии останется независимо от количества обучающих эпох, даже если приблизительно равен . Простейшим примером будет обучение подгонки к линии (y = mx + c), где к данным на кривой (квадратичный полином).ф ф ф * ф = { м , с }ϕϕ^ϕϕ={m,c}

e ME[|yM(ϕ^)|]eM as n , где - некоторое ограничивающее значение ошибки соответствия регрессииeM

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


0

Там было много хороших объяснений о переоснащении. Вот мои мысли. Переоснащение происходит, когда ваша дисперсия слишком высока, а смещение слишком низкое.

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.