Градіє́нтний бу́стинг, також градіє́нтне підси́лювання та градіє́нтне підси́лення () — метод ансамблевого машинного навчання, у якому прогнозну модель будують послідовним додаванням простіших моделей так, щоб кожна нова модель зменшувала похибку вже побудованого ансамблю. Метод можна розглядати як градієнтний спуск у просторі функцій: на кожному кроці нову базову модель навчають наближати від'ємний градієнт функції втрат, обчислений для поточного прогнозу. Ці значення називають псевдозалишками.
Найпоширенішим різновидом є градієнтний бустинг дерев рішень (англ. gradient-boosted decision trees, GBDT), у якому базовими моделями слугують невеликі дерева рішень. Градієнтний бустинг застосовують у задачах регресії, класифікації та ранжування. На його основі створено, зокрема, алгоритми та програмні бібліотеки XGBoost, LightGBM і CatBoost.
Принцип роботи
Градієнтний бустинг будує модель ітеративно, послідовно додаючи до неї нові базові моделі. На відміну від методів на кшталт випадкового лісу, де окремі моделі ансамблю можуть навчатися переважно незалежно, у бустингу кожна наступна модель залежить від уже побудованого ансамблю й намагається скоригувати його прогноз.
Найпростіше принцип роботи можна показати на задачі регресії з квадратичною функцією втрат. Нехай поточна модель для навчального прикладу передбачає значення , тоді як правильна відповідь дорівнює . Для кожного прикладу можна обчислити залишок
Наступну базову модель навчають передбачати ці залишки. Її прогноз додають до попередньої моделі, наприклад
де — швидкість навчання, яка визначає внесок нової моделі. Якщо добре наближає залишки, новий ансамбль у середньому дає меншу похибку. Таким чином, кожна наступна модель навчається не безпосередньо передбачати цільову величину, а виправляти помилки вже побудованого ансамблю.
Цю ідею можна узагальнити на інші функції втрат. Для довільної диференційовної функції втрат замість звичайних залишків обчислюють псевдозалишки — від'ємні похідні функції втрат за поточним прогнозом:
Вони задають напрямок, у якому слід змінити прогноз для зменшення функції втрат. Базову модель навчають наближати ці значення, тому послідовне додавання моделей можна розглядати як аналог градієнтного спуску, але оптимізація відбувається не безпосередньо над скінченним набором параметрів, а в просторі функцій. Саме з цієї інтерпретації походить назва градієнтний бустинг.
Для квадратичної функції втрат від'ємний градієнт збігається зі звичайним залишком (з точністю до сталого множника). Тому навчання наступної моделі на помилках попередньої можна розглядати як окремий простий випадок загального градієнтного підходу. Вибір іншої функції втрат змінює псевдозалишки та дає змогу застосовувати той самий принцип, зокрема, до задач класифікації.
Варіанти та реалізації XGBoost LightGBM CatBoost
Посилання Басюк Т. М., Литвин В. В., Захарія Л. М., Кунанець Н. Е. «Машинне навчання» // Національний університет «Львівська політехніка». — Львів: Новий Світ-2000, 2019. — 335 с. — Розділи 2.5 «Градієнтний бустинг» та 3.3.4 «Градієнтний бустинг дерев рішень». Жебка В. В., Виноградов В. І., Бондарчук А. П., Степанов М. М. «Оптимізація роботи алгоритму градієнтного бустингу за допомогою перехресної перевірки» // Актуальні проблеми економіки. — 2019. — № 12 (222).
Примітки