Чому підсилюючи, чому учні "слабкі"?


28

Дивіться також подібне запитання на stats.SE .

В активізації алгоритмів , таких як AdaBoost і LPBoost відомо , що «слабкі» учні повинні бути об'єднані тільки повинні працювати краще , ніж шанс бути корисним, з Вікіпедії:

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

  • Які переваги використання слабких на відміну від сильних учнів? (наприклад, чому б не підсилити "сильні" методи навчання - чи ми більш схильні до переозброєння?)

  • Чи є якась "оптимальна" сила для слабких учнів? І це пов’язано з кількістю учнів у ансамблі?

Чи існує якась теорія, щоб підтвердити відповіді на ці запитання?


Слабкі студенти також уникають надто пристосованих до навчальних даних
Aman Deep Gautam

Відповіді:


15

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

Основна перевага - швидкість.

Коли Шапір презентував це у 1990 році, це був прорив у тому, що він показав, що поліном, який вивчає час, генеруючи гіпотези з помилками, трохи меншими за 1/2, може бути перетворений на поліноміального учня, який генерує гіпотези з довільно малою помилкою.

Отже, теорія підтвердження вашого запитання полягає у "Силі слабкої навчальності" ( pdf ), де він в основному показав, що "сильне" та "слабке" навчання є рівнозначними.

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


З порівняно недавніх робіт є "Про еквівалентність слабкої вивченості та лінійної відокремленості: нові розслаблення та ефективні алгоритми прискорення" ( pdf ), які я не розумію, але який здається пов'язаним і може зацікавити більш освічених людей :)


1
+1 приємних посилань. Тож, можливо, відповідь така: "Немає сенсу будувати сильних учнів, коли ти можеш побудувати слабких дешевше"?
tdc

так, це звучить так - я оновив відповідь! Крім того, якщо я правильно розумію, це не залежить від сили ваших слабких учнів - вони просто повинні бути "трохи" кращими, ніж випадкові.
andreister

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

9

Я звернусь до надмірного розміщення, про яке ще не було сказано, з більш інтуїтивним поясненням. Ваше перше питання:

Які переваги використання слабких на відміну від сильних учнів? (наприклад, чому б не підсилити "сильні" методи навчання - чи ми більш схильні до переозброєння?)

На моє розуміння, основні причини:

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

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

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


4
Це справжня відповідь.
Меттью Друрі

6

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

Скажімо, я використовую 100 учнів. Я треную NN за 100 секунд, а дерево рішень - за 10 секунд. Перше моє збільшення за допомогою NN займе 100 * 100 секунд, а друге збільшення з деревом рішень - 100 * 10 секунд.

Це сказав, що я бачив статті, в яких використовуються сильні студенти для підвищення рівня. Але в тому, що на мою думку, швидкі студенти були швидкими.

Я намагався тренувати MLP на наборі даних про виявлення вторгнень KDD99 (4+ мільйонів) за допомогою Weka. На моїй машині пройшло більше 72 годин. Але збільшення (AdaBoostM1 з деревом рішень - Stump) зайняло лише 3 години. У цій проблемі зрозуміло, що я не можу використовувати стимулювання з сильним учнем, тобто тим, хто навчається, який займає занадто багато часу.


1
"Я бачив статті, в яких використовуються сильні студенти для підвищення" - будь-які посилання?
tdc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.