Головна Машинне навчання та Нейронні мережі Дерево рішень Live

📊 Дерево рішень Live

CART дерево рішень з домішком Джині. Осьові розбиття з'являються рівень за рівнем на датасетах XOR, Місяці, Blob. Авторост анімує глибину 0→8.

Машинне навчання та Нейронні мережі2DЛегкий60 FPS
decision-tree ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Про дерево рішень — CART та домішок Джині

Ця симуляція моделює алгоритм CART (Classification and Regression Trees) — дерева класифікації та регресії, який будує бінарне дерево, рекурсивно розбиваючи датасет за осьовими порогами, обраними так, щоб мінімізувати домішок Джині (G = 1 − Σpᵢ²) у кожному вузлі. Ви можете спостерігати, як межа рішення формується розбиттям за розбиттям на діаграмі розсіювання, тоді як дерево, що зростає, показує правило розбиття, значення Джині та кількість зразків для кожного вузла — це робить жадібний рекурсивний процес розбиття наочно прозорим.

Дерева рішень лежать в основі багатьох реальних систем — від інструментів медичної тріажної діагностики та оцінки кредитного ризику до спам-фільтрів. Алгоритм CART, запропонований Брейманом та співавторами у 1984 році, пізніше став будівельним блоком для ансамблевих методів, таких як випадкові ліси та градієнтний бустинг дерев, які сьогодні домінують у машинному навчанні на табличних даних.

Часті запитання

Що таке домішок Джині і чому CART його мінімізує?

Домішок Джині G = 1 − Σpᵢ² вимірює, як часто випадково обраний зразок із вузла був би класифікований неправильно, якби йому присвоїли мітку відповідно до розподілу класів у цьому вузлі. Абсолютно чистий вузол (лише один клас) має G = 0, тоді як розбиття 50/50 у бінарному випадку досягає максимуму 0,5. CART обирає розбиття, яке дає найбільше зважене зменшення Джині серед двох дочірніх вузлів, оскільки цей критерій обчислювально дешевий (без логарифма) і тісно корелює з теоретично ідеальним критерієм ентропії.

Як елементи керування симуляцією змінюють дерево?

Max Depth (максимальна глибина, 1–6) обмежує, скільки рівнів може мати дерево: глибші дерева вирізають дрібніші області й досягають вищої точності на тренувальних даних, але ризикують перенавчанням. Min Samples Leaf (мінімум зразків у листі, 1–20) блокує будь-яке розбиття, яке залишило б менше зазначеної кількості точок у дочірньому вузлі, зберігаючи статистичну значущість листків. Sample Points (кількість точок, 40–200) визначає розмір датасету. Використовуйте Пауза/Відтворення, щоб покроково переглядати появу вузлів і спостерігати за формуванням межі рішення; натисніть Скинути, щоб перегенерувати дані з поточними налаштуваннями.

Чому патерн XOR потребує більшої глибини, ніж патерн лінійного розділення?

Дерева рішень роблять лише осьові розрізи, тож межа між класами апроксимується серією прямокутників. У датасеті XOR немає жодного корисного горизонтального чи вертикального розбиття біля кореня — класи чергуються в усіх чотирьох квадрантах, — тому дереву потрібна принаймні глибина 2, щоб почати їх розділяти. Лінійне розділення, навпаки, можна досить добре описати однією діагоналлю, апроксимованою всього одним-двома осьовими розбиттями, що дає більш мілке й просте дерево.

Яка математична формула лежить в основі пошуку найкращого розбиття?

Для кандидата на розбиття, що ділить батьківську множину S на лівий дочірній L і правий дочірній R, інформаційний приріст обчислюється як ΔGini = Gini(S) − (|L|/|S|) · Gini(L) − (|R|/|S|) · Gini(R). CART перевіряє кожну середню точку між послідовними відсортованими значеннями ознаки для кожної ознаки й обирає пару (ознака, поріг) з максимальним ΔGini. Важливість ознаки — це сума зменшень Джині, зважених за кількістю зразків у вузлі, по всіх розбиттях за цією ознакою, нормована так, щоб сума за всіма ознаками дорівнювала 1.

Як дерева рішень застосовуються в реальних задачах?

Дерева рішень застосовуються в медичному тріажі (наприклад, оцінка ризику сепсису за життєвими показниками), кредитному скорингу (ймовірність дефолту за позикою), виявленні шахрайства та прогнозуванні відтоку клієнтів. Одне неглибоке дерево часто використовують як інтерпретовану базову модель, адже кожен шлях рішення можна виразити простим правилом, наприклад: «якщо дохід > 40 000 і коефіцієнт боргу < 0,3, схвалити». Глибші дерева та ансамблі (випадкові ліси, XGBoost) обмінюють цю прозорість на вищу точність на складних датасетах.

Яка поширена помилкова думка про дерева рішень і перенавчання?

Поширена помилка полягає в тому, що глибше дерево завжди краще, оскільки воно досягає 100% точності на тренувальних даних. Насправді необмежене дерево запам'ятовує шум у тренувальних даних і погано узагальнюється на нові зразки — це і є перенавчання. Вирішення — регуляризація: обмеження максимальної глибини, вимога мінімальної кількості зразків у листі або застосування обрізання за вартістю складності (alpha · |листя|), що штрафує складність. Для вибору цих гіперпараметрів використовується крос-валідація.

Хто винайшов CART і коли він був представлений?

Алгоритм CART був представлений у 1984 році Лео Брейманом, Джеромом Фрідманом, Річардом Олшеном і Чарльзом Стоуном у книзі «Classification and Regression Trees». Пізніше Брейман розвинув ідеї CART, розробивши беггінг (1996) та випадкові ліси (2001), а Фрідман розширив підхід до градієнтного бустингу (1999–2001). Ці три методи разом трансформували машинне навчання на табличних даних і залишаються широко вживаними й через десятиліття.

Як дерева рішень пов'язані з випадковими лісами та градієнтним бустингом?

Випадковий ліс тренує сотні дерев CART на бутстреп-вибірках даних, причому кожне дерево розглядає випадкову підмножину ознак під час кожного розбиття, а потім усереднює їхні прогнози. Це зменшує дисперсію, суттєво не збільшуючи зміщення. Градієнтний бустинг, натомість, тренує дерева послідовно — кожне наступне підганяється під залишкові помилки поточного ансамблю, що зменшує зміщення. Обидва методи успадковують інтерпретованість окремих розбиттів, але є значно точнішими на складних датасетах, ніж будь-яке одне дерево.

Чи можуть дерева рішень виконувати регресію так само, як класифікацію?

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

Які напрямки досліджень зараз спрямовані на вдосконалення дерев рішень?

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

Про цю симуляцію

Ця симуляція будує дерево рішень CART на двовимірному датасеті та розкриває кожен вузол по черзі. На кожному розбитті вона шукає серед обох ознак поріг, що мінімізує зважений домішок Джині дочірніх вузлів, G = 1 − Σpᵢ², утворюючи осьові розрізи. Ви бачите, як межа рішення формується на діаграмі розсіювання, поки відповідне дерево зростає, — це дозволяє наочно побачити, як жадібне рекурсивне розбиття балансує глибину і точність та як кожна ознака впливає на модель.

🔬 Що показано

Класифікаційне дерево, навчене алгоритмом CART. Для кожного кандидата на поріг за ознакою X чи Y обчислюється інформаційний приріст ΔGini = Gini(батько) − (|L|/|S|)·Gini(L) − (|R|/|S|)·Gini(R), і зберігається найкраще розбиття. Діаграма розсіювання показує отримані прямокутні області рішення та пунктирні лінії розбиття; дерево показує вузли з підписаним правилом розбиття, значенням Джині та кількістю зразків.

🎮 Як користуватися

Оберіть датасет за допомогою кнопок пресетів (Linear Sep., XOR, Two Moons, Random). Повзунок Max Depth (1–6) обмежує глибину дерева, Min Samples Leaf (1–20) блокує розбиття, які залишили б занадто мало точок, а Sample Points (40–200) визначає розмір датасету. Використовуйте Пауза/Відтворення, щоб покроково переглядати появу вузлів, і Скинути, щоб перегенерувати дані. Статистика показує кількість вузлів, листків, глибину, точність та Gini кореня.

💡 Чи знали ви?

Домішок Джині та ентропія зазвичай дають дуже схожі дерева, але Джині обчислюється дешевше, оскільки уникає логарифма, який є в ентропії. Абсолютно чистий вузол, що містить лише один клас, має Джині 0, тоді як бінарне розбиття 50/50 досягає максимуму 0,5.

Поширені запитання

Що таке дерево рішень CART?

CART (Classification and Regression Trees, дерева класифікації та регресії) — це метод навчання з учителем, який рекурсивно розбиває простір ознак осьовими розбиттями. Кожен внутрішній вузол перевіряє одну ознаку відносно порогу й спрямовує точки ліворуч чи праворуч, а кожен лист присвоює переважний клас серед зразків, що до нього потрапили. Тут точки класифікуються за двома кольорами — Клас 0 і Клас 1.

Як обирається місце розбиття?

У кожному вузлі алгоритм сортує точки за кожною ознакою й пробує як поріг середню точку між послідовними значеннями. Він обирає розбиття з найбільшим зменшенням домішку Джині, ΔGini = Gini(батько) − (|L|/|S|)·Gini(L) − (|R|/|S|)·Gini(R). Цей жадібний, локально оптимальний вибір повторюється, доки правило зупинки не припинить зростання дерева.

Що роблять елементи керування Max Depth і Min Samples Leaf?

Max Depth обмежує, скільки рівнів може мати дерево: глибше дерево здатне вирізати дрібніші області, але ризикує перенавчанням. Min Samples Leaf відхиляє будь-яке розбиття, яке залишило б менше зазначеної кількості точок у дочірньому вузлі, що зберігає статистичну значущість листків. Разом вони регуляризують дерево і дозволяють досліджувати компроміс між глибиною та точністю.

Чи точно симуляція моделює реальні дерева рішень?

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

Чому деревам важко впоратися з патернами XOR і Two Moons?

Дерева рішень роблять лише осьові розрізи, тож плавні чи діагональні межі доводиться апроксимувати безліччю малих прямокутників. У патернах на кшталт XOR і Two Moons немає жодного корисного осьового розбиття біля кореня, тому дереву потрібна додаткова глибина, а межа набуває сходинкоподібної форми. Це обмеження — одна з причин, чому ансамблі на кшталт випадкових лісів і градієнтного бустингу поєднують багато дерев.

Схожі симуляції