Баггінг, стимулювання та складання в машинному навчанні


245

У чому подібність та відмінності між цими 3 методами:

  • Баггінг,
  • Підвищення,
  • Укладання?

Який найкращий? І чому?

Чи можете ви надати мені приклад для кожного?


3
для посилання на підручник, рекомендую: "Ансамблеві методи: основи та алгоритми" Чжоу, Чжи-Хуа
Вадим Смоляков

Відповіді:


252

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

Кожен алгоритм складається з двох етапів:

  1. Проведення розподілу простих моделей ML на підмножини вихідних даних.

  2. Поєднання розподілу в одну "агреговану" модель.

Ось короткий опис усіх трьох методів:

  1. Баггинг (розшифровується Б ootstrap Agg regat ING ) є способомщоб зменшити дисперсію вашого прогнозу шляхом генерування додаткових даних для навчання з початкового набору данихдопомогою комбінації з повтореннями для отримання мультинабір тієї ж потужності / розміруяк вихідні дані. Збільшуючи розмір вашого навчального набору, ви не зможете покращити прогнозовану силу моделі, а просто зменшите дисперсію, вузько налаштувавши прогноз на очікуваний результат.

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

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

Ось таблиця порівняння:

Порівняльна таблиця

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

Короткі приклади кожного:

  1. Мішок : дані озону .
  2. Підвищення : використовується для підвищення точності оптичного розпізнавання символів (OCR).
  3. Укладання : застосовується при класифікації мікрорайонів раку в медицині.

8
Здається, що ваше прискорене визначення відрізняється від визначеного у wiki (який ви пов’язали) або в цій статті . Вони обидва кажуть, що при підвищенні наступного класифікатора використовуються результати попередньо навчених, але ви цього не згадали. Метод, який ви описуєте іншою рукою, нагадує деякі методи середнього голосування / моделювання.
Олександр Родін

2
@ a-rodin: Дякую, що вказали на цей важливий аспект, я повністю переписав цей розділ, щоб краще відобразити це. Щодо вашого другого зауваження, я розумію, що стимулювання - це також тип голосування / усереднення, чи я зрозумів, що ви неправильно?
Олександр Галкін

@AlexanderGalkin Я мав на увазі підвищення рівня градієнта під час коментування: це виглядає не як голосування, а як техніка наближення ітеративної функції. Однак, наприклад, AdaBoost більше схоже на голосування, тому я не буду про це сперечатися.
Олександр Родін

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

68

Мішок :

  1. паралельний ансамбль: кожна модель побудована самостійно

  2. спрямовані на зменшення дисперсії , а не зміщення

  3. підходить для моделей з високою дисперсією з низьким ухилом (складні моделі)

  4. прикладом методу на основі дерев є випадковий ліс , у якому розвиваються повністю вирощені дерева (зауважте, що РФ модифікує вирощену процедуру для зменшення кореляції між деревами)

Підвищення :

  1. послідовний ансамбль: спробуйте додати нові моделі, які добре справляються з відсутністю попередніх моделей

  2. прагнуть зменшити упередженість , а не дисперсію

  3. підходить для моделей з високою зміною з низькою дисперсією

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


5
Коментування кожного з пунктів, щоб відповісти, чому це так і як це досягається, було б великим поліпшенням вашої відповіді.
Тім

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

1
Дякую Тіме, пізніше додам кілька коментарів. @ML_Pro, з процедури підвищення (наприклад, сторінка 23 cs.cornell.edu/courses/cs578/2005fa/… ) зрозуміло, що збільшення може зменшити упередженість.
yuqian

43

Просто трохи розібратися у відповіді Юкіяна. Ідея розфасовки полягає в тому, що коли ви НАДАЄТЬСЯ методом непараметричної регресії (як правило, регресія або класифікація дерев, але може бути майже будь-яким непараметричним методом), ви схильні переходити до великої дисперсії, ніякої (або низької) частини зміщення. / варіація компромісу. Це пояснюється тим, що модель оздоблення дуже гнучка (настільки низька упередженість щодо багатьох повторних примірників з однієї сукупності, якщо такі були доступні), але вона має велику мінливість (якщо я збираю зразок і переробляю його, а ви збираєте зразок і перевищуєте його, наш результати будуть відрізнятися, оскільки непараметрична регресія відстежує шум у даних). Що ми можемо зробити? Ми можемо взяти багато повторних зразків (від завантажувального завантаження), кожен із них - і порівнювати їх разом. Це повинно призвести до однакового зміщення (низьке), але скасувати частину дисперсії,

Підсилення градієнта в основі працює з непараметричними регресіями UNDERFIT, які є надто простими і, таким чином, недостатньо гнучкими, щоб описати реальну взаємозв'язок у даних (тобто упереджених), але, оскільки вони підходять, мають низьку дисперсію (ви б схильні щоб отримати той самий результат, якщо ви збираєте нові набори даних). Як ви виправляєте це? В основному, якщо вам підходить, ЗАЛИШКИ вашої моделі все ще містять корисну структуру (інформація про населення), тому ви збільшуєте дерево, яке у вас є (або будь-який непараметричний прогноктор) деревом, побудованим на залишках. Це має бути більш гнучким, ніж оригінальне дерево. Ви неодноразово генеруєте все більше та більше дерев, кожне на етапі k збільшується зваженим деревом на основі дерева, пристосованого до залишків із кроку k-1 Одне з цих дерев має бути оптимальним, тож ви або зважуєте всі ці дерева разом, або вибираєте одне, що здається найкращим чином. Таким чином, збільшення градієнта - це спосіб побудувати купу більш гнучких дерев-кандидатів.

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

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


3
+1 для перевищення = дисперсія, арбітраж = аргумент упередженості! Однією з причин використання дерев рішень є те, що вони структурно нестабільні, отже, виграють більше від незначних змін умов. ( abbottanalytics.com/assets/pdf/… )
Марк Хорват


3

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

  • Беггінг : підмножина Bootstrap з функціями та зразками, щоб отримати декілька прогнозів та середніх (або інших способів) результатів, наприклад Random Forest, які усувають розбіжність і не мають проблеми з надмірним розміром.
  • Підвищуючи : Відмінність від Bagging що пізніше модель намагається дізнатися помилку , зроблену попереднім, наприклад , GBMі XGBoost, які усувають дисперсію , але мають перенавчання питання.
  • Складання : Зазвичай використовується на змаганнях, коли для тренування одного і того ж набору даних використовується декілька алгоритмів і середній (макс., Хв. Або інші комбінації) результат, щоб отримати більш високу точність прогнозування.

2

як мішковування, так і прискорення використання єдиного алгоритму навчання для всіх етапів; але вони використовують різні методи для обробки навчальних зразків. обидва є ансамблевим методом навчання, який поєднує рішення з декількох моделей
Bagging :
1. перепробовує повторно навчальні дані, щоб отримати M підмножини (завантажувальна програма);
2. навчає М класифікаторів (той же алгоритм) на основі М наборів даних (різних зразків);
3. підсумковий класифікатор поєднує в собі M результати голосування;
вага зразків однаково;
вага класифікаторів однаково;
зменшує похибку за рахунок зменшення дисперсії
Підвищення : тут зосередьтеся на алгоритмі adaboost
1. почніть з однакової ваги для всіх зразків у першому раунді;
2. У наступних раундах M-1 збільшуйте вагу зразків, які були класифіковані в останньому турі, зменшуйте ваги зразків, правильно класифікованих в останньому раунді
3. За допомогою зваженого голосування остаточний класифікатор поєднує в собі кілька класифікаторів попередніх раундів, і дайте більшу вагу до класифікаторів із меншою кількістю класифікацій.
ступінчасті зразки повторного зважування; ваги для кожного раунду, виходячи з результатів останніх раундів
зразків для повторної ваги (прискорення) замість перекомпонування (пакетування).


0

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

Складання поєднує в собі результати від різнорідних типів моделей.

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

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