Gradient boosting

Оновлено: 31.07.2023

Дерева рішень

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

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

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

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

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

Навчання ансамблю

Це модель, яка створює прогнози на основі декількох окремих моделей. Ансамблеве навчання є більш гнучким і менш чутливим до даних, оскільки поєднує в собі кілька окремих моделей. Дві найпоширеніші стратегії ансамблевого навчання - це bagging та boosting.

  • Беггінг - це процес одночасного навчання великої кількості моделей. Кожна модель навчається на частині даних, яка вибирається випадковим чином. Використання пакування можна знайти у випадкових лісах. Випадкові ліси - це серія дерев рішень, які працюють паралельно. Кожне дерево навчається на випадковій підмножині тих самих даних, а класифікація визначається шляхом усереднення результатів усіх дерев.
  • Бустінг - це процес послідовного навчання великої кількості моделей. Кожна модель навчається на помилках попередньої моделі. Дерева рішень з градієнтним бустингом є прикладом бустінгу в дії.
.

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

Дерева рішень з градієнтним прискоренням

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

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

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

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

Покращити градієнтний бустинг

Методи градієнтного бустінгу схильні до перенастроювання, що призводить до поганої роботи з тестовими наборами даних. Щоб оптимізувати роботу методу градієнтного бустингу, візьміть до уваги наступні поради.

  • Прогнози кожного дерева об'єднуються разом по порядку. Натомість, для сповільнення навчання алгоритму можна використовувати вагу внеску кожного дерева у загальну суму. Таке зважування називається скороченням або швидкістю навчання. Продуктивність вашої моделі градієнтного прискорення може бути суттєво покращена за рахунок використання низької швидкості навчання. Майте на увазі, що повільна швидкість навчання подовжить час навчання, оскільки вашій моделі знадобиться більше ітерацій для отримання остаточного значення втрат.
  • Довибірка навчальної вибірки і навчання окремих учнів на випадкових вибірках - це те, про що йдеться у стохастичному градієнтному прискоренні. Це зменшує кореляцію між оцінками окремих учнів, а об'єднання результатів з низькою кореляцією дає кращий загальний результат.
  • Кількість дерев- Додавання надмірної кількості дерев може призвести до перенавчання, тому дуже важливо зупинитися, коли значення втрат збігається. Коротші дерева мають перевагу над більш складними деревами з точки зору глибини дерева. Кількість ярусів у дереві має бути обмежена.
.