Чому Дерева рішень не є обчислювально дорогими?


38

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

Чи я не розумію, як працює двійкове розщеплення? Або є причина, що цей алгоритм не зайняв би багато часу?


1
+1 для запитання. Ви можете почати перевірку цього конспекту лекції , стор. 15, використовувати замість алгоритму O ( N 2 ) . О(N)О(N2)
Хайтао Ду

Відповіді:


40

Алгоритми дерев рішень не обчислюють усі можливі дерева, коли вони відповідають дереву. Якби вони це зробили, вони б вирішили NP-важкопроблема. Алгоритми підгонки дерева рішень зазвичай приймають жадібні рішення в процесі підгонки - на кожному етапі вони оптимізують підпроблему для пошуку оптимального розбиття з даними у даному вузлі та продовжують рухатись вперед у процесі підгонки. Крім того, по мірі просування всередину дерева рішень у вас є менший набір даних, який перетворив його на даний вузол, щоб ви оптимізували правило розбиття на менший підмножина даних. Усі ці варіанти є лінійним скануванням даних у даному вузлі. Це зробити не складно, але обчислювально може стати дещо дорогим, якщо у вас є велика кількість спостережень або велика кількість коваріатів. Однак багато роботи можна розділити та відправити на різні машини для роботи, тому існують способи побудови вашої обчислювальної архітектури для збільшення масштабів.


10
Іншими словами, це більш-менш порівняно з двійковим пошуком.
Роберт Харві

1
лог2(N)

2
Домовились, але принцип все-таки дотримується. (Ось чому я використав слова "більш-менш")
Роберт Харві

2

Існують деякі відмінності між алгоритмами CART і C4.5 для побудови дерев рішень. Наприклад, CART використовує домішки Джині для вибору функцій, тоді як C.4.5 використовує ентропію Шеннона. Я не думаю, що відмінності є відповідними для відповіді, тому я не буду їх розрізняти.

Що робить дерева рішень швидшими, ніж ви думаєте, це:

  1. Як вже говорили інші, ці алгоритми є алгоритмами 1-го рівня. Вони виконують локальну оптимізацію. У кожній гілці вони обирають правило, яке максимізує / мінімізує будь-який показник, який вони використовують (Джині або Ентропія). Це означає, що вони можуть пропустити правила, коли використання логічного оператора, наприклад, andпризведе до кращого дерева. Це означає, що ви повинні бути дуже обережними / розумними, роблячи інженерну програму. Наприклад, скажіть, що ви намагаєтеся передбачити, скільки людей п'ють, ви можете взяти участь у таких інженерних речах new_feature = hour > 22 & hour < 4 & (friday_night | saturday_night). Дерева рішень можуть пропускати такі правила або надавати їм менше значення, ніж вони повинні.
  2. Х1={3,1.5,2.5,2,1}X <= 1X <= 1.5X <= 2Х1={1,1.5,2,2.5,3}X <= 1X <= 1.5х¯vх¯нх¯+vн+1
  3. Дерева рішень можна паралелізувати. Кожен вузол складається з двох гілок, які є незалежними. Тому на кожній гілці ви маєте можливість паралельно створити дерево. Крім того, сам вибір функції також може бути паралельним. Саме це робить такі пакети такими xgboostшвидкими. Збільшення градієнта є послідовним і не може бути паралельним, але самі дерева можуть.

1

Просто щоб збагатити відповіді,

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

Неієрархічний:

Grubinger, T., Zeileis, A. and Pfeiffer, K.-., 2014. Evtree: Еволюційне вивчення глобально оптимальних систем класифікації та регресії в RJStat.Software 61 (1), 1-29.

Косий поділ:

Murthy, SK, Kasif, S. and Salzberg, S., 1994. Система індукції дерев косих рішень. Дж. Артиф. Intell. Рез. 2 (1), 1-32. http://dx.doi.org/doi:10.1613/jair.63 . Cantú-Paz, E. and Kamath, C., 2003. Наведення косих дерев рішень еволюційними алгоритмами. IEEE Trans. Evol. Обчислення. 7 (1), 54-68. http://dx.doi.org/10.1109/TEVC.2002.806857 . Хіт, Д., Касіф, С. і Зальцберг, С., 1993. Індукція косих дерев рішень. Дж. Артиф. Intell. Рез. 2 (2), 1002-1007.

Удачі!

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