Чому перетворення даних у просторовий простір великого розміру, в якому класи лінійно відокремлюються, призводить до перевиконання?


10

Я читав у своїй книзі (статистична класифікація за Веббом та Вілей) у розділі про SVM та лінійно нероздільні дані:

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

Чому перетворення даних у просторовий простір великого розміру, в якому класи лінійно відокремлюються, призводить до переобладнання та поганої здатності до узагальнення?

Відповіді:


8

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

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

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

W=mHb

, де - нахил вашого лінійного рівняння, а b - y-перехоплення, або в цьому випадку W-перехоплення.mb

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

Тепер давайте скажемо, що ви взяли ці двовимірні дані та перетворили їх у вищий розмірний простір. Таким чином , замість того , щоб тільки , ви також додати ще 5 розміри, H 2 , H 3 , H 4 , H 5 , і HH2H3H4H5 .H2+H7

ci

W=c1Н+c2Н2+c3Н3+c4Н4+c5Н5+c6Н2+Н7

Н2+Н7

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


6

Скажімо, ми намагаємося знайти функцію, яка наближає набір 2D точок на рівнині за допомогою лінійної регресії (що по суті є значною мірою, що робить SVM). На 3 зображеннях нижче червоних хрестів є спостереження (дані тренувань), а 3 сині лінії представляють рівняння з різним ступенем полінома, використовуваного для регресії.

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

Перше зображення формується лінійним рівнянням. Як бачимо, він відображає точки досить погано. Це називається недостатнім , тому що ми дали алгоритму навчання занадто мало "ступеня свободи" (поліном занадто малого ступеня). Друге зображення набагато краще - ми використовували многочлен другого ступеня і це виглядає досить непогано. Однак якщо ми ще більше збільшимо "ступінь свободи", то отримаємо 3-е зображення. Синя лінія у неї надходить прямо через хрести, але чи вірите ви, що ця лінія справді описує залежність? Я не думаю, що так. Так, у навчальній програмі похибка навчання (відстань між хрестами та лінією) дуже мала, але якщо додати ще одне спостереження (скажімо, з реальних даних), швидше за все, помилка для нього буде набагато більшою, ніж якби ми використовували рівняння з другого зображення. Цей ефект називається надмірнимххх2х3. Коротше кажучи, ви розділили ваші дані, скажімо, на 10 частин, візьміть 9 з них для навчання та 1 для перевірки. Якщо похибка в наборі перевірки набагато вище, ніж у поїзді, то у вас є надмір. Більшість алгоритмів машинного навчання використовують деякі параметри (наприклад, параметри ядер у SVM), які дозволяють подолати перевитрати. Також одним із популярних ключових слів тут є регуляризація - модифікація алгоритму, що безпосередньо впливає на процес оптимізації, буквально кажучи, що "не слідкуйте за навчальними даними занадто уважно".

До речі, я не впевнений, що DSP - це правильний сайт для подібних питань, напевно, вам також буде цікаво відвідати CrossValided .


Це було - запозичено з відео лекцій Ендрю Нґ про машинне навчання. Якщо ви не доктор Нг. У такому випадку ви шукаєте аспіранта для своєї лабораторії? (Лекції можна знайти на сайті coursera.com для тих, хто цікавиться)
CyberMen

@CyberMen: його вкрали з images.google.com :) Але так, позначення дуже схожі на Ng. І я б точно запропонував його курс (та інші документи) для ознайомлення з машинним навчанням.
подруга

Я думаю, що DSP є правильним місцем для таких питань, принаймні серед інших сайтів SE.
Гігілі

2

Чи читали ви далі?

Наприкінці 6.3.10 розділ:

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

що призводить нас до розділу 6.3.3:

" Прийнятні ядра повинні бути вираженими як внутрішній продукт у просторі функцій, це означає, що вони повинні задовольняти умову Mercer"

Ядро за власною досить складною областю, ви можете мати великі дані, де в різних частинах слід застосовувати різні параметри, такі як згладжування, але не точно знаю, коли. Тому таке узагальнення досить складно.


Я читаю "4.2.5 Підтримка векторних машин", як я вже сказав, я не знаю, про який розділ 6 ви говорите. Оскільки абзац після того, що я згадував у запитанні, нічого про це не думав, я подумав, що краще його запитати тут.
Гігілі

Вибачте, я змішав його зі статистичним розпізнаванням шаблонів також Webb, який я зараз шукаю і який має однакові глави.
sigrlami
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.