Машинне навчання є однією з найпопулярніших технологій для побудови прогнозних моделей для різних складних завдань регресії та класифікації. Машина для посилення градієнта (GBM) вважається одним із найпотужніших алгоритмів підвищення.
Незважаючи на те, що в машинному навчанні використовується дуже багато алгоритмів, алгоритми посилення стали основними в спільноті машинного навчання в усьому світі. Техніка посилення відповідає концепції ансамблевого навчання, і, отже, вона поєднує кілька простих моделей (слабкі учні або базові оцінювачі) для отримання кінцевого результату. GBM також використовується як метод ансамблю в машинному навчанні, який перетворює слабких учнів на сильних. У цій темі «GBM у машинному навчанні» ми обговоримо градієнтні алгоритми машинного навчання, різні алгоритми посилення в машинному навчанні, історію GBM, як це працює, різні термінології, що використовуються в GBM, тощо. Але перш ніж почати, спочатку зрозумійте концепцію посилення та різні алгоритми посилення в машинному навчанні.
Що таке прискорення в машинному навчанні?
Підвищення є одним із популярних методів моделювання ансамблю навчання, який використовується для створення сильних класифікаторів із різних слабких класифікаторів. Він починається зі створення первинної моделі з доступних наборів навчальних даних, а потім визначає помилки, присутні в базовій моделі. Після виявлення помилки будується вторинна модель, а далі в цей процес вводиться третя модель. Таким чином, цей процес впровадження більшої кількості моделей продовжується, доки ми не отримаємо повний навчальний набір даних, за допомогою якого модель прогнозує правильно.
випадкова математика java
AdaBoost (адаптивне посилення) був першим алгоритмом посилення, який об’єднує різні слабкі класифікатори в один сильний класифікатор в історії машинного навчання. Це в першу чергу зосереджено на вирішенні завдань класифікації, таких як двійкова класифікація.
Кроки в алгоритмах посилення:
Нижче наведено кілька важливих кроків для покращення алгоритму:
- Розглянемо набір даних, що має різні точки даних, і ініціалізуйте його.
- Тепер надайте рівну вагу кожній точці даних.
- Припустимо цю вагу як вхідні дані для моделі.
- Визначте точки даних, які неправильно класифіковані.
- Збільште вагу для точок даних на кроці 4.
- Якщо ви отримаєте відповідний результат, завершіть цей процес, інакше виконайте кроки 2 і 3 знову.
приклад:
Припустімо, у нас є три різні моделі зі своїми прогнозами, і вони працюють абсолютно по-різному. Наприклад, модель лінійної регресії показує лінійний зв’язок у даних, тоді як модель дерева рішень намагається вловити нелінійність у даних, як показано на зображенні нижче.
Крім того, замість використання цих моделей окремо для передбачення результату, якщо ми використовуємо їх у формі серії або комбінації, тоді ми отримуємо результуючу модель з правильною інформацією, ніж усі базові моделі. Іншими словами, замість використання індивідуального прогнозу кожної моделі, якщо ми використовуємо середнє передбачення з цих моделей, тоді ми зможемо отримати більше інформації з даних. Його називають ансамблевим навчанням, а посилення також базується на ансамблевих методах машинного навчання.
Покращення алгоритмів у машинному навчанні
В основному в машинному навчанні існує 4 алгоритми підвищення. Це такі:
Що таке GBM у машинному навчанні?
Gradient Boosting Machine (GBM) є одним із найпопулярніших методів ансамблю прямого навчання в машинному навчанні. Це потужна техніка для побудови прогнозних моделей для задач регресії та класифікації.
GBM допомагає нам отримати прогнозну модель у формі ансамблю слабких моделей прогнозування, таких як дерева рішень. Щоразу, коли дерево рішень погано навчається, отриманий алгоритм називається деревом із посиленням градієнта.
Це дає нам змогу об’єднати прогнози з різних моделей учнів і побудувати остаточну прогнозну модель із правильним прогнозом.
Але тут може виникнути одне запитання, якщо ми застосовуємо той самий алгоритм, то як кілька дерев рішень можуть давати кращі прогнози, ніж одне дерево рішень? Крім того, як кожне дерево рішень збирає різну інформацію з тих самих даних?
Отже, відповідь на ці запитання полягає в тому, що вузли кожного дерева рішень використовують різні підмножини функцій для вибору найкращого розподілу. Це означає, що кожне дерево поводиться по-різному, і, отже, захоплює різні сигнали з тих самих даних.
Як працює GBM?
Як правило, більшість контрольованих алгоритмів навчання базуються на одній прогностичній моделі, як-от лінійна регресія, модель штрафної регресії, дерева рішень тощо. Але є деякі керовані алгоритми в ML, які залежать від комбінації різних моделей разом через ансамбль. Іншими словами, коли кілька базових моделей вносять свої прогнози, середнє значення всіх прогнозів адаптується за допомогою алгоритмів підвищення.
Машини градієнтного підвищення складаються з 3 елементів, а саме:
- Функція втрат
- Слабкі вчаться
- Адитивна модель
Давайте розберемося в цих трьох елементах докладніше.
1. Функція втрат:
Хоча в машинному навчанні існує велике сімейство функцій Loss, які можна використовувати залежно від типу завдань, що вирішуються. Використання функції втрат оцінюється за вимогою конкретних характеристик умовного розподілу, таких як надійність. Використовуючи функцію втрат у нашому завданні, ми повинні вказати функцію втрат і функцію для обчислення відповідного негативного градієнта. Як тільки ми отримаємо ці дві функції, їх можна буде легко реалізувати в машинах для посилення градієнта. Однак для алгоритмів GBM вже запропоновано декілька функцій втрат.
Класифікація функції втрат:
Залежно від типу змінної відповіді y функція втрат може бути класифікована на різні типи наступним чином:
- Гаусова функція втрат L2
- Функція втрат Лапласа L1
- Функція втрат Губера, δ
- Квантильна функція втрат, указано α
- Біноміальна функція втрат
- Функція втрат Adaboost
- Функції втрат для моделей виживання
- Функції втрат обчислюють дані
- Спеціальні функції втрат
2. Слабкий учень:
Слабкі учні — це базові моделі учня, які вчаться на минулих помилках і допомагають у створенні сильної прогностичної моделі для вдосконалення алгоритмів машинного навчання. Як правило, дерева рішень працюють як слабкі учасники алгоритмів підвищення.
java отримує поточну дату
Підвищення визначається як структура, яка постійно працює над покращенням результатів базових моделей. Багато програм для посилення градієнта дозволяють «підключати» різні класи слабких учнів, які є у вашому розпорядженні. Отже, дерева рішень найчастіше використовуються для слабких (базових) учнів.
Як тренувати слабких учнів:
Машинне навчання використовує навчальні набори даних для навчання базових учнів і на основі прогнозу попереднього учня покращує продуктивність, зосереджуючись на рядках навчальних даних, де попереднє дерево мало найбільші помилки або залишки. наприклад неглибокі дерева вважаються слабкими для вивчення дерев рішень, оскільки вони містять кілька розділень. Як правило, в алгоритмах посилення найчастіше зустрічаються дерева, які мають до 6 розбивок.
Нижче наведено послідовність навчання слабкого учня для покращення його продуктивності, де кожне дерево знаходиться в послідовності із залишками попереднього дерева. Крім того, ми представляємо кожне нове дерево, щоб воно могло вчитися на помилках попереднього дерева. Це такі:
- Розглянемо набір даних і вставимо в нього дерево рішень.
F1(x)=y - Підберіть наступне дерево рішень з найбільшими помилками попереднього дерева.
h1(x)=y?F1(x) - Додайте це нове дерево до алгоритму, додавши обидва в кроках 1 і 2.
F2(x)=F1(x)+h1(x) - Знову підберіть наступне дерево рішень із залишками попереднього дерева.
h2(x)=y?F2(x) - Повторіть те саме, що ми робили в кроці 3.
F3(x)=F2(x)+h2(x)
Продовжуйте цей процес, доки якийсь механізм (тобто перехресна перевірка) не скаже нам зупинитися. Остаточна модель тут є поетапною адитивною моделлю b окремих дерев:
f(x)=B∑b=1fb(x)Отже, дерева будуються жадібно, вибираючи найкращі точки поділу на основі показників чистоти, як-от Gini, або мінімізуючи втрати.
3. Адитивна модель:
Адитивна модель визначається як додавання дерев до моделі. Хоча ми не повинні додавати кілька дерев одночасно, потрібно додати лише одне дерево, щоб існуючі дерева в моделі не змінювалися. Крім того, ми також можемо віддати перевагу методу градієнтного спуску, додавши дерева, щоб зменшити втрати.
В останні кілька років метод градієнтного спуску використовувався для мінімізації набору параметрів, таких як коефіцієнт рівняння регресії та вага в нейронній мережі. Після обчислення помилки або втрати параметр ваги використовується для мінімізації помилки. Але останнім часом більшість експертів з машинного навчання віддають перевагу підмоделям слабких учнів або деревам рішень як заміну цим параметрам. У якому ми повинні додати дерево в модель, щоб зменшити помилку та покращити продуктивність цієї моделі. Таким чином прогноз із щойно доданого дерева поєднується з прогнозом із існуючої серії дерев, щоб отримати остаточний прогноз. Цей процес триває до тих пір, поки втрати не досягнуть прийнятного рівня або більше не потребують покращення.
Цей метод також відомий як функціональний градієнтний спуск або градієнтний спуск із функціями.
МАШИНА ДЛЯ ПІДВИЩЕННЯ ЕКСТРЕМАЛЬНОГО ГРАДІЄНТА (XGBM)
XGBM — це остання версія машин для посилення градієнта, яка також працює дуже подібно до GBM. У XGBM дерева додаються послідовно (по одному), які вчаться на помилках попередніх дерев і покращують їх. Незважаючи на те, що алгоритми XGBM і GBM схожі за зовнішнім виглядом, але між ними є кілька відмінностей:
- XGBM використовує різні методи регулярізації, щоб зменшити недостатню або надмірну підгонку моделі, що також підвищує продуктивність моделі більше, ніж машини для посилення градієнта.
- XGBM слідує за паралельною обробкою кожного вузла, а GBM — ні, що робить його швидшим, ніж машини для посилення градієнта.
- XGBM допомагає нам позбутися імпутації відсутніх значень, оскільки за замовчуванням модель піклується про це. Він самостійно дізнається, чи мають бути ці значення у правому чи лівому вузлі.
Машини для посилення світлого градієнта (Light GBM)
Light GBM є оновленою версією машини для посилення Gradient завдяки її ефективності та високій швидкості. На відміну від GBM і XGBM, він може обробляти величезну кількість даних без будь-яких складнощів. З іншого боку, він не підходить для менших точок даних.
Замість порівневого росту Light GBM віддає перевагу полистовому росту вузлів дерева. Крім того, у легкому GBM первинний вузол розбивається на два вторинних вузла, а пізніше він вибирає один вторинний вузол для розділення. Цей розподіл вторинного вузла залежить від того, який із двох вузлів має вищі втрати.
Таким чином, завдяки листковому поділу алгоритму Light Gradient Boosting Machine (LGBM) завжди віддається перевага над іншими, де надається велика кількість даних.
CATBOOST
Алгоритм catboost в основному використовується для обробки категоріальних ознак у наборі даних. Хоча алгоритми GBM, XGBM і Light GBM підходять для наборів числових даних, Catboost розроблено для обробки категоріальних змінних у числові дані. Отже, алгоритм catboost складається з важливого етапу попередньої обробки для перетворення категоріальних ознак у числові змінні, яких немає в жодному іншому алгоритмі.
Переваги алгоритмів бустерства:
- Алгоритми посилення слідують за вивченням ансамблю, що дозволяє моделі давати точніші прогнози, які неможливо перевернути.
- Алгоритми посилення набагато гнучкіші, ніж інші алгоритми, оскільки можуть оптимізувати різні функції втрат і надають кілька варіантів налаштування гіперпараметрів.
- Він не потребує попередньої обробки даних, оскільки підходить як для числових, так і для категоріальних змінних.
- Він не вимагає імпутації відсутніх значень у наборі даних, він обробляє відсутні дані автоматично.
Недоліки алгоритмів підвищення:
Нижче наведено кілька недоліків алгоритмів підвищення:
- Алгоритми посилення можуть спричинити переобладнання, а також надмірне підкреслення викидів.
- Алгоритм посилення градієнта постійно фокусується на мінімізації помилок і потребує кількох дерев, отже, це дорого обчислювально.
- Це трудомісткий і виснажливий алгоритм.
- Менш інтерпретаційний характер, хоча це легко вирішити за допомогою різних інструментів.
висновок:
Таким чином ми навчилися покращувати алгоритми для прогнозного моделювання в машинному навчанні. Крім того, ми обговорили різні важливі алгоритми посилення, які використовуються в ML, такі як GBM, XGBM, легкий GBM і Catboost. Крім того, ми побачили різні компоненти (функцію втрати, слабкий навчається та адитивну модель) і те, як GBM працює з ними. Наскільки алгоритми посилення є вигідними для розгортання в реальних сценаріях тощо.