Топ питань
Часова шкала
Чат
Перспективи

Random forest

З Вікіпедії, вільної енциклопедії

Remove ads

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

Розширення алгоритму було запропоновано Лео Брейманом(інші мови)[1][2] і Аделем Катлером(інші мови), «Random Forests» є їхньою торговою маркою. Алгоритм поєднує в собі дві основні ідеї: метод беггінга Бреймана і метод випадкових підпросторів(інші мови), запропонованийТін Кам Хо(інші мови).

Remove ads

Алгоритм навчання класифікатора

Узагальнити
Перспектива

Нехай навчальна вибірка складається з N прикладів, розмірність простору ознак дорівнює M, і заданий параметр m (в задачах класифікації зазвичай ).

Усі дерева комітету будуються незалежно один від одного за такою процедурою:

  1. Згенеруємо випадкову підвибірку з повторенням розміром n з навчальної вибірки. (Таким чином, деякі приклади потраплять в неї кілька разів, а приблизно N/3 прикладів не ввійдуть у неї взагалі).
  2. Далі випадково обиремо m предикторів (ознак) із М.
  3. Побудуємо дерево рішень, яке класифікує приклади даної підвибірки, причому в ході створення чергового вузла дерева будемо вибирати ознаку, на основі якої проводиться розбиття, не з усіх M ознак, а лише з m випадково вибраних. Вибір найкращого з цих m ознак може здійснюватися різними способами. В оригінальному коді Брейман використовується критерій Джині, що застосовується також в алгоритмі побудови вирішальних дерев CART. У деяких реалізаціях алгоритму замість нього використовується критерій приросту інформації[en].[3]
  4. Розділимо ознаку Х на два класи, Xі Sі та Xі < Sі.
  5. Виміряємо гомогенність у двох нових класах за допомогую критерію Джині.
  6. Оберемо таке значення «спліт-поінту» Sі ознаки Х, для якого досягнуто максимальної гомогенності класу.
  7. Дерево будується до повного вичерпання підвибірки і не піддається процедурі відсікання[en] (на відміну від дерев рішень, побудованих за таким алгоритмам, як CART або C4.5).
  8. Повертаємося до пункту 1. генеруємо нову вибірку і повторюємо пункти 2. — 4. будуючи наступне дерево. Чим більше дерев побудовано, тим меншою буде помилка класифікатора на тестовій вибірці.[4]

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

Оптимальне число дерев підбирається таким чином, щоб мінімізувати помилку класифікатора на тестовій вибірці. У разі її відсутності, мінімізується оцінка помилки out-of-bag: частка прикладів навчальної вибірки, неправильно класифікованих комітетом, якщо не враховувати голоси дерев на прикладах, що входять в їх власну навчальну підвибірку.

Remove ads

Оцінка важливості змінних

Узагальнити
Перспектива

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

Перший крок в оцінці важливості змінної в тренувальному наборі — тренування випадкового лісу на цьому наборі. Під час процесу побудови моделі для кожного елемента тренувального набору вважається так звана out-of-bag — помилка. Потім для кожної сутності така помилка опосередковується по всьому випадковому лісі.

Для того, щоб оцінити важливість -ого параметра після тренування, значення -ого параметра перемішуються для всіх записів тренувального набору та out-of-bag — помилка рахується знову. Важливість параметра оцінюється шляхом усереднення по всіх деревах різниці показників out-of-bag — помилок до і після перемішування значень. При цьому значення таких помилок нормалізуються на стандартне відхилення.

Параметри вибірки, які дають більші значення, вважаються більш важливими для тренувального набору. Метод має наступний потенційний недолік — для категоріальних змінних з великою кількістю значень метод схильний вважати такі змінні більш важливими. Часткове переваження значень в цьому випадку може знижувати вплив цього ефекту.[5][6] Якщо дані містять групи корельованих ознак, що мають подібне значення для результату, то більш дрібні групи мають переваги над більшими групами.[7]

Remove ads

Переваги

  • Здатність ефективно обробляти дані з великим числом ознак і класів.
  • Нечутливість до масштабування (і взагалі до будь-яких монотонних перетворень) значень ознак.
  • Однаково добре обробляються як безперервні, так і дискретні ознаки. Існують методи побудови дерев за даними з пропущеними значеннями ознак.
  • Існують методи оцінювання значущості окремих ознак в моделі.
  • Внутрішня оцінка здатності моделі до узагальнення (тест out-of-bag).
  • Здатність працювати паралельно в багато потоків.

Недоліки

  • Алгоритм схильний до перенавчання на деяких завданнях, особливо з великою кількістю шумів.[8]
  • Великий розмір отримуваних моделей. Потрібно пам'яті для зберігання моделі, де  — число дерев.

Реалізації

Remove ads

Примітки

Література

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads