Чому надмірне оснащення погано?


27

Я вивчав цю ділянку, і вони кажуть, що перевиконання дій в машинному навчанні погано, але наші нейрони стають дуже сильними і знаходять найкращі дії / відчуття, які ми проходимо або уникаємо, плюс може бути зменшено / посилено від поганого / хороший з поганих чи добрих спрацьовуючих механізмів, тобто дії вирівнюються, і це закінчується найкращими (правильними), суперсильними впевненими діями. Як це не вдається? Він використовує позитивні та негативні тригери сенсу, щоб зменшити або посилити дії, сказані з 44pos. до 22нег.


4
Це питання набагато ширше, ніж просто для машинного навчання, нейронних мереж тощо. Це стосується прикладів настільки ж простих, як розміщення полінома.
Герріт


7
@ FriendlyPerson44 Після повторного прочитання вашого питання я думаю, що між вашою назвою та вашим фактичним запитанням є великий розрив. Ви, здається, запитуєте про недоліки у вашому ШІ ( що лише розпливчасто пояснюється ) - в той час як люди відповідають " Чому надмірно
прилаштовується

3
@DoubleDouble Я згоден. Крім того, зв’язок між машинним навчанням та нейронами сумнівний. Машинне навчання не має нічого спільного з "діючим мозком", симуляцією нейронів або імітацією інтелекту. Здається, існує багато різних відповідей, які можуть допомогти ОП на даний момент.
Шаз

2
Слід загострити своє запитання та назву. Можливо, щоб: "Чому нам потрібно захищати віртуальний мозок від перенапруження, тоді як людський мозок прекрасно працює без будь-яких контрзаходів проти перевитрати?"
Фалько

Відповіді:


44

Найкраще пояснення, яке я чув:

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

Це означає, що в будь-якому наборі даних через випадковість з’явиться якийсь шум : дані будуть випадково змінюватися.

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

Потім, коли настає час робити прогнози з інших даних, ваша точність знижується: шум проник у вашу модель, але він був специфічним для ваших даних тренувань, тому це шкодить точності вашої моделі. Ваша модель не узагальнює: вона надто специфічна для набору даних, які ви мали місце для навчання.


1
"Навчання з шуму" для мене звучить невиразно. Що саме відбувається? Чи можете ви навести приклад?
Рафаель

навіть якщо ваші дані є дуже чистими, а люди, які перебувають у спокійному стані (як природні, так і неприродні), все одно "переозброєні" - це погана практика і їх слід виключити з вашої моделі. коли ваша модель "переоснащена", це означає, що ваша модель не узагальнила знання, приховані в даних, і не може передбачити будь-які інші точки даних. Просто коли ви переозброюєте свою модель, ви підходите до неї лише на наборі даних про поїзд / тест.
Абоелнур

2
@Raphael Система починає бачити шум у навчальному наборі як функції. Якщо потім запустити мережу за реальними даними, де відсутній конкретний шум, у вас виявиться менша ймовірність, оскільки відсутні функції (= шум, який був включений).
drake7707

2
@Raphael Що стосується наприклад: У мене є колекція зображень із камери дорожнього руху. Навчимо мережу, яка визначає, чи є присутні машини чи ні. Після деяких тренувань у мене він дає комплект з машинами і без машин, чудово! Давайте застосуємо мережу на новому наборі, щоб виявити, чи вулиця порожня без людей і так, чому вона не виявляє мою порожню вулицю з високою ймовірністю? Озираючись назад на набір зразків, і я помічаю, що на кожному знімку були люди на тлі зображень, коли не було жодної машини. Завдяки обробці мережі він зробив акцент на присутніх людях
drake7707

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

39

Версія ELI5

Це в основному, як я пояснив це своєму 6-річному віку.

Колись з’явилася дівчинка на ім’я Мел ( «Здобув? МЛ?», «Тато, ти кульгавий». ). І кожен день Мел грала з іншим другом, і кожен день вона грала, це був сонячний, чудовий день.

Мел грав з Джорданом у понеділок, Лілі - у вівторок, Мімі - у середу, Олив в четвер .., а потім у п’ятницю Мел грав із Брайаною, і пішов дощ. Була жахлива гроза!

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

Тепер мама Мела виступила з усіма грами, тому тієї ночі під час вечері вона починає розповідати Мелу про нові плейлисти, які вона вишикувала. "Луїс у середу, Райан у четвер, Джеміні в п'ятницю, Б'янка в суботу -"

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

Мама Мела запитала: "Що з тобою, Мел, тобі не подобається Б'янка?"

Мел відповів: "О, звичайно, вона чудова, але кожен раз, коли я граю з другом, ім'я якого починається з B, йде дощ!"


Що не так у відповіді Мела?

Що ж, у суботу може не дощ.

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

Так, я знаю, але дощ не залежить від ваших друзів.


10
І до цього іншого питання, це те, що означає "навчання з шуму".
Кайл Хейл

До коментаря дощу - Але ми це робимо, то ми продовжуємо працювати таким чином і дізнаємось більше пізніше.
Дружня особа 44

13
@ FriendlyPerson44 Ти маєш рацію, люди роблять помилки і роблять погані речі, як наряд. У вашому запитанні було задано питання про те, чому надмірний прилад - це погано, чи не роблять це люди чи ні.
Кайл Хейл

1
Ця проблема стосується не лише погано навчаються роботів, але й слабо навчаються людей.
Томаш Зато - Відновіть Моніку

Я не дуже дотримуюсь: Дощ не повинен бути передумовою змінної, в першу чергу, що це стосується переобладнання?
mucaho

14

NN


Але його надмірно налаштовані дії пов’язані з конкретними відчуттями, і лише коли він знову побачить ті самі почуття, він відповідає пам’яті та посиланням на ці дії, він не буде робити їх, коли бачить інші речі. Узагальнення - це дві речі - усі ці зображення дерев є деревом, і використовуйте знання минулого, щоб розібратися у цій новій речі. Щоб мій ШІ вирішив це, він бачить дерево і чує «дерево», і це відповідає пам’яті та виводить його на передній план, потім він бачить нові дерева та їх назви, і всі вони посилаються на почуття в останній пам’яті - зображення першого дерева & звук. З'ясувати нову маленьку пов’язану річ від knwldge - це новий actio
Friendly Person 44

2
@ FriendlyPerson44 У контрольованому машинному навчанні результат тренінгу не повинен більше змінюватися. Тут починає грати «надмірний». Це було б так, як ніби машина навчилася розпізнавати дерево - спочатку за кольорами, потім за загальною формою, потім за конкретною формою ( де воно повинно зупинятися ), але потім воно починає розрізняти дерева за додатковими випадковими візерунками, які знайде лише у вашому навчальний набір. Коли ви дозволяєте йому бачити нові випадкові зображення дерев, він вирішує, що це не дерева. На той момент найгірший випадок полягає в тому, що він використовується і ніхто не контролює це!
DoubleDouble

Але моє розпізнає дерево, зберігаючи зображення дерева і звук "дерево" і з'єднуючи два органи почуття разом, і коли дерево сказано, воно відповідає тому, що є в пам'яті, і приносить сірник і будь-яке пов'язане з ним перед пам'яттю, а потім, коли показується інше дерева і називали нові назви ці зображення та звучить як перші вивчені. Дерева - це не це тригери, але їжа є, вона не збирається зберігати дії, коли бачить колір або візерунок. Моя справді вчиться діям.
Дружня людина 44,

1
@ FriendlyPerson44 Що це має відношення до того, чому переозброєння є поганим?
DoubleDouble

9

Грубо кажучи, перевищення розміру зазвичай відбувається при співвідношенні

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

занадто високий.

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

Приклади:

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

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

З теоретичної точки зору, кількість даних, необхідних для належної підготовки вашої моделі, є важливим, але поки що не можна відповісти на питання машинного навчання. Одним із таких підходів до відповіді на це питання є розмір ВК . Інша - компромісна дисперсія .

