Vraag:
Wat is de zwakke kant van beslissingsbomen?
Łukasz Lew
2010-08-05 15:42:44 UTC
view on stackexchange narkive permalink

Beslissingsbomen lijken een zeer begrijpelijke methode voor machine learning. Eenmaal gemaakt, kan het gemakkelijk worden geïnspecteerd door een mens, wat in sommige toepassingen een groot voordeel is.

Wat zijn de praktische zwakke kanten van beslissingsbomen?

Vier antwoorden:
#1
+37
Simon Byrne
2010-08-05 17:08:24 UTC
view on stackexchange narkive permalink

Hier zijn er een paar die ik kan bedenken:

  • Ze kunnen extreem gevoelig zijn voor kleine verstoringen in de gegevens: een kleine verandering kan resulteren in een drastisch andere boom.
  • Ze kunnen gemakkelijk overfit worden. Dit kan worden tenietgedaan door validatiemethoden en snoeien, maar dit is een grijs gebied.
  • Ze kunnen problemen hebben met voorspelling buiten de steekproef (dit heeft te maken met het feit dat ze niet vloeiend zijn).

Sommige hiervan houden verband met het probleem van multicollineariteit: wanneer twee variabelen beide hetzelfde verklaren, zal een beslissingsboom gretig de beste kiezen, terwijl bij veel andere methoden hun allebei. Ensemble-methoden zoals willekeurige bossen kunnen dit tot op zekere hoogte tenietdoen, maar je verliest het gemak van begrip.

Het grootste probleem is echter, althans vanuit mijn standpunt, het ontbreken van een principieel probabilistisch kader . Veel andere methoden hebben zaken als betrouwbaarheidsintervallen, posterieure verdelingen enz., Die ons een idee geven van hoe goed een model is. Een beslissingsboom is uiteindelijk een ad-hocheuristiek, die nog steeds erg handig kan zijn (ze zijn uitstekend om de bronnen van bugs in de gegevensverwerking te vinden), maar het gevaar bestaat dat mensen de uitvoer als 'het' juiste model beschouwen (van mijn ervaring, gebeurt dit veel in marketing).

