Класифікація дерева рішень

класифікація
дерево рішень
модель прогнозування
Класифікація дерева рішень cover image

Вступ

Дерева рішень (DTs) — це непараметричний контрольований метод навчання, який використовується для класифікації та регресії. Мета полягає в тому, щоб створити модель, яка передбачає значення цільової змінної шляхом вивчення простих правил прийняття рішень, виведених із характеристик даних.

Ентропія

Мета навчання — знайти найкращі розбиття у вузлах, щоб знайти найбільш оптимальне дерево. Розподіл виконується за такими критеріями, як: Ентропія.

Існує багато визначень ентропії, наприклад:

  • Ентропія відповідає кількості інформації, що міститься в джерелі інформації.

  • Ентропію також можна розглядати як випадковість або вимірювання несподіванки в наборі.

  • Ентропія - це метрика, яка вимірює непередбачуваність або забруднення в системі.

entropy

У деревах рішень ми розглядатимемо ентропію як міру чистоти всередині вузла. Метою моделі дерева рішень є зменшення ентропії вузлів при кожному розділенні:

entropy_reductioin

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

Ентропія HH набору XX математично формулюється так:

H(X)=_xXp(x)logp(x)H(X) = - \sum\limits\_{x \in X} p(x) \log p(x)

Збільшення інформації

Інформаційний приріст — це різниця між ентропією батьківського вузла та зваженою сумою ентропій вузлів chlid, і, отже, його можна сформулювати так:

IG(Y,X)=H(Y)xunique(X)P(xX)×H(YX=x)IG(Y, X) = H(Y) - \sum_{x \in unique(X)} P(x|X) \times H(Y | X = x)

=H(Y)xunique(X)X.count(x)len(X)×H(Y[X==x])= H(Y) - \sum_{x \in unique(X)} \frac{X.count(x)}{len(X)} \times H(Y[X == x])

де:

  • H(.)H(.) - це ентропія.

  • YY — сукупність до розбиття, вона представляє батьківський вузол.

  • XX - це змінна, яку ми хочемо використовувати для розбиття.

  • xx є унікальним значенням X.

  • Y[X==x]Y[X==x] — це розділений список лише зі значеннями xx.

візьмемо правильний приклад:

entropy_reductioin

Ми обчислимо приріст інформації, коли розділимо батьківський вузол на значення X:

IG(parent,X)=H(parent)xunique(X)P(xX)×H(parentX=x)IG(parent, X) = H(parent) - \sum_{x \in unique(X)} P(x|X) \times H(parent | X = x)

Спочатку ми обчислюємо ентропію батьківського вузла:

H(parent)=P(Y=Blue)×logP(Y=Blue)P(Y=Yellow)×logP(Y=Yellow)H(parent) = - P(Y=Blue) \times \log P(Y=Blue) - P(Y=Yellow) \times \log P(Y=Yellow)

=1121×log(1121)1021×log(1021)=0.3= - \frac{11}{21} \times \log(\frac{11}{21}) - \frac{10}{21} \times \log(\frac{10}{21}) = 0.3

Потім ми обчислимо внутрішню ймовірність кожного дочірнього вузла після розбиття, використовуючи унікальні значення X:

unique(X)=[Circle,Square]unique(X) = [Circle, Square]

_xunique(X)P(xX)×H(YX=x)=P(SquareX)×H(YX=Square)\sum\_{x \in unique(X)} P(x|X) \times H(Y | X = x) = P(Square|X) \times H(Y | X = Square)

+P(CircleX)×H(YX=Circle)+ P(Circle|X) \times H(Y | X = Circle)

=921×H(YX=Square)+1221×H(YX=Circle)= \frac{9}{21} \times H(Y | X = Square) + \frac{12}{21} \times H(Y | X = Circle)

Як от:

  • H(YX=Square)H(Y | X = Square): представляє ентропію першого дочірнього вузла.

  • H(YX=Circle)H(Y | X = Circle): представляє ентропію другого дочірнього вузла.

Ми починаємо з першого дочірнього вузла:

H(YX=Square)=P(Y=BlueX=Square)×logP(Y=BlueX=Square)H(Y | X = Square) = - P(Y=Blue | X = Square) \times \log P(Y=Blue| X = Square)

P(Y=YellowX=Square)×logP(Y=YellowX=Square)- P(Y=Yellow| X = Square) \times \log P(Y=Yellow| X = Square)

=79×log7929×log29=0.23= - \frac{7}{9} \times \log\frac{7}{9} - \frac{2}{9} \times \log\frac{2}{9} = 0.23

А потім другий дочірній вузол:

H(YX=Circle)=P(Y=BlueX=Circle)×logP(Y=BlueX=Circle)H(Y | X = Circle) = - P(Y=Blue | X = Circle) \times \log P(Y=Blue| X = Circle)

P(Y=YellowX=Circle)×logP(Y=YellowX=Circle)- P(Y=Yellow| X = Circle) \times \log P(Y=Yellow| X = Circle)

=412×log412812×log812=0.28= - \frac{4}{12} \times \log\frac{4}{12} - \frac{8}{12} \times \log\frac{8}{12} = 0.28

\

Нарешті, ми підставляємо ентропії у формулу отримання інформації:

IG(parent,X)=H(parent)xunique(X)P(xX)×H(parentX=x)IG(parent, X) = H(parent) - \sum_{x \in unique(X)} P(x|X) \times H(parent | X = x)

=0.3921×0.231221×0.28=0.041= 0.3 - \frac{9}{21} \times 0.23 - \frac{12}{21} \times 0.28 = 0.041

\

\

Як було сказано раніше, метою поділу вузла є максимізація отримання інформації та, таким чином, мінімізація ентропії в отриманому дочірньому вузлі. Для цього нам потрібно спробувати розділити вузол на різні набори вхідних даних X1,X2,,XnX_1, X_2, \ldots, Xn, і ми збережемо лише той розподіл, який максимізує приріст інформації:

X\*=argmaxXiIG(Y,Xi)X^{\*} = \underset{X_i}{\operatorname{argmax}} IG(Y, X_i)

Коли припинити розділення

Поділ вузлів у деревах рішень є рекурсивним, тому має бути критерій, який ми можемо використати, щоб зупинити поділ. Нижче наведено деякі з найбільш реалізованих критеріїв:

  • Якщо вузол чистий: H(вузол) = 0. Безглуздо далі розбивати вузол.

  • Максимальна кількість глибин: Ми можемо встановити максимальну глибину, яку може досягти модель, це означає, що навіть якщо вузол не є чистим, розщеплення зупиняється.

  • Мінімальна кількість зразків на вузол: Ми також можемо встановити мінімальну кількість NN зразків на вузол. Якщо кількість вибірок на вузол дорівнює NN, ми припиняємо розщеплення, навіть якщо вузол не є чистим.

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

Висновок

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


Career Services background pattern

Кар'єрні послуги

Contact Section background image

Давайте залишатися на зв'язку

Code Labs Academy © 2024 Всі права захищені.