Розмір дерева в збільшенні градієнтного дерева


10

Збільшення градієнтного дерева, запропонованого Фрідманом, використовує дерева рішень з Jкінцевими вузлами (= листя) в якості базових учнів. Існує декілька способів виростити дерево точно за допомогою Jвузлів, наприклад, можна виростити дерево на глибині спочатку або вшир в першу чергу, ...

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

Я вивчив процедуру вирощування дерев пакету R gbmі, здається, він розширює дерево в глибину перших способів і використовує евристику, засновану на поліпшенні помилок, щоб вибрати, чи розгорнути лівий чи правий дочірній вузол - це правильно?


2
gbm використовує CART для побудови дерев, добре відомий алгоритм з 80-х. Евристику називають домішкою джині, досить стандартним вибором для регресії з квадратичною втратою.

2
Домішка Afaik gini використовується для класифікації проблем. Тим не менш, питання стосується розміру дерев.
Пітер Претенхофер

Він додає гілку за раз. Я був би здивований, якби кожен наступний розкол є найкращим із решти кандидатів на розкол у дереві, а не лише у гілці. Бувають випадки, коли дані не підтримують точне число - наприклад, коли дані занадто малі для "J".
EngrStudent

Як сказав @EngrStudent, ви не можете примусити точну кількість вузлів. Однак у вас є деякий контроль над верхньою межею щодо кількості вузлів. gbmмає параметр, n.minobsinnodeякий керує мінімальною кількістю об'єктів на вузол. Звичайно, тоді кількість вузлів менше або дорівнює NumberOfPoints / n.minobsinnode
G5W

Якби я шукав 'J' листя, то я повністю будував би дерево, і тоді, припускаючи, що в ньому більше J листків, я підрізав би Дж. Це дало б мені вузли J, і вони були б найбільше інформаційні розбиття - це була б найздоровіша модель CART, якою вона могла бути. Якщо не вистачає розщеплень, я можу просто випадковим чином розділитись у домені, щоб отримати "J", але вони були б помилковими та дещо тривіальними. Я можу поглянути на розподіл вартості в аркуші і використати методом апроксимації, спричиненої CDF, але це відхилиться від моделі середнього показника на лист.
EngrStudent

Відповіді:


2

Рішення в R's gbmне є типовим.

Інші пакети, як-от scikit-learnабо LightGBMвикористовуються так звані (в scikit-learn) BestFirstTreeBuilder, коли кількість листків обмежена. Він підтримує черговість черги всіх листя і при кожній ітерації розбиває лист, що приносить найкраще зменшення домішок. Тож це не ані глибина, ані ширина першої, а третій алгоритм, заснований на розрахунках у листках.

ii

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