Навіщо нам потрібні XGBoost та Random Forest?


25

Мені не було зрозуміло в кількох поняттях:

  1. XGBoost перетворює слабких учнів у сильних. Яка перевага в цьому? Об’єднання багатьох слабких учнів замість того, щоб просто використовувати одне дерево?

  2. Випадковий ліс використовує різні зразки з дерева для створення дерева. У чому перевага цього методу замість того, щоб просто використовувати єдине дерево?

Відповіді:


35

Простіше почати зі свого другого питання, а потім перейти до першого.

Баггінг

Випадковий ліс - алгоритм мішковини. Це зменшує дисперсію.

Скажіть, що у вас є дуже ненадійні моделі, такі як Дерева рішень. (Чому ненадійні? Тому що якщо трохи змінити свої дані, створене дерево рішень може бути дуже різним.) У такому випадку ви можете створити надійну модель (зменшити дисперсію) за допомогою пакетування - мішок - це коли ви створюєте різні моделі шляхом перекомпонування даних, щоб зробити отриману модель більш надійною.

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

Чому б ти хотів це зробити? Це залежить від проблеми. Але зазвичай вкрай бажано, щоб модель була стійкою.

Підвищення

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

Є два основні алгоритми:

  • Adaboost: це оригінальний алгоритм; ви скажете наступним моделям, щоб покарати більш суворі спостереження, помилкові попередніми моделями
  • Підвищення градієнта: ви тренуєте кожну наступну модель за допомогою залишків (різниця між передбачуваними та справжніми значеннями)

У цих ансамблях ваш базовий учень повинен бути слабким. Якщо це перевищує дані, не буде жодних залишків або помилок для наступних моделей, на яких можна розвиватись. Чому ці хороші моделі? Ну, більшість змагань на таких веб-сайтах, як Kaggle, були виграні з використанням градієнтних прискорених дерев. Наука даних - це емпірична наука, "бо вона працює" є досить хорошою. Як би то не було, зауважте, що розширення моделей може переоцінювати (хоча емпірично це не дуже часто).

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

[Цікава історична примітка: Спочатку стимулювання було теоретичним винаходом, мотивованим запитанням "чи можна побудувати більш сильну модель, використовуючи слабкіші моделі "]


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


1
Прискорення зменшує зміщення шляхом ітеративного моделювання залишків та дисперсії шляхом взяття середнього зваженого значення; пор. § 5.5 Упередження, варіативність та стабільність , стор. 118, Підвищення: фундаменти та алгоритми , Роберт Е. Шапір, Йоав Фрейнд.
Емре

@Emre, ти, звичайно, правильний. Хтось редагував мій пост і змінив зменшення на збільшення . Я це повернув.
Рікардо Крус

8

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

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

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


1

Я б додав невелике доповнення до хороших відповідей. Основна проблема - це оснащення. Як тільки у вас є більш ніж один параметр, а також додаються нелінійні функції, всі алгоритми починають переповнювати. Вони бачать щось у даних, що не існує. Як і коли темно або туман сильний, люди схильні бачити речі в темряві / тумані, які не існують. Майже всі обчислювальні алгоритми роблять більш вигідними, ніж люди. Навіть лінійні регресії починають показувати дивні коефіцієнти, коли змінні сильно корелюються. Якби не було перевищення, звичайні дерева рішень, на яких базуються ці алгоритми, були б кращими за Random Forest або XGBoost.

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

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

Основні можливості для боротьби з надмірною обробкою:

  1. випадкова вибірка
  2. усереднення в декількох моделях
  3. рандомізація моделі (випадкове падіння нейронів під час тренування нейронних мереж)

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

У змаганнях із розпізнавання зображень ImageNet найкращою моделлю 2016 року (Шао та ін) було поєднання кількох дійсно хороших моделей. Деякі з них вигравали конкурс у попередні роки. Ця модель мала на 20% менше помилок, ніж будь-яка з моделей, на яких вона базувалася. Ось як усереднення по декількох моделях може бути сильним у боротьбі з надмірним оснащенням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.