Klasifikácia rozhodovacieho stromu

klasifikácia
rozhodovací strom
predikčný model
Klasifikácia rozhodovacieho stromu cover image

Úvod

Rozhodovacie stromy (DT) sú neparametrickou kontrolovanou učebnou metódou používanou na klasifikáciu a regresiu. Cieľom je vytvoriť model, ktorý predpovedá hodnotu cieľovej premennej učením sa jednoduchých rozhodovacích pravidiel odvodených z dátových funkcií.

Entropia

Cieľom tréningu je nájsť najlepšie rozdelenia v uzloch, aby ste našli najoptimálnejší strom. Rozdelenie sa vykonáva pomocou niektorých kritérií, ako napríklad: Entropia.

Existuje mnoho definícií entropie, napr.

  • Entropia zodpovedá množstvu informácií obsiahnutých v zdroji informácií.

  • Entropiu možno vnímať aj ako náhodnosť alebo meranie prekvapenia v súbore.

  • Entropia je metrika, ktorá meria nepredvídateľnosť alebo nečistotu v systéme.

entropy

V rozhodovacích stromoch budeme entropiu považovať za mieru čistoty vo vnútri uzla. Cieľom modelu rozhodovacieho stromu je znížiť entropiu uzlov pri každom rozdelení:

entropy_reductioin

Chceme teda maximalizovať rozdiel medzi entropiou rodičovského uzla a entropiou podriadených uzlov. Tento rozdiel sa nazýva Informačný zisk.

Entropia HH množiny XX je matematicky formulovaná takto:

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

Získavanie informácií

Informačný zisk je rozdiel medzi entropiou nadradeného uzla a váženým súčtom entropií dcérskych uzlov, a preto ho možno formulovať takto:

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])

kde:

  • H(.)H(.) je entropia.

  • YY je populácia pred rozdelením, predstavuje nadradený uzol.

  • XX je premenná, ktorú chceme použiť na rozdelenie.

  • xx je jedinečná hodnota X.

  • Y[X==x]Y[X==x] je rozdelený zoznam iba s hodnotami xx.

zoberme si správny príklad:

entropy_reductioin

Vypočítame informačný zisk, keď rozdelíme nadradený uzol pomocou hodnôt 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)

\

Najprv vypočítame entropiu nadradeného uzla:

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

\

Potom vypočítame vnútornú pravdepodobnosť každého dcérskeho uzla po rozdelení pomocou jedinečných hodnôt 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)

Ako napríklad:

  • H(YX=sˇtvorec)H(Y | X = štvorec) : predstavuje entropiu prvého dcérskeho uzla.

  • H(YX=Kruh)H(Y | X = Kruh) : predstavuje entropiu druhého dcérskeho uzla.

\

Začneme prvým podriadeným uzlom:

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

\

A potom druhý detský uzol:

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

\

Nakoniec dosadíme entropie do vzorca Information Gain:

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

\

\

Ako už bolo uvedené, cieľom rozdelenia uzla je maximalizovať informačný zisk, a teda minimalizovať entropiu vo výslednom podradenom uzle. Aby sme to dosiahli, musíme sa pokúsiť rozdeliť uzol s rôznymi sadami vstupov X1,X2,,XnX_1, X_2, \ldots, Xn a ponecháme len rozdelenie, ktoré maximalizuje zisk informácií:

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

Kedy prestať deliť

Rozdelenie uzlov v rozhodovacích stromoch je rekurzívne, takže musia existovať kritériá, ktoré môžeme použiť na zastavenie rozdelenia. Toto sú niektoré z najviac implementovaných kritérií:

  • Keď je uzol čistý: H(uzol) = 0. Je zbytočné uzol ďalej rozdeľovať.

  • Maximálny počet hĺbky: Môžeme nastaviť maximálnu hĺbku, ktorú môže model dosiahnuť, to znamená, že aj keď uzol nie je čistý, štiepanie sa zastaví.

  • Minimálny počet vzoriek na uzol: Môžeme tiež nastaviť minimálny počet NN vzoriek na uzol. Ak je počet vzoriek na uzol rovný NN, potom prestaneme deliť, aj keď uzol nie je čistý.

Na konci tréningu (rozdelenie) sa každý uzol, ktorý sa spolieha na koniec rozhodovacieho stromu, nazýva "list", pretože to nie je koreň žiadneho podstromu. Každý list bude reprezentovať výnos triedy s najväčším počtom vzoriek.

Záver

Rozhodovací strom je jedným z najznámejších algoritmov strojového učenia vďaka svojej efektívnosti, intuitívnemu zázemiu a jednoduchej implementácii. Tento algoritmus možno ďalej použiť s numerickými nezávislými premennými ( Gaussov rozhodovací strom ) a možno ho rozšíriť aj na riešenie regresných úloh.


Career Services background pattern

Kariérne služby

Contact Section background image

Ostaňme v kontakte

Code Labs Academy © 2024 Všetky práva vyhradené.