ШІ 101

Що таке Градієнтне Бустинг?

mm

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

Визначення Градієнтного Бустингу

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

Давайте почнемо з визначення того, що означає “бустинг” учня. Слабкі учні перетворюються на сильних учнів шляхом调整 властивостей моделі навчання. Який саме алгоритм навчання буститься?

Моделі бустингу працюють шляхом доповнення іншого загального алгоритму машинного навчання, дерева рішень.

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

Ілюстрація того, як моделі бустингу тренуються.
Фото: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Одним із типів алгоритмів бустингу є AdaBoost. Алгоритми AdaBoost починаються з тренування моделі дерева рішень та призначення рівної ваги кожній спостереженню. Після того, як перший дерево було оцінено за точністю, ваги для різних спостережень调整уються. Спостереження, які були легко класифіковані, мають свою вагу зниженою, тоді як спостереження, які були важко класифіковані, мають свою вагу збільшеною. Друге дерево створюється за допомогою цих调整ованих ваг, з метою того, щоб передбачення другого дерева були більш точними, ніж передбачення першого дерева.

Модель тепер складається з передбачень для оригінального дерева та нового дерева (або Дерево 1 + Дерево 2). Точність класифікації оцінюється ще раз на основі нової моделі. Третє дерево створюється на основі розрахованої похибки моделі, а ваги знову调整уються. Цей процес продовжується протягом заданої кількості ітерацій, а кінцева модель – це ансамбль, який використовує зважену суму передбачень, зроблених усіма попередньо створеними деревами.

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

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

Градієнтне Бустинг

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

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

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

Щоб зробити це зрозумілішим:

Нові передбачення моделі = змінні виходу – старі недосконалі передбачення.

У статистичному сенсі GBM спрямовані на пошук відповідних закономірностей у залишках моделі,调整вання моделі для підгонки до цих закономірностей та приведення залишків якомога ближче до нуля. Якщо ви проводите регресію передбачень моделі, залишки будуть розподілені навколо 0 (ідеальна відповідність), а GBM знаходять закономірності всередині цих залишків та оновлюють модель навколо цих закономірностей.

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

Примітка, що широкий спектр інших функцій втрат (таких як логарифмічна похибка) може бути використаний GBM. MSE був вибраний вище для простоти.

Варіації Моделей Градієнтного Бустингу

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

GBM можуть бути регульовані чотирма різними методами: Шринкейдж, Обмеження дерева, Стохастичний градієнтний бустинг та Пеналізоване навчання.

Шринкейдж

Як згадувалося раніше, у GBM передбачення сумуються послідовно. У “Шринкейджі” додавання кожного дерева до загальної суми调整ються. Застосовуються ваги, які сповільнюють швидкість навчання алгоритму, що вимагає додавання更多 дерев до моделі, що зазвичай покращує стійкість та продуктивність моделі. Компроміс полягає в тому, що модель довше тренується.

Обмеження дерева

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

Випадкове вибіркове навчання

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

Пеналізоване навчання

Поза обмеженням моделі через обмеження структури дерева можна використовувати регресійне дерево. Регресійні дерева мають числові значення, прикріплені до кожного листка, які функціонують як ваги та можуть бути调整овані за допомогою загальних функцій регуляризації, таких як L1 та L2 регуляризація.

Блогер і програміст з спеціалізацією у темах Machine Learning і Deep Learning. Даніель сподівається допомогти іншим використовувати силу штучного інтелекту для соціальної добробути.