Beslutningstræ
Også kendt som: beslutningstræer, klassifikationstræ, regressionstræ
En model, der når frem til et svar ved at stille en række ja/nej-spørgsmål om input, hvor hvert svar fører til det næste spørgsmål.
Kladde - dette opslag er endnu ikke gennemgået.
Formelt
En model, der deler træningsdata igen og igen på én feature ad gangen og vælger den opdeling, der bedst adskiller de kendte svar, indtil hvert slutpunkt rummer sager, der for det meste er ens; en ny sag følger opdelingerne ned til et slutpunkt og får dets svar.
Forklaret enkelt
Som legen, hvor man gætter et dyr ved at spørge "Kan det flyve?" og "Er det større end en kat?", og hvert svar udelukker en del af mulighederne.
I praksis
Et dansk forsikringsselskab sender skader til manuel behandling, når et lille træ af regler siger det, fx skade over 50.000 kroner og police under tre måneder gammel, og medarbejderne kan printe reglerne ud.
Hvorfor det betyder noget
Et lille træ kan læses og efterprøves af et menneske, hvilket hjælper, når en beslutning skal forklares, og træer er byggestenen i de stærkeste metoder til data i tabeller.
Teknisk uddybning
Et beslutningstræ opdeler feature-rummet i akseparallelle områder ved gentagen binær opsplitning. I hver knude gennemsøger algoritmen alle features og tærskler efter den opdeling, der mindsker et urenhedsmål mest: Gini-urenhed eller entropi (informationsgevinst) ved klassifikation og middelkvadratfejl ved regression. Bladene forudsiger flertalsklassen, klasseandelene eller gennemsnittet af målværdien for deres træningseksempler. At finde det optimale træ er NP-hårdt, så alle praktiske algoritmer er grådige og arbejder oppefra og ned.
De vigtigste algoritmefamilier er ID3 (Quinlan, 1986), der brugte informationsgevinst på kategoriske features; efterfølgeren C4.5, der håndterer numeriske features med tærskler og beskærer ud fra fejlskøn; og CART (Breiman, Friedman, Olshen og Stone, 1984), der bygger rent binære træer til både klassifikation og regression og beskærer efter omkostningskompleksitet. scikit-learn implementerer en optimeret udgave af CART.
Træer uden begrænsninger bliver ved med at dele, til bladene er rene, og lærer dermed træningssættet udenad, et skoleeksempel på overtilpasning med høj varians: Små ændringer i data kan give et helt andet træ. Midlerne er forhåndsbeskæring (maksimal dybde, mindste antal eksempler pr. blad eller opdeling, mindste fald i urenhed) og efterbeskæring som CART's minimal cost-complexity pruning, indstillet med krydsvalidering. Træer kræver ingen skalering af features, håndterer blandede datatyper og fanger naturligt samspil, men deres akseparallelle, trinvist konstante forudsigelser passer dårligt til bløde eller skrå grænser og kan ikke ekstrapolere ud over træningsområdet.
Et lavt træ er en af de få modeller, hvis fulde beslutningslogik et menneske kan læse, og derfor bruges det som fortolkelig model og som surrogat til at forklare black box-modeller. Urenhedsbaserede feature-vigtigheder fra træer er billige, men favoriserer features med mange forskellige værdier; permutationsvigtighed er den sædvanlige kontrol. Ustabiliteten er også grunden til, at ensembler virker så godt: Random forests tager gennemsnittet af mange dekorrelerede træer for at mindske variansen, og gradient boosting lægger mange lave træer til efter hinanden for at mindske bias.
Hvad du bør lære først
Alt det, dette bygger på - grundlaget først.
- Træningsdata
- →Feature (inputvariabel)
- →Beslutningstræ
Relationer
- Forudsætter
- Feature (inputvariabel)
- Åbner for
- Gradient boostingRandom forest
- Implementerer
- KlassifikationRegression
- Forårsager
- Overtilpasning (overfitting)
- Bruges sammen med
- Forklarlighed
Kilder og videre læsning
Officiel dokumentation
- scikit-learn User Guide, 1.10 Decision Trees · scikit-learn
Opslagsværker
- Quinlan (1986), Induction of Decision Trees · Machine Learning
- Decision tree learning · Wikipedia
Lærebøger
- Breiman, Friedman, Olshen & Stone, Classification and Regression Trees (1984) · Wadsworth
Hvor dataene kommer fra
Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.
Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON
Test dig selv
Indlæser…