Чому перевиконання погано в машинному навчанні?


49

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


Пов’язане: Продовження вищезазначеного питання " Коли модель недостатньо встановлена? "


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

@SeanOwen: Ні, як би неможливо було переобладнати?
промахи

Погодьтеся, просто перевіряючи, як ви запитували, чи надмірне оснащення спричинило погіршення моделей незалежно від даних
Шон Оуен

1
Перевизначення погано за визначенням. Якби це не було, це не було б надто придатним.
Гала

1
Я не мав на увазі цитувати вас про "додавання складності моделі" - я просто підкреслював фразу. Так чи інакше, я думаю, моє питання в основному те саме, що і @GaLa. Це означає, що надмірна обробка означає занадто багато. Тож, здається, ви просите нас підтвердити тавтологію. Отже, я схильний би думати, що ви насправді мали намір задати інше питання. Наприклад, чи збільшується складність моделі приводить до погіршення моделей? Або, як складність даних пов'язана зі схильністю моделі перевиконати?
Натан Гулд

Відповіді:


44

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

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

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

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


17

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

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

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

Редагувати : Це також може бути корисним, можливо, додасть динамічності вищезазначеному поясненню: D


14

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

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

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

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

Приклади:

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

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

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

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

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

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

(PS: будь ласка, перейдіть сюди, щоб попросити підтримку TeX у цьому SE.)



5

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


+1 Спасибі, в результаті вашої відповіді я опублікував подальше запитання " Коли модель недоопрацьований? "
помилки

4

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

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

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

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

Теорема «Без вільного обіду» говорить про те, що жодна модель не може перевершити будь-яку іншу модель на наборі всіх можливих випадків. Якщо ви хочете передбачити, що буде далі в послідовності чисел "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.