Vanuit ML-oogpunt kunnen bomen op dezelfde manier worden getest als elke andere classificator (bijvoorbeeld CV). Toch laat het eerder zien dat er zware overfit is gebeurd ;-) Ook RF ontsnapt aan multicollineariteit, niet omdat het een ensemble is, maar omdat de bomen niet optimaal zijn.
Voor een probabilistisch raamwerk van beslissingsbomen, zie DTREE (url: http://www.datamining.monash.edu.au/software/dtree/index.shtml) dat is gebaseerd op het artikel "Wallace CS & Patrick JD," Coding Decision Trees ', Machine Learning, 11, 1993, pp7-22 ".
Is het ook niet mogelijk om CI (voor de voorspellingen) te krijgen met bootstrapping?
@Simon Byrne, ik heb een vraag naar aanleiding van uw opmerking "Maar het grootste probleem, althans vanuit mijn standpunt, is het ontbreken van een principieel probabilistisch kader". Vergeef me mijn onwetendheid, maar kunt u mij alstublieft wijzen op enkele praktische principiële probabilistische kaders (specifiek in de context van classificatie). Ik ben zeer geïnteresseerd in deze beperking van beslissingsbomen.
@AmV, zou een voorbeeld zijn van logistieke regressie: we kunnen het feit gebruiken dat elke waarneming afkomstig is van een binominale waarde om betrouwbare / geloofwaardige intervallen te verkrijgen en de aannames van het model te controleren.
#2
+25
Rob Hyndman
2010-08-05 16:58:42 UTC
view on stackexchange narkive permalink

Een nadeel is dat wordt aangenomen dat alle termen op elkaar inwerken. Dat wil zeggen dat u geen twee verklarende variabelen kunt hebben die onafhankelijk van elkaar werken. Elke variabele in de boom wordt gedwongen om te interageren met elke variabele verderop in de boom. Dit is buitengewoon inefficiënt als er variabelen zijn die geen of zwakke interacties hebben.

ik vraag me echter af of dit een praktische beperking is - voor een variabele die de classificatie slechts zwak beïnvloedt, is mijn intuïtie dat Tree waarschijnlijk niet zal splitsen op die variabele (dat wil zeggen, het wordt geen knooppunt), wat op zijn beurt betekent het is onzichtbaar wat betreft de classificatie van de beslissingsboom.
Ik heb het over zwakke interacties, niet over zwakke effecten op classificatie. Een interactie is een relatie tussen twee van de voorspellende variabelen.
Dit is misschien inefficiënt, maar de boomstructuur kan het aan.
Daarom zei ik inefficiënt in plaats van bevooroordeeld of onjuist. Als u veel gegevens heeft, maakt het niet veel uit. Maar als je een boom aanpast aan een paar honderd waarnemingen dan kunnen de veronderstelde interacties de voorspellende nauwkeurigheid sterk verminderen.
Mee eens; Ik wilde het gewoon benadrukken. Toch denk ik dat vermindering van voorspellende nauwkeurigheid kan worden opgeheven door de juiste training te gebruiken; in de fylogenetica wordt het soortgelijke probleem (hebzucht) verminderd door Monte Carlo-scanning van de mogelijke boomruimte om de hoogst mogelijke waarschijnlijkheid te vinden - ik weet niet of er een vergelijkbare benadering is in statistieken, waarschijnlijk heeft niemand er last van gehad omvang.
#3
+12
doug
2010-08-05 17:47:46 UTC
view on stackexchange narkive permalink

Mijn antwoord is gericht aan CART (de C 4.5 / C 5-implementaties) hoewel ik denk niet dat ze hiertoe beperkt zijn. Ik vermoed dat dit is wat het OP in gedachten heeft - het is meestal wat iemand bedoelt als hij "Beslissingsboom" zegt.

Beperkingen van beslissingsbomen :


Lage prestaties

Met 'prestatie' bedoel ik niet resolutie, maar uitvoeringssnelheid . De reden waarom het slecht is, is dat u 'de boom opnieuw moet tekenen' elke keer dat u uw CART-model wilt bijwerken - gegevens die zijn geclassificeerd door een reeds getrainde boom, die u vervolgens aan de boom wilt toevoegen (dat wil zeggen, gebruik als een trainingsgegevenspunt) vereist dat u begint met gevallen van overtraining die niet incrementeel kunnen worden toegevoegd, zoals bij de meeste andere leeralgoritmen onder supervisie. Misschien is de beste manier om dit te stellen, dat beslissingsbomen niet in online modus kunnen worden getraind, maar alleen in batchmodus. Het is duidelijk dat je deze beperking niet opmerkt als je je classifier niet bijwerkt, maar dan zou ik verwachten dat je een afname in resolutie ziet.

Dit is belangrijk omdat voor bijvoorbeeld Multi-Layer Perceptrons, als het eenmaal is getraind, het kan beginnen met het classificeren van gegevens; die gegevens kunnen ook worden gebruikt om de reeds getrainde classifier 'af te stemmen', maar met Decision Trees moet u zich opnieuw trainen met de volledige dataset (originele gegevens gebruikt in training plus eventuele nieuwe instanties).


Slechte oplossing voor gegevens met complexe relaties tussen de variabelen

Beslissingsbomen classificeren door stapsgewijze beoordeling van een gegevenspunt van onbekende klasse, één knooppunt per keer, te beginnen bij de root node en eindigend met een terminal node. En bij elk knooppunt zijn slechts twee mogelijkheden mogelijk (links-rechts), daarom zijn er enkele variabele relaties die Decision Trees gewoon niet kunnen leren.


Praktisch beperkt tot classificatie sterk>

Beslissingsbomen werken het beste als ze zijn getraind om een ​​gegevenspunt aan een klas toe te wijzen - bij voorkeur een van de weinige mogelijke klassen. Ik geloof niet dat ik ooit enig succes heb gehad met het gebruik van een beslissingsboom in de regressiemodus (d.w.z. continue output, zoals prijs of verwachte levenslange inkomsten). Dit is geen formele of inherente beperking, maar een praktische. Beslissingsbomen worden meestal gebruikt voor het voorspellen van factoren of discrete uitkomsten.


Slechte oplossing met continue verwachtingsvariabelen

Nogmaals, in principe is het ok om onafhankelijke variabelen te hebben zoals "downloadtijd" of "aantal dagen sinds vorige online aankoop "- verander gewoon je splitsingscriterium in variantie (het is meestal Information Entropy of Gini Impurity voor discrete variabelen) maar in mijn ervaring werken Decision Trees zelden goed in deze gevallen. Uitzonderingen zijn gevallen zoals "leeftijd van de leerling" die er continu uitziet, maar in de praktijk is het bereik van waarden vrij klein (vooral als ze worden gerapporteerd als gehele getallen).

+1 voor de goede beslissing over de prestatiehoek, die meestal niet genoeg spel krijgt.Ik heb Decision Trees prestatieproblemen zien tegenkomen op verschillende softwareplatforms die zijn ontworpen voor grote datasets (zoals SQL Server), althans in vergelijking met andere dataminingmethoden.Dit is afgezien van de hele herscholingskwestie die u ter sprake bracht.Het lijkt te verslechteren in gevallen waarin overfitting optreedt (hoewel dat kan worden gezegd van veel andere mining-algoritmen).
#4
+11
gung - Reinstate Monica
2012-06-29 04:27:55 UTC
view on stackexchange narkive permalink

Er zijn hier goede antwoorden, maar het verbaast me dat één ding niet wordt benadrukt. CART doet geen aannames over de verdeling van de gegevens, met name de responsvariabele. OLS-regressie (voor continue responsvariabelen) en logistische regressie (voor bepaalde categorische responsvariabelen) daarentegen maken wel sterke aannames; In het bijzonder gaat OLS-regressie ervan uit dat de respons voorwaardelijk normaal verdeeld is, en de logistiek veronderstelt dat de respons binominaal of multinominaal is.

CART's gebrek aan dergelijke aannames is een tweesnijdend zwaard. Wanneer die aannames niet gerechtvaardigd zijn, geeft dit de benadering een relatief voordeel. Aan de andere kant, als die aannames kloppen, kan er meer informatie uit de gegevens worden gehaald door met die feiten rekening te houden. Dat wil zeggen dat standaard regressiemethoden informatiever kunnen zijn dan CART als de aannames waar zijn.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...