Почему переоснащение плохо?


27

Я много изучал, и они говорят, что переосмысление действий в машинном обучении - это плохо, но наши нейроны действительно становятся очень сильными и находят лучшие действия / чувства, по которым мы идем или которых избегаем, плюс можно уменьшить / увеличить из плохого / хорошо от плохих или хороших триггеров, что означает, что действия будут выровнены, и это закончится лучшими (правильными), супер сильными уверенными действиями. Как это терпит неудачу? Он использует положительные и отрицательные смысловые триггеры для уменьшения / повторного увеличения действий, скажем, от 44пос. до 22нег.


4
Этот вопрос гораздо шире, чем просто для машинного обучения, нейронных сетей и т. Д. Он относится к таким простым примерам, как подгонка полинома.
Gerrit


7
@ FriendlyPerson44 Перечитав ваш вопрос, я думаю, что между вашим заголовком и вашим реальным вопросом существует серьезное несоответствие. Похоже, вы спрашиваете об изъянах в вашем ИИ ( что только смутно объяснено ), в то время как люди отвечают: « Почему плохой
переоснащение

3
@DoubleDouble Я согласен. Кроме того, связь между машинным обучением и нейронами сомнительна. Машинное обучение не имеет ничего общего с «действием мозга», симуляцией нейронов или интеллектом. Кажется, есть много разных ответов, которые могут помочь OP на данный момент.
Shaz

2
Вы должны отточить свой вопрос и название. Может быть: «Почему мы должны защищать виртуальный мозг от перегрузки, в то время как человеческий мозг прекрасно работает без каких-либо контрмер против перегрузки?»
Falco

Ответы:


44

Лучшее объяснение, которое я слышал, это:

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

Это означает, что в любом наборе данных из-за случайности будет некоторый шум : данные будут случайным образом меняться.

Когда вы одеваетесь, вы учитесь на своем шуме и включаете его в свою модель.

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


1
«Изучение от шума» звучит для меня неопределенно. Что именно происходит? Можете привести пример?
Рафаэль

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

2
@Raphael Система начинает видеть шум в тренировочном наборе как функции. Если вы затем запустите сеть на реальных данных, где этот специфический шум отсутствует, вы получите меньшую вероятность, потому что отсутствуют некоторые функции (= шум, который был включен).
drake7707

2
@Raphael Как насчет, например: у меня есть коллекция изображений с камеры дорожного движения. Давайте обучим сеть, которая обнаружит, есть ли машины в наличии или нет. После некоторых тренировок у меня это дает комплект с авто и без авто, отлично! Давайте применим сеть к новому набору, чтобы определить, пуста ли улица без людей, и почему бы не обнаружить мою пустую улицу с высокой вероятностью? Оглядываясь на образец, я замечаю, что на каждом снимке были люди на заднем плане, когда не было машин. Из-за того, что сеть была
перегружена,

1
Рассмотрим систему с шумом, добавляемым подбрасыванием монеты. На головах вы добавляете 1 к значению, а на хвостах - 0. Чтобы сделать результаты очевидными, мы выберем абсурдно небольшой набор данных из двух точек: (2, 5) и (2.1, 8). Монета подбрасывает головы к первой точке, хвосты ко второй, внося шум, образуя набор данных (3, 5), (2.1, 8). Теперь нейронная сеть извлекает уроки из набора данных, который выглядит так, как будто существует значительная корреляция между значениями x и y, хотя почти все это было шумом. Если вы затем отправите эту сеть на реальные данные, это приведет к множеству неверных результатов
Cort Ammon - Восстановите Monica

39

Версия ELI5

Это в основном, как я объяснил это моему 6-летнему.

Однажды была девушка по имени Мел ( «Получи это? МЛ?» «Папа, ты хромой» ). И каждый день Мел играла с другим другом, и каждый день она играла, это был солнечный, прекрасный день.

Мел играл с Джорданом в понедельник, Лили во вторник, Мими в среду, Олив в четверг ... а затем в пятницу Мел играл с Брианной, и шел дождь. Это была ужасная гроза!

Больше дней, больше друзей! Мел играл с Кваном в субботу, Грейсон в воскресенье, Аса в понедельник ... а затем во вторник Мел играл с Брук, и снова пошел дождь, даже хуже, чем раньше!

