ШІ 101
Що таке ансамблеве навчання?

Однією з найпотужніших технік машинного навчання є ансамблеве навчання. Ансамблеве навчання — це використання множини моделей машинного навчання для покращення надійності та точності прогнозів. Але як саме використання кількох моделей машинного навчання призводить до точніших прогнозів? Які техніки використовуються для створення ансамблевих моделей? Ми дослідимо відповіді на ці питання, розглянувши логіку використання ансамблевих моделей та основні способи їх створення.
Що таке ансамблеве навчання?
Простіше кажучи, ансамблеве навчання — це процес тренування множини моделей машинного навчання та об’єднання їх результатів. Різні моделі використовуються як основа для створення однієї оптимальної прогностичної моделі. Комбінування різноманітного набору окремих моделей машинного навчання може покращити стабільність загальної моделі, що призводить до точніших прогнозів. Ансамблеві моделі часто є надійнішими за окремі моделі, і, як наслідок, вони часто посідають перші місця у багатьох змаганнях з машинного навчання. Існують різні техніки, які інженер може використовувати для створення ансамблевої моделі. Прості техніки ансамблевого навчання включають такі речі, як усереднення результатів різних моделей, тоді як існують і більш складні методи та алгоритми, розроблені спеціально для об’єднання прогнозів багатьох базових учнів/моделей разом.
Навіщо використовувати ансамблеві методи навчання?
Моделі машинного навчання можуть відрізнятися одна від одної з різних причин. Різні моделі можуть працювати на різних вибірках даних популяції, можуть використовуватися різні техніки моделювання та може застосовуватися різна гіпотеза. Уявіть, що ви граєте у вікторину з великою групою людей. Якщо ви в команді самі, обов’язково знайдуться теми, про які ви маєте знання, і багато тем, про які ви не знаєте. Тепер припустімо, що ви граєте в команді з іншими людьми. Так само як і ви, вони матимуть певні знання щодо своїх спеціальностей і не матимуть знань про інші теми. Але коли ваші знання поєднуються, ви маєте точніші здогадки для більшої кількості областей, а кількість тем, про які ваша команда не має знань, зменшується. Це той самий принцип, що лежить в основі ансамблевого навчання: поєднання прогнозів різних членів команди (окремих моделей) для покращення точності та мінімізації помилок. Статистики довели, що коли натовпу людей пропонують вгадати правильну відповідь на задане питання з діапазоном можливих відповідей, усі їхні відповіді утворюють розподіл ймовірностей. Люди, які дійсно знають правильну відповідь, впевнено оберуть правильну відповідь, тоді як люди, які обирають неправильні відповіді, розподілять свої здогадки по всьому діапазону можливих неправильних відповідей. Повертаючись до прикладу з вікториною, якщо ви та ваші двоє друзів знаєте, що правильна відповідь — А, то всі троє проголосують за А, тоді як троє інших людей у вашій команді, які не знають відповіді, швидше за все, неправильно вгадають B, C, D або E. Результат такий, що А має три голоси, а інші відповіді, швидше за все, матимуть лише один або максимум два голоси. Усі моделі мають певну кількість помилок. Помилки для однієї моделі відрізнятимуться від помилок, створених іншою моделлю, оскільки самі моделі різні з причин, описаних вище. Коли всі помилки розглядаються, вони не будуть згруповані навколо однієї чи іншої відповіді, а будуть розкидані навколо. Неправильні здогадки по суті розподіляються по всіх можливих неправильних відповідях, взаємно компенсуючи одна одну. Тим часом правильні здогадки від різних моделей будуть згруповані навколо істинної, правильної відповіді. Коли використовуються ансамблеві методи навчання, правильну відповідь можна знайти з більшою надійністю.
Прості ансамблеві методи навчання
Прості ансамблеві методи навчання зазвичай просто передбачають застосування методів статистичного узагальнення, таких як визначення моди, середнього значення або зваженого середнього набору прогнозів. Мода відноситься до елемента, що найчастіше зустрічається в наборі чисел. Щоб отримати моду, окремі навчальні моделі повертають свої прогнози, і ці прогнози розглядаються як голоси за остаточний прогноз. Визначення середнього значення прогнозів здійснюється просто шляхом обчислення середнього арифметичного прогнозів, округленого до найближчого цілого числа. Нарешті, зважене середнє можна обчислити, призначивши різні ваги моделям, що використовуються для створення прогнозів, де ваги представляють сприйняту важливість цієї моделі. Числове представлення прогнозу класу множиться на вагу від 0 до 1.0, потім окремі зважені прогнози підсумовуються, а результат округлюється до найближчого цілого числа.
Розширені ансамблеві методи навчання
Існує три основні розширені техніки ансамблевого навчання, кожна з яких призначена для вирішення конкретного типу проблеми машинного навчання. Техніки “бекінгу” (bagging) використовуються для зменшення дисперсії прогнозів моделі, де дисперсія відноситься до того, наскільки відрізняється результат прогнозів при однаковому спостереженні. Техніки “бустингу” (boosting) використовуються для боротьби зі зміщенням моделей. Нарешті, “стекинг” (stacking) використовується для загального покращення прогнозів. Самі методи ансамблевого навчання зазвичай можна розділити на одну з двох різних груп: послідовні методи та паралельні ансамблеві методи. Послідовні ансамблеві методи отримали назву “послідовні”, оскільки базові учні/моделі генеруються послідовно. У випадку послідовних методів основна ідея полягає в тому, що залежність між базовими учнями експлуатується для отримання більш точних прогнозів. Неправильно позначені приклади мають скориговані ваги, тоді як правильно позначені приклади зберігають ті самі ваги. Кожного разу, коли генерується новий учень, ваги змінюються, а точність (сподіваємося) покращується. На відміну від послідовних ансамблевих моделей, паралельні ансамблеві методи генерують базових учнів паралельно. При виконанні паралельного ансамблевого навчання ідея полягає в тому, щоб використати той факт, що базові учні мають незалежність, оскільки загальну частку помилок можна зменшити, усереднивши прогнози окремих учнів. Ансамблеві методи навчання можуть бути за своєю природою однорідними або неоднорідними. Більшість методів ансамблевого навчання є однорідними, тобто вони використовують один тип базової навчальної моделі/алгоритму. На противагу цьому, неоднорідні ансамблі використовують різні алгоритми навчання, диверсифікуючи та варіюючи учнів, щоб забезпечити максимально можливу точність.
Приклади алгоритмів ансамблевого навчання

Візуалізація ансамблевого бустингу. Фото: Sirakorn via Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)
Прикладами послідовних ансамблевих методів є AdaBoost, XGBoost та Gradient tree boosting. Це всі моделі бустингу. Для цих моделей бустингу мета полягає в тому, щоб перетворити слабких, недостатньо ефективних учнів на потужніших учнів. Такі моделі, як AdaBoost та XGBoost, починають з багатьох слабких учнів, які працюють лише трохи краще за випадкове вгадування. У міру продовження навчання до даних застосовуються та коригуються ваги. Прикладам, які були неправильно класифіковані учнями на попередніх етапах навчання, надається більша вага. Після того, як цей процес повторюється протягом бажаної кількості раундів навчання, прогнози об’єднуються або через зважену суму (для регресійних завдань), або через зважене голосування (для завдань класифікації).

Процес навчання бекінгу. Фото: SeattleDataGuy via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)
Прикладом паралельної ансамблевої моделі є класифікатор Random Forest, а Random Forests також є прикладом техніки бекінгу. Термін “бекінг” походить від “bootstrap aggregation”. Вибірки беруться з загального набору даних за допомогою техніки вибірки, відомої як “bootstrap sampling”, які використовуються базовими учнями для прогнозування. Для завдань класифікації результати базових моделей агрегуються за допомогою голосування, тоді як для регресійних завдань вони усереднюються. Random Forests використовує окремі дерева рішень як своїх базових учнів, і кожне дерево в ансамблі будується з використанням різної вибірки з набору даних. Для генерації дерева також використовується випадкова підмножина ознак. Це призводить до високо рандомізованих окремих дерев рішень, які всі поєднуються разом, щоб забезпечити надійні прогнози.

Візуалізація ансамблевого стекингу. Фото: Supun Setunga via Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)
Що стосується технік стекингу, то кілька регресійних або класифікаційних моделей поєднуються разом через модель вищого рівня, метамодель. Базові моделі нижчого рівня навчаються, отримуючи весь набір даних. Потім результати базових моделей використовуються як ознаки для навчання метамоделі. Стекінг-ансамблеві моделі часто є неоднорідними за своєю природою.












