Fråga:
Vad är den svaga sidan av beslutsträd?
Łukasz Lew
2010-08-05 15:42:44 UTC
view on stackexchange narkive permalink

Beslutsträd verkar vara en mycket förståelig metod för maskininlärning. När den skapats kan den enkelt inspekteras av en människa vilket är en stor fördel i vissa applikationer.

Vilka är de praktiska svaga sidorna av beslutsträd?

Fyra svar:
Simon Byrne
2010-08-05 17:08:24 UTC
view on stackexchange narkive permalink

Här är ett par som jag kan tänka mig:

  • De kan vara extremt känsliga för små störningar i data: en liten förändring kan resultera i ett drastiskt annorlunda träd.
  • De kan lätt passa över. Detta kan ignoreras med valideringsmetoder och beskärning, men det här är ett grått område.
  • De kan ha problem utan förutsägelse (detta är relaterat till att de är ojämna).

Några av dessa är relaterade till problemet med multikollinearitet: när två variabler båda förklarar samma sak, väljer ett beslutsträd girigt det bästa, medan många andra metoder kommer att använda de båda. Ensemblemetoder som slumpmässiga skogar kan förneka detta i viss utsträckning, men du tappar lätt förståelsen.

Men det största problemet, åtminstone från min synvinkel, är bristen på en principiell sannolik ram . Många andra metoder har saker som konfidensintervall, posteriora fördelningar etc., som ger oss en uppfattning om hur bra en modell är. Ett beslutsträd är i slutändan en ad hoc-heuristik, vilket fortfarande kan vara mycket användbart (de är utmärkta för att hitta källor till buggar vid databehandling), men det finns risk för att människor behandlar utdata som "rätt" modell (från min erfarenhet, detta händer mycket i marknadsföring).

Ur ML-synvinkel kan träd testas på samma sätt som alla andra klassificerare (t.ex. CV). Ändå visar det snarare att tung överdräkt hände ;-) Även RF undgår multikollinearitet, inte för att det är ensemble, utan för att dess träd är suboptimala.
För en sannolik ram för beslutsträd, se DTREE (url: http://www.datamining.monash.edu.au/software/dtree/index.shtml) som är baserad på papperet "Wallace CS & Patrick JD,` Coding Decision Trees ', Machine Learning, 11, 1993, s7-22 ".
Är det inte heller möjligt att få CI (för förutsägelser) med bootstrapping?
@Simon Byrne, jag har en fråga angående din kommentar "Men det största problemet, från min synpunkt åtminstone, är bristen på en principiell probabilistisk ram". Förlåt min okunnighet, men kan du snälla peka mig på några praktiska principiella probabilistiska ramar (specifikt i samband med klassificering). Jag är mycket intresserad av denna begränsning av beslutsträd.
@AmV, ett exempel skulle vara logistisk regression: vi kan använda det faktum att varje observation kommer från en binomial för att få förtroende / trovärdiga intervall och kontrollera antagandena i modellen.
Rob Hyndman
2010-08-05 16:58:42 UTC
view on stackexchange narkive permalink

En nackdel är att alla termer antas samverka. Det vill säga, du kan inte ha två förklarande variabler som beter sig oberoende. Varje variabel i trädet tvingas interagera med varje variabel längre upp i trädet. Detta är extremt ineffektivt om det finns variabler som inte har några eller svaga interaktioner.

Jag undrar om det här är en praktisk begränsning - för en variabel som bara påverkar klassificeringen svagt är min intuition att Tree sannolikt inte kommer att delas på den variabeln (dvs det kommer inte att bli en nod) vilket i sin tur betyder det är osynligt så långt klassificeringen av beslutsträd går.
Jag pratar om svaga interaktioner, inte svaga effekter på klassificeringen. En interaktion är en relation mellan två av prediktorvariablerna.
Detta kan vara ineffektivt, men trädstrukturen klarar det.
Det är därför jag sa ineffektiv snarare än partisk eller felaktig. Om du har massor av data spelar det ingen roll. Men om du passar ett träd till några hundra observationer kan de antagna interaktionerna kraftigt minska den prediktiva noggrannheten.
Hålla med; Jag ville bara lyfta fram det. Ändå tror jag att minskningen av förutsägbar noggrannhet kan avlägsnas genom att använda rätt träning; i fylogenetik minskar det liknande problemet (girighet) genom Monte Carlo-skanning av det möjliga trädutrymmet för att hitta maximal sannolikhet - jag vet inte om det finns en liknande metod i statistik, förmodligen stördes ingen av detta problem till sådant utsträckning.
doug
2010-08-05 17:47:46 UTC
view on stackexchange narkive permalink

Mitt svar riktar sig till CART (implementeringarna C 4.5 / C 5) men jag tror inte är begränsat till det. Min gissning är att detta är vad OP har i åtanke - det är vanligtvis vad någon menar när de säger "Beslutsträd."

Begränsningar av beslutsträd :


Lågprestanda

Med "prestanda" menar jag inte upplösning, utan körningshastighet . Anledningen till att det är dåligt är att du måste 'rita om trädet' varje gång du vill uppdatera din CART-modell - data klassificerade av ett redan utbildat träd som du sedan vill lägga till i trädet (dvs. använda som en träningsdatapunkt) kräver att du börjar från över - träningsinstanser kan inte läggas till stegvis, som de kan för de flesta andra övervakade inlärningsalgoritmer. Det kanske bästa sättet att säga detta är att beslutsträd inte kan utbildas i online-läge, snarare bara i batch-läge. Uppenbarligen kommer du inte att märka denna begränsning om du inte uppdaterar din klassificerare, men då förväntar jag mig att du ser en nedgång i upplösning.

Detta är betydelsefullt för att till exempel Perceptrons för flera lager, när det väl är tränat, kan det börja klassificera data; att data också kan användas för att "ställa in" den redan utbildade klassificeraren, men med beslutsträd måste du omskola dig med hela datamängden (originaldata som används i träning plus eventuella nya instanser).


Dålig upplösning på data med komplexa förhållanden bland variablerna

Beslutsträd klassificeras genom stegvis bedömning av en datapunkt av okänd klass, en nod i taget, med början vid rotnod och slutar med en terminalnod. Och vid varje nod är det bara två möjligheter som är möjliga (vänster-höger), därför finns det några variabla förhållanden som beslutsträd inte kan lära sig.


Praktiskt taget begränsad till klassificering stark>

Beslutsträd fungerar bäst när de tränas i att tilldela en datapunkt till en klass - helst en av endast några få möjliga klasser. Jag tror inte att jag någonsin har haft någon framgång med att använda ett beslutsträd i regressionsläge (dvs. kontinuerlig produktion, t.ex. pris eller förväntad livstidsintäkt). Detta är inte en formell eller inneboende begränsning utan en praktisk begränsning. Oftast används beslutsträd för att förutsäga faktorer eller diskreta resultat.


Dålig upplösning med kontinuerliga förväntningsvariabler

Återigen är det i princip ok att ha oberoende variabler som "nedladdningstid" eller "antal dagar sedan tidigare online-köp "- ändra bara ditt delningskriterium till varians (det är vanligtvis Information Entropy eller Gini Impurity för diskreta variabler) men enligt min erfarenhet fungerar beslutsträd sällan bra i dessa fall. Undantag är fall som "studentens ålder" som ser kontinuerligt ut men i praktiken är värdena ganska små (särskilt om de rapporteras som heltal).

+1 för det bra samtalet om prestationsvinkeln, som vanligtvis inte får tillräckligt med spel.Jag har sett att beslutsträd stöter på prestandafrågor på flera programvaruplattformar som är utformade för stora datamängder (t.ex. SQL Server), åtminstone i jämförelse med andra metoder för datagrupp.Detta är bortsett från hela omskolningsfrågan du tog upp.Det verkar förvärras i fall där övermontering förekommer (även om det kan sägas om många andra gruvalgoritmer).
gung - Reinstate Monica
2012-06-29 04:27:55 UTC
view on stackexchange narkive permalink

Det finns bra svar här, men jag är förvånad över att en sak inte har betonats. CART gör inga distributionsantaganden om data, särskilt svarsvariabeln. Däremot gör OLS-regression (för kontinuerliga svarsvariabler) och logistisk regression (för vissa kategoriska svarsvariabler), till exempel do starka antaganden; specifikt antar OLS-regression att svaret är villkorligt normalfördelat, och logistiskt antar att svaret är binomialt eller multinomialt.

CARTs brist på sådana antaganden är ett tveeggat svärd. När dessa antaganden inte är motiverade ger detta tillvägagångssättet en relativ fördel. Å andra sidan, när dessa antaganden håller, kan mer information extraheras från uppgifterna genom att ta hänsyn till dessa fakta. Det vill säga, vanliga regressionsmetoder kan vara mer informativa än CART när antagandena är sanna.



Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 2.0-licensen som det distribueras under.
Loading...