Теперь мама Мела сделала все playdates, так что той ночью во время ужина она начинает рассказывать Мелу все о новых playdates, которые она выстроила в очередь. "Луис в среду, Райан в четверг, Джемини в пятницу, Бьянка в субботу ..."

Мел нахмурилась.

Мама Мела спросила: «В чем дело, Мел, тебе не нравится Бьянка?»

Мел ответила: «О, конечно, она великолепна, но каждый раз, когда я играю с другом, чье имя начинается с В, идет дождь!»


Что не так с ответом Мела?

Ну, в субботу может не идти дождь.

Ну, я не знаю, я имею в виду, Брианна пришла и пошел дождь, Брук пришла и пошел дождь ...

Да, я знаю, но дождь не зависит от твоих друзей.


10
И на этот другой вопрос, это то, что означает «учиться на шум».
Кайл Хейл

К комментарию дождя - Но мы ДЕЛАЕМ это, затем мы продолжаем работать таким образом и узнаем больше позже.
Дружелюбный человек 44

13
@ FriendlyPerson44 Вы правы, люди делают ошибки и совершают плохие поступки, такие как переодевание. Ваш вопрос задал вопрос, почему переоснащение плохо, а не то, делают ли это люди.
Кайл Хейл

1
Эта проблема касается не только плохо обученных роботов, но и плохо обучающихся людей.
Томаш Зато - Восстановить Монику

Я не совсем понимаю: дождь, в первую очередь, не должен быть переменной-предиктором, какое отношение это имеет к переоснащению?
Мукахо

14

NN


Но его супер-перегруженные действия связаны с определенными чувствами, и только когда он снова видит те же чувства, он сопоставляет память и ссылки на эти действия, он не будет делать их, когда видит другие вещи. Обобщение - это две вещи - все эти древовидные образы являются древовидными и используют знания прошлого, чтобы понять эту новую вещь. Чтобы мой ИИ решил это, он видит дерево и слышит «дерево», которое сопоставляет память и выводит его на передний план, затем он видит новые деревья и их имена, и все они связываются с чувствами в последней памяти - изображением первого дерева & звук. Разобраться в новой мелочи, связанной с knwldge, - новый поступок
Friendly Person 44

2
@ FriendlyPerson44 В контролируемом машинном обучении результаты обучения не должны меняться дальше. Это где «переоснащение» вступает в игру. Это было бы так, как если бы машина научилась распознавать дерево - сначала по цветам, затем по общей форме, затем по определенной форме ( где она должна остановиться ), но затем она начинает различать деревья по дополнительным случайным структурам, найденным только в вашем Обучающий набор. Когда вы позволяете ему видеть новые случайные изображения деревьев, он решает, что это не деревья. В этот момент худший случай - это то, что он используется, и никто не контролирует его!
DoubleDouble

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

1
@ FriendlyPerson44 Какое отношение это имеет к тому, почему переоснащение плохо?
DoubleDouble

9

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

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

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

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

Примеры:

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

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

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

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

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

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


1
Мне нравится линия «учить наизусть», потому что люди способны (и делают) делать это в некоторой степени. Представьте себе очень сложный тест, в котором вопросы и ответы никогда не меняются, но вам сообщают ответы, когда вы получаете их неправильно. Притвориться, что уравнение (2 + 2) сложно, вы узнаете уравнение и скажете «4» - но потом (2 + 3), но вы не научились добавлять, вы только что научились говорить «4» когда у вас есть 2 + 2
DoubleDouble

Хорошее объяснение
Никос М.

4

Я думаю, что мы должны рассмотреть две ситуации:

Конечное обучение

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

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

Непрерывное обучение

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

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

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

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

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


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

3

Допустим, вы хотите научить компьютер определять между хорошими и плохими продуктами и дать ему следующий набор данных для изучения: диаграмма с набором данных.  От 0 до 50 равны 0. 52 и 74 равны 0. Остальные значения от 51 до 100 равны 1

0 означает, что продукт неисправен, 1 означает, что все в порядке. Как видите, между осями X и Y существует сильная корреляция. Если измеренное значение меньше или равно 50, очень вероятно (~ 98%), что продукт неисправен, а выше очень похоже (~ 98%), все в порядке. 52 и 74 являются выбросами (либо измеренные неправильно, либо не измеренные факторы, играющие роль; также известный как шум). Измеренное значение может быть толщиной, температурой, твердостью или чем-то еще, и его единица измерения в данном примере не важна. Таким образом, общий алгоритм будет

if(I<=50)
    return faulty;
else
    return OK;

Это будет иметь шанс 2% неверной классификации.

Алгоритм переоснащения будет:

if(I<50)
    return faulty;
else if(I==52)
    return faulty;
else if(I==74)
    return faulty;
else
    return OK;

Таким образом, алгоритм переоснащения неверно классифицирует все продукты, измеряющие 52 или 74, как дефектные, хотя существует высокая вероятность того, что они в порядке, если даны новые наборы данных / используются в производстве. Это могло бы иметь 3,92% неправильной классификации. Для внешнего наблюдателя эта неправильная классификация была бы странной, но объяснимой, зная исходный набор данных, который был переопределен.

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


2

В моем курсе по искусству в колледже наш преподаватель привел пример, аналогичный тому, который использовал Кайл Хейл:

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

Но с другой стороны:

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

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



2

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

Input   Expected Result
1.045   0.268333453
2.095   0.435332226
3.14    0.671001483
4.19    0.870664399
5.235   1.073669373
6.285   1.305996464
7.33    1.476337174
8.38    1.741328368
9.425   1.879004941
10.47   2.040661489

А вот и график:

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

Определенно, кажется, соответствует моим ожиданиям линейных данных. Должно быть довольно просто вывести уравнение, верно? Таким образом, вы позволяете своей программе немного проанализировать эти данные, и, наконец, она сообщает, что нашла уравнение, которое охватывает все эти точки данных, с точностью 99,99%! Потрясающе! И это уравнение ... 9sin (x) + x / 5. Который выглядит так: введите описание изображения здесь

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


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

1
@Emre: Я не собираюсь занижать выборку, я предполагал, что вход / выход будет линейным, но из-за пересадки получилось уравнение, которое было явно нелинейным. Я буду редактировать, чтобы уточнить.
Mooing Duck

1

Взгляните на эту статью, она довольно хорошо объясняет переоснащение и подгонку.

http://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html

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


4
Если эта ссылка сломается, ваш ответ будет почти бесполезным. Пожалуйста, дайте хотя бы краткое изложение (конечно, с указанием авторства), чтобы ответ имел значение независимо от этой ссылки.
Рафаэль

1

Без опыта в машинном обучении и, судя по ответу @ jmite, вот визуализация того, что, я думаю, он имеет в виду:

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

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

Надеюсь, я немного помог ...


0

Переоснащение в реальной жизни:

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

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


Стереотипирование - это то, что непрофессионалы называют переоснащением.
Эмре

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

8
@ Emre Нет, стереотипы - полная противоположность переоснащению. Стереотипирование приходит к выводам, которые игнорируют большинство свойств обучающих данных. Переоснащение приходит к выводу, что только данные, которые каждая точка в данных обучения прекрасно описывает часть того, что вы пытаетесь распознать.
Дэвид Ричерби

Примечание модератора: не по теме / вне контекста комментарии удалены. Для общего обсуждения, пожалуйста, посетите Computer Science Chat . Если у вас есть вопрос о конкретной программе, которая может или не может использовать переоснащение с пользой, задайте новый вопрос.
Жиль "ТАК - перестань быть злым"

2
@ArnabDatta Overfitting слишком точно сопоставляет слишком сложную модель с данными обучения; стереотипирование - это использование чрезмерно упрощенной модели.
Дэвид Ричерби

0

Любые тестируемые вами данные будут иметь свойства, которые вы хотите изучать, и некоторые свойства, которые не имеют значения, которые вы НЕ хотите, чтобы они изучали.

Джону 11 лет,
Джеку 19 лет,
Кейт 31 год,
Лане 39 лет.

Правильная подгонка: возрасты приблизительно линейные, проходящие через ~ 20 лет.
Приход: два человека не могут быть на расстоянии 10 лет (свойство шума в данных).
Приспособление: 1/4 всех людей - 19 (стереотипирование).


Добро пожаловать! У нас уже есть много неофициальных примеров, поэтому я не уверен, что это добавляет много. И, кажется, трудно сделать этот пример более формальным. Например, о какой линейной функции вы упомянули? Кажется, что вводом функции является имя человека, а не число. Между тем, «два человека не могут быть на расстоянии десяти лет друг от друга», а «1/4 человека - это 19» не являются примерами функций, изучаемых из данных.
Дэвид Ричерби
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.