Beslutningstrær ser ut til å være en veldig forståelig maskinlæringsmetode. Når den er opprettet, kan den lett inspiseres av et menneske, noe som er en stor fordel i noen applikasjoner.
Hva er de praktiske svake sidene ved beslutningstrær?
Beslutningstrær ser ut til å være en veldig forståelig maskinlæringsmetode. Når den er opprettet, kan den lett inspiseres av et menneske, noe som er en stor fordel i noen applikasjoner.
Hva er de praktiske svake sidene ved beslutningstrær?
Her er et par jeg kan tenke meg:
Noen av disse er relatert til problemet med multikollinearitet: når to variabler begge forklarer det samme, vil et beslutningstreet grådig velge det beste, mens mange andre metoder vil bruke dem begge. Ensemblemetoder som tilfeldige skoger kan negere dette til en viss grad, men du mister forståelsen.
Det største problemet, fra mitt synspunkt i det minste, er imidlertid mangelen på et prinsipielt sannsynlig rammeverk . Mange andre metoder har ting som konfidensintervaller, posterior fordeling osv., Som gir oss en ide om hvor god en modell er. Et beslutningstreet er til syvende og sist en ad hoc-heuristikk, som fremdeles kan være veldig nyttig (de er utmerket for å finne kilder til feil i databehandling), men det er fare for at folk behandler utdata som "den" riktige modellen (fra min erfaring, dette skjer mye i markedsføring).
En ulempe er at alle termer antas å samhandle. Det vil si at du ikke kan ha to forklarende variabler som oppfører seg uavhengig. Hver variabel i treet blir tvunget til å samhandle med hver variabel lenger opp i treet. Dette er ekstremt ineffektivt hvis det er variabler som ikke har noen eller svake interaksjoner.
Svaret mitt er rettet mot CART (C 4.5 / C 5-implementeringene), men jeg tror ikke er begrenset til det. Min gjetning er at dette er hva OP har i tankene - det er vanligvis hva noen mener når de sier "Beslutningstreet."
Begrensninger av beslutningstrær :
Lav ytelse
Med "ytelse" mener jeg ikke oppløsning, men utførelseshastighet . Grunnen til at det er dårlig er at du må 'tegne treet' hver gang du ønsker å oppdatere CART-modellen din - data klassifisert av et allerede trent tre, som du deretter vil legge til i treet (dvs. bruke som et treningsdatapunkt) krever at du starter fra over - treningsinstanser kan ikke legges til trinnvis, slik de kan for de fleste andre overvåkede læringsalgoritmer. Den beste måten å si dette på er kanskje at Decision Trees ikke kan trenes i online-modus, heller bare i batch-modus. Åpenbart vil du ikke merke denne begrensningen hvis du ikke oppdaterer klassifisereren din, men da forventer jeg at du ser et fall i oppløsningen.
Dette er viktig fordi for eksempel for flerlagsoppfatninger, når den først er trent, kan den begynne å klassifisere data; at data også kan brukes til å 'tune' den allerede trente klassifisereren, men med beslutningstrær, må du omskole med hele datasettet (originale data brukt i trening pluss eventuelle nye forekomster).
Dårlig oppløsning på data med komplekse forhold mellom variablene
Beslutningstrær klassifiseres ved trinnvis vurdering av et datapunkt av ukjent klasse, en node om gangen, fra rotnode og slutter med en terminalnode. Og ved hver node er det bare to muligheter (venstre-høyre), derfor er det noen variabelt forhold som beslutningstrær bare ikke kan lære.
Praktisk begrenset til klassifisering sterk>
Beslutningstrær fungerer best når de blir opplært til å tilordne et datapunkt til en klasse - helst en av bare noen få mulige klasser. Jeg tror ikke jeg noen gang har hatt noen suksess med å bruke et beslutningstre i regresjonsmodus (dvs. kontinuerlig produksjon, for eksempel pris eller forventet levetidsinntekt). Dette er ikke en formell eller iboende begrensning, men en praktisk begrensning. Mesteparten av tiden blir beslutningstrær brukt til å forutsi faktorer eller diskrete resultater.
Dårlig oppløsning med kontinuerlige forventningsvariabler
Igjen er det i prinsippet ok å ha uavhengige variabler som "nedlastingstid" eller "antall dager siden forrige online kjøp "- bare endre splittingskriteriet til varians (det er vanligvis Informasjonsentropi eller Gini Impurity for diskrete variabler), men etter min erfaring fungerer beslutningstrær sjelden bra i dette tilfellet. Unntak er tilfeller som "studentens alder" som ser kontinuerlig ut, men i praksis er verdiområdet ganske lite (spesielt hvis de blir rapportert som heltall).
There are good answers here, but I am surprised that one thing has not been emphasized. CART does not make any distributional assumptions about the data, particularly the response variable. In contrast, OLS regression (for continuous response variables) and logistic regression (for certain categorical response variables), for example, do make strong assumptions; specifically, OLS regression assumes the response is conditionally normally distributed, and logistic assumes the response is binomial or multinomial.
CART's lack of such assumptions is a double-edged sword. When those assumptions are not warranted, this gives the approach a relative advantage. On the other hand, when those assumptions hold, more information can be extracted from the data by taking those facts into account. That is, standard regression methods can be more informative than CART when the assumptions are true.