З емпіричної точки зору, люди, як правило, будують помилку тренування та помилку тесту на одній графіці та переконуються, що вони не зменшують помилку навчання за рахунок помилки тесту:

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

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


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

приємне пояснення
Нікос М.

4

Я думаю, що ми повинні розглянути дві ситуації:

Кінцева підготовка

Існує кінцевий обсяг даних, який ми використовуємо для навчання нашої моделі. Після цього ми хочемо використовувати модель.

У цьому випадку, якщо ви переобладнаєте, ви не зробите модель явища, яке дало дані, але ви зробите модель вашого набору даних. Якщо ваш набір даних не є ідеальним - у мене виникають проблеми з уявленням про ідеальний набір даних - ваша модель не працюватиме добре у багатьох чи деяких ситуаціях, залежно від якості даних, якими ви користувалися. Таким чином, перевиконання призведе до спеціалізації вашого набору даних, коли ви хочете, щоб узагальнення змоделювало основне явище.

Постійне навчання

Наша модель постійно отримуватиме нові дані та продовжуватиме вчитися. Можливо, існує початковий період підвищеної еластичності для отримання прийнятної вихідної точки.

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

У цьому випадку перевиконання забезпечує дещо іншу, але схожу проблему: системи, які підпадають під цю справу, часто є системами, які, як очікується, виконують функцію під час навчання. Поміркуйте, як людина не просто сидить десь, тоді як нові дані подаються їй для навчання. Людина постійно взаємодіє і виживає у світі.

Ви можете стверджувати, що оскільки дані постійно надходять, кінцевий результат вийде добре, але в цей час те, що було вивчено, потрібно використовувати! Переозброєння забезпечить такі ж короткі часові ефекти, як і у випадку 1, що дасть вашій моделі більш низьку продуктивність. Але ви залежні від продуктивності вашої моделі, щоб функціонувати!

Погляньте на цей спосіб, якщо ви переобладнаєте, ви можете розпізнати того хижака, який намагається з'їсти вас десь у майбутньому після багатьох інших прикладів, але коли хижак з'їсть вас, це суперечка.


Хороша відповідь на запитання, на яке поширюється підказник: "Чому нам доводиться запобігати переповненню віртуальних мізків, коли наш мозок, здається, працює нормально, без будь-якої надмірної компенсації?", Оскільки машина навчається, а люди навчаються самі.
Фалько

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 Ні, стереотипізація - це явна протилежність нарядності. Стереотипізація приходить до висновків, які ігнорують більшість властивостей навчальних даних. Переоформлення приходить до висновку, що лише дані, які кожен пункт даних тренувань чудово описує частину речі, яку ви намагаєтесь розпізнати.
Девід Річербі

Примітка модератора: коментарі поза темою / поза контекстом видалені. Для загальної дискусії відвідайте Чат з інформатики . Якщо у вас виникли запитання щодо певної програми, яка може або не може корисно використовувати переозброєння, будь ласка, задайте нове запитання.
Жил "ТАК - перестань бути злим"

2
@ArnabDatta Overfitting занадто точно узгоджує надмірно складну модель з навчальними даними; стереотипізація - це використання надмірно спрощеної моделі.
Девід Річербі

0

Будь-які дані, які ви протестуєте, матимуть властивості, які ви хочете дізнатись, а також деякі властивості, які не мають значення для того, щоб ви НЕ хотіли, щоб вони дізналися.

Джон - вік 11
Джек - вік 19,
Кейт - 31 рік,
Лана - 39 років

Належне розміщення: вік приблизно лінійний, проходить через 20 років.
Перевищення: двоє людей не можуть бути на відстані 10 років (властивість шуму в даних
)


Ласкаво просимо! У нас вже є маса неформальних прикладів, тому я не впевнений, що це багато чого додає. І, здається, важко зробити цей приклад більш формальним. Наприклад, яку лінійну функцію ви згадуєте? Здається, вхід до функції - ім'я людини, яке не є числом. Тим часом "двоє людей не можуть бути десять років один від одного" і "1/4 людини - 19" - це не приклади функцій, які можна дізнатись із даних.
Девід Річербі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.