Introduktion
Decision Trees (DT'er) er en ikke-parametrisk overvåget læringsmetode, der bruges til klassificering og regression. Målet er at skabe en model, der forudsiger værdien af en målvariabel ved at lære simple beslutningsregler udledt af datafunktionerne.
Entropi
Målet med træningen er at finde de bedste spalter i noderne for at finde det mest optimale træ. Opdelingerne udføres ved hjælp af nogle kriterier såsom: Entropi.
Der findes mange definitioner af entropi såsom:
-
Entropi svarer til mængden af information indeholdt i en informationskilde.
-
Entropi kan også ses som tilfældigheden eller måling af overraskelse i et sæt.
-
Entropi er en metrik, der måler uforudsigeligheden eller urenheden i systemet.
I beslutningstræer vil vi betragte entropi som et mål for renheden inde i en knude. Målet med beslutningstræmodellen er at reducere nodernes entropi ved hver opdeling:
Vi ønsker således at maksimere forskellen mellem entropien af den overordnede node og entropien af de underordnede noder. Denne forskel kaldes Informationsgevinsten.
Entropien af et sæt er matematisk formuleret som følger:
Informationsgevinst
Informationsgevinst er forskellen mellem entropien af moderknuden og den vægtede sum af entropierne af chlidknuderne, og den kan derfor formuleres som følger:
hvor:
-
er entropien.
-
er populationen før opdelingen, den repræsenterer den overordnede node.
-
er den variabel, vi ønsker at bruge til opdelingen.
-
er en unik værdi af X.
-
er en opdelt liste med kun værdier.
lad os tage et ordentligt eksempel:
Vi skal beregne informationsforstærkningen, når vi dividerer den overordnede node ved at bruge værdierne af X:
\
Først beregner vi entropien af moderknuden:
\
Derefter skal vi beregne den interne sandsynlighed for hver underordnet node efter opdelingen ved at bruge de unikke værdier af X:
Såsom:
-
: repræsenterer entropien af den første underordnede node.
-
: repræsenterer entropien af den anden underknude.
\
Vi starter med den første børneknude:
\
Og så den anden børneknude:
\
Til sidst erstatter vi entropierne i formlen for informationsforøgelse:
\
\
Som nævnt før er formålet med en nodeopdeling at maksimere informationsforstærkningen og dermed minimere entropien i den resulterende børneknude. For at gøre dette skal vi prøve at opdele noden med forskellige sæt af input , og vi beholder kun den opdeling, der maksimerer informationsgevinsten:
Hvornår skal man stoppe opdelingen
Nodeopdelingen i beslutningstræer er rekursiv, så der skal være et kriterium, som vi kan bruge for at stoppe opdelingen. Disse nogle af de mest implementerede kriterier:
-
Når noden er ren: H(node) = 0. Det er meningsløst at opdele noden yderligere.
-
Maksimalt antal dybder: Vi kan indstille en maksimal dybde, som modellen kan nå, det betyder, at selvom knudepunktet ikke er rent, stoppes opdelingen.
-
Minimum antal prøver pr. node: Vi kan også indstille et minimumsantal af prøver pr. node. Hvis antallet af samples pr. node er lig med , stopper vi opdelingen, selvom noden ikke er ren.
Ved slutningen af træningen (opdelingen) kaldes hver knude, der er afhængig af enden af beslutningstræet, et "blad", fordi det ikke er en rod til noget undertræ. Hvert blad repræsenterer udbyttet for klassen med flest prøver.
Konklusion
Decision tree er en af de mest berømte maskinlæringsalgoritmer på grund af dens effektivitet, intuitive baggrund og enkle implementering. Denne algoritme kan yderligere bruges med numeriske uafhængige variable (Gaussian Decision Tree), og den kan udvides til også at løse regressionsopgaver.