Дерева рішень: листяний (найкращий перший) та рівний обхід дерева


14

Випуск 1:

Мене бентежить опис LightGBM щодо способу розширення дерева.

Вони заявляють:

Більшість алгоритмів навчання дерев рішень вирощують дерево за рівнем (глибиною) також, як і наступне зображення:

введіть тут опис зображення

Запитання 1 : Які "більшість" алгоритмів реалізовані таким чином? Наскільки я знаю, C4.5 і CART використовують DFS. XGBoost використовує BFS. Які ще алгоритми чи пакети використовують BFS для дерев рішень?

Випуск 2:

LightGBM констатує:

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

введіть тут опис зображення

Питання 2 : Чи правильно сказати, що рівнеподібні дерева ростуть матимуть однакову глибину для всіх листя?

Запитання 3: Якщо запитання 2 невірно, дерева з рівного та листяного росту будуть виглядати однаково в кінці обходу (без обрізки тощо). Це правильне твердження?

Запитання 4: Якщо питання 3 правильне, як "аргументований алгоритмом може зменшити більше втрат, ніж алгоритм, що відповідає рівню"? Чи має це відношення до алгоритму після обрізки?

Відповіді:


11

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

Довідка:

Ши, Х. (2007). Навчання з дерева найкращих перших рішень (дисертація, магістр наук). Університет Вайкато, Гамільтон, Нова Зеландія. Отримано з https://hdl.handle.net/10289/2317


EDIT: Що стосується вашого першого запитання, C4.5 і CART - це перші приклади глибини, а не найкращі перші. Ось якийсь відповідний вміст із посилання вище:

1.2.1 Стандартні дерева рішень

Стандартні алгоритми, такі як C4.5 (Quinlan, 1993) та CART (Breiman et al., 1984) для індукції дерев рішень згори вниз, розширюють вузли в першому порядку глибиною на кожному кроці, використовуючи стратегію ділення та перемоги. Зазвичай у кожному вузлі дерева рішень тестування включає лише один атрибут, а значення атрибута порівнюється з константою. Основна ідея дерев стандартних рішень полягає в тому, що спочатку виберіть атрибут, який слід розмістити в кореневому вузлі, і зробіть деякі гілки для цього атрибута на основі деяких критеріїв (наприклад, інформація або індекс Джині). Потім розділіть навчальні екземпляри на підмножини, по одному для кожної гілки, що відходить від кореневого вузла. Кількість підмножин така ж, як кількість гілок. Потім цей крок повторюється для обраної гілки, використовуючи лише ті екземпляри, які насправді її досягають. Фіксоване замовлення використовується для розширення вузлів (як правило, зліва направо). Якщо в будь-який час усі екземпляри у вузлі мають однакову мітку класу, яка відома як чистий вузол, розділення зупиняється і вузол перетворюється на термінальний вузол. Цей процес побудови триває, поки всі вузли не стануть чистими. Потім проводиться процес обрізки для зменшення надлишкової кількості (див. Розділ 1.3).

1.2.2 Дерева найкращого першого рішення

Іншою можливістю, яка поки що, як уявляється, була оцінена лише в контексті алгоритмів підвищення (Friedman et al., 2000), є розширення вузлів у кращому першому порядку замість фіксованого порядку. Цей метод додає «найкращий» розділений вузол до дерева на кожному кроці. "Найкращий" вузол - це вузол, який максимально зменшує домішки між усіма вузлами, доступними для розщеплення (тобто не позначені як кінцеві вузли). Хоча це призводить до того ж повністю вирощеного дерева, що і стандартне розширення глибини, це дозволяє нам дослідити нові методи обрізки дерев, які використовують перехресну перевірку для вибору кількості розширень. Як попередню обрізку, так і після обрізки можна виконати таким чином, що забезпечує справедливе порівняння між ними (див. Розділ 1.3).

Дерева найкращих перших рішень будуються поділом і перемагайте подібно до стандартних дерев перших рішень по глибині. Основна ідея того, як будується найкраще перше дерево, полягає в наступному. Спочатку виберіть атрибут, який слід розмістити в кореневому вузлі, і зробіть деякі гілки для цього атрибута на основі деяких критеріїв. Потім розділіть навчальні екземпляри на підмножини, по одному для кожної гілки, що відходить від кореневого вузла. У цій тезі розглядаються лише дерева бінарних рішень, і таким чином кількість гілок рівно дві. Потім цей крок повторюється для обраної гілки, використовуючи лише ті екземпляри, які насправді її досягають. На кожному кроці ми вибираємо "найкраще" підмножину серед усіх підмножин, доступних для розширень. Цей процес побудови триває до тих пір, поки всі вузли не стануть чистими або не буде досягнуто певної кількості розширень. Фігура 1. 1 показана різниця в розділеному порядку між гіпотетичним бінарним найкращим першим деревом та гіпотетичним бінарним глибиною першого дерева. Зауважте, що для найкращого першого дерева можуть бути обрані інші замовлення, в той час як замовлення завжди однакове в першому випадку.


Чи можете ви також відповісти на перше запитання?
Єкатерина Кокатюха

Оновлено мою відповідь. Коротка версія полягає в тому, що і C4.5, і CART - приклади глибинних перших, а не найкращих перших.
Девід Маркс

Перше моє запитання не стосувалося визначення чи пояснення кращого-першого або DFS. І я сам заявив, що C4.5 і CART - це DFS. Перше питання стосувалося "Які" більшість "алгоритмів реалізовані на рівні? [...] Які ще алгоритми чи пакети використовують BFS для дерев рішень?"
Єкатерина Кокатюха

1
Зростання дерева «Глибина першого» є рівень мудрим. Ось що я намагався вам сказати. Прочитайте уривок, який я виділив для вас. Не плутайте тут обхід графіків DFS та BFS з ростом дерева «Глибина перша» та «Найкраща перша». Вони не однакові, і глибина першого зростання стосується того, що ви називаєте "BFS", а не "DFS".
Девід Маркс

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