Ensemble Learning
Оновлено: 31.07.2023
Ансамблеве навчання - це загальний підхід до машинного навчання, який має на меті покращити ефективність прогнозування шляхом змішування прогнозів від декількох моделей.
Незважаючи на те, що можна створити майже нескінченну кількість ансамблів для будь-якої задачі прогнозного моделювання, є три стратегії, які домінують у галузі ансамблевого машинного навчання. Настільки, що замість алгоритмів як таких, кожна з них є предметом дослідження, що породило інші більш спеціалізовані підходи.
- За допомогою ансамблевих підходів можна згенерувати одну найкращу модель прогнозування, об'єднавши кілька базових моделей.
Пакетування, стекування та бустінг - це три основні типи методів навчання ансамблю, і розуміння кожного з них та включення їх у ваш проект прогнозного моделювання має вирішальне значення.
Важливість ансамблевого навчання
Припустимо, ви хочете створити модель машинного навчання для вашої організації, яка прогнозуватиме замовлення запасів на основі історичних даних за попередні роки. Ви використовуєте чотири різні алгоритми для навчання чотирьох моделей машинного навчання: лінійну регресію, машину опорних векторів, регресійне дерево рішень і базову штучну нейронну мережу. Однак, незважаючи на ретельне налаштування та конфігурацію, жоден з них не досягає бажаної точності прогнозу в 95%. Через те, що вони не можуть наблизитися до цільового рівня, ці моделі машинного навчання називають "слабкими учнями".
Слабкість, з іншого боку, не означає неефективність. Ви можете об'єднати їх разом, щоб створити ансамбль. Для кожного нового ансамблевого прогнозу в машинному навчанні ви пропускаєте вхідні дані через усі чотири моделі, а потім берете середнє арифметичне результатів. Коли ви подивитеся на новий результат, то побачите, що загальна точність становить 96%, що більш ніж достатньо.
Оскільки ваші моделі машинного навчання працюють по-різному, ансамблеве навчання є ефективним. Кожна модель може працювати добре на одних даних, але погано на інших. Коли всі вони об'єднуються, їхні недоліки нівелюються.
- Методи ансамблів можна використовувати як для прогнозування, так і для класифікації.
Ансамблеві методи в машинному навчанні
Щоб використовувати ансамбль машинного навчання, ваші моделі повинні бути незалежними одна від одної. Створення ансамблю з різних алгоритмів - один із способів досягти цього.
Інша стратегія ансамблю полягає в тому, щоб навчати різні екземпляри одного і того ж алгоритму ансамблю в процесі машинного навчання на різних наборах даних.
Вибірку даних з вашої навчальної вибірки можна здійснити двома способами. "Пакування", також відоме як "бутстреп-агрегація", використовує випадкові вибірки з навчальної вибірки. З іншого боку, вставка бере вибірки "без заміни".
Ось приклад ансамблевого навчання, який допоможе пояснити відмінності між різними методами вибірки. Уявімо, що ви хочете навчити кожну модель машинного навчання у вашому ансамблі на 5 000 даних, і у вас є навчальний набір з 4 000 зразків.
Якщо ви використовуєте пакування, вам потрібно буде зробити наступне для кожної з ваших моделей машинного навчання:
- Візьміть випадкову вибірку з навчальних даних.
- Зробіть дублікат вибірки та збережіть його у наборі даних моделі.
- Повторно введіть вибірку до початкового тестового набору.
- Повторіть процедуру 3,999 разів
Техніка вставки така сама, як і при використанні мішків, за винятком того, що зразки не повертаються до навчальної вибірки після того, як вони були намальовані. В результаті, під час пакування один і той самий зразок може з'являтися в моделі кілька разів, а під час вставки - лише один раз.
Після того, як ви навчили всі моделі машинного навчання, вам потрібно буде вибрати агрегований підхід. У задачах класифікації найпоширенішим агрегованим підходом є статистична модель або клас, який передбачається частіше за інші. У задачах регресії ансамблі зазвичай використовують середнє значення прогнозів моделей.
Підвищення
Бустінг - ще один відомий ансамблевий підхід. На відміну від традиційних ансамблевих методів, які навчають моделі машинного навчання паралельно, бустінг-підходи навчають їх послідовно, причому кожна нова модель будується на основі попередньої і усуває її недоліки.
Одна з найпоширеніших стратегій бустінгу, AdaBoost (скорочення від "адаптивний бустінг"), підвищує точність ансамблевих моделей у машинному навчанні, адаптуючи нові моделі до помилок попередніх. Після навчання вашої першої моделі машинного навчання ви визначаєте навчальні приклади, які модель неправильно класифікувала або спрогнозувала. Ви робите більший акцент на цих прикладах під час навчання наступної моделі. В результаті створюється модель машинного навчання, яка перевершує попередню. Цю техніку можна повторювати скільки завгодно разів, щоб додати до ансамблю більше моделей. Остаточний ансамбль складається з декількох моделей машинного навчання з різним ступенем точності, які при об'єднанні можуть підвищити точність. У посилених ансамблях вихідні дані кожної моделі отримують вагу, пропорційну її точності.
Ensemble, як і більшість речей у машинному навчанні, є одним з декількох інструментів, доступних для вирішення складних проблем. Він може допомогти вам вийти зі складних ситуацій, але це не диво. Використовуйте його з користю.