Що означає "слабкий учень"?


34

Хтось може сказати мені, що розуміється під фразою «слабкий учень»? Це має бути слабкою гіпотезою? Мене плутає зв’язок між слабким учнем та слабким класифікатором. Обидва однакові чи є якась різниця?

У AdaBoost алгоритму T=10. Що мається на увазі під цим? Чому ми обираємо T=10?


1
Ласкаво просимо на сайт, @vrushali. Я відредагував це, щоб зробити англійську більш гладкою; будь ласка, переконайтесь, що вона все ще говорить про те, що ви маєте на увазі. Також я не впевнений, чи другий набір питань (про adaboost) такий же, як і перший набір питань; може бути більше сенсу розділяти їх на різні нитки.
gung - Відновіть Моніку

Відповіді:


35

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

Він згадується в оригінальній статті AdaBoost від Freund & Schapire:

Мабуть, найдивовижнішим з цих застосувань є виведення нового додатку для "прискорення", тобто перетворення "слабкого" алгоритму навчання PAC, який працює трохи краще, ніж випадкове відгадування, в одне з довільно високою точністю. - (Freund & Schapire, 1995)

але я думаю, що ця фраза насправді старша за це - я бачив, як люди цитують курсовий документ (?!) Майкла Кірнса з 1980-х.

Класичний приклад слабкого учня - це Ступінь рішень, однорівневе дерево рішень (1R або OneR - це інший широко використовуваний слабкий учень; він досить схожий). Було б дещо дивно називати СВМ «слабким учнем», навіть у ситуаціях, коли він погано працює, але було б цілком розумно називати один пень слабким учнем, навіть коли він сам себе дивно виконує.


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

Я не впевнений, що в є щось магічне . У документі 1995 року T подається як вільний параметр (тобто ви його встановлюєте самі).Т=10Т


Наскільки я знаю, рішення "Набір рішень" відрізняється від "1руль". Потік рішення - це завжди двійкове дерево 1 рівня (як для номінальних, так і для числових атрибутів). 1Руле може мати більше двох дітей (як номінальних, так і числових), а числові атрибути мають більш складний тест, ніж двійковий розбиття за значенням. Також у WEKA є 2 різні реалізації: DecisionStump та OneR.
rapaio

Гммм ... я гадаю, ти маєш рацію. У первинному документі 1R сказано: "Специфічний вид правил, які вивчаються в цій роботі, називаються 1-Правилами, - це правила, які класифікують об'єкт на основі одного атрибута (тобто вони є деревами рішень на 1 рівні", але дерева рішень можуть реалізовуватимуться різними способами. Я відредагую це зрозуміло.
Метт Крауз

Існує також власна реалізація OneR: пакет OneR на CRAN: CRAN.R-project.org/package=OneR , ось віньєтка: cran.r-project.org/web/packages/OneR/vignettes/OneR. html (повне розкриття: я автор цього пакета).
фондж

7

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

ХY

НхY

Це врешті-решт покращує слабких учнів та перетворює їх на сильних учнів.

Для отримання додаткової інформації: https://youtu.be/zUXJb1hdU0k .


Ласкаво просимо в CV. Оскільки ви тут новачок, ви можете скористатися нашою екскурсією , де є інформація для нових користувачів. . Ця відповідь, здається, не забезпечує щось нове або покращує порівняно з попередніми відповідями. Як ви думаєте, чогось у попередніх не вистачає?
TEG - Відновіть Моніку

чому вона повинна бути нижче 1/2. Якщо показник помилок вище 1/2, він також повинен бути слабким класифікатором.
Код Папи

@CodePope, я зрозумів, але насправді "слабкий учень" формально визначений у таких термінах. Я погоджуюся, що будь-яка модель, яка має помилку більше 50%, також є поганою і слабкою. Але якщо говорити про формальні визначення, визначені вченими, то слабкий учень - це той, який має помилку менше 1/2 або 50%.
Аніш Сінгх Валія

1

Слабкий учень - це те саме, що слабкий класифікатор або слабкий предиктор. Ідея полягає в тому, що ви використовуєте класифікатор, який є, ну ..., не такий хороший, але принаймні краще, ніж випадковий. Перевага полягає в тому, що класифікатор буде надійним при наборі. Звичайно, ви не використовуєте лише один, а великий набір з них, кожен трохи краще, ніж випадковий. Точний спосіб їх вибору / комбінування залежить від методології / алгоритму, наприклад, AdaBoost.

На практиці як слабкий класифікатор ви використовуєте щось, як простий поріг для однієї функції. Якщо функція перевищує поріг, то ви прогнозуєте, що вона належить до позитивів, інакше ви вирішите, що вона належить до негативів. Не впевнений у T = 10, оскільки немає контексту, але я можу припустити, що це приклад для визначення порогу якоїсь функції.

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