Jag förstod att slumpmässiga skogar och extremt slumpmässiga träd skiljer sig åt i den meningen att delarna av träden i slumpmässiga skogen är deterministisk medan de är slumpmässiga i fallet med extremt slumpmässiga träd (för att vara mer exakt, nästa delning är den bästa delningen bland slumpmässiga enhetliga delningar i de valda variablerna för det aktuella trädet). Men jag förstår inte helt effekten av dessa olika splittringar i olika situationer.

  • Hur jämför de sig när det gäller bias / varians?
  • Hur jämför de sig i närvaro av irrelevanta variabler?
  • Hur jämförs de i närvaro av korrelerade variabler?

Kommentarer

  • ( a) ERT kan ibland vara mer partisk på grund av mindre optimala splittringar / ERT kommer ibland att minska variansen på grund av ytterligare dekorrelering av träd; (b) Jag antar samma, inte säker; (c) Jag antar samma, inte säker. Extra: Jag skulle inte kalla splittringen av RF deterministisk på grund av slumpmässig variabel provtagning, och träden beror naturligtvis inte på bootstrapping.
  • Vad är en uniform split?

Svar

Extra- (Randomized) -Trees (ET) artikel innehåller en bias-variansanalys. På sidan 16 kan du se en jämförelse med flera metoder inklusive RF på sex tester (träd c lassification och tre regression).

Båda metoderna är ungefär desamma, med ET är lite sämre när det finns ett stort antal bullriga funktioner (i högdimensionella datamängder).

Med detta sagt, förutsatt att det (kanske manuella) funktionsvalet är nära optimalt, är prestandan ungefär densamma, men ET kan dock beräknas snabbare.

Från själva artikeln:

Analysen av algoritmen och bestämningen av det optimala värdet av K på flera testproblemvarianter har visat att värdet i princip är beroende av problemspecifika, i synnerhet andelen irrelevanta attribut . […] Bias / variansanalysen har visat att Extra-Trees fungerar genom att minska variansen samtidigt som ökar bias . […] När randomiseringen ökar över den optimala nivån minskar variansen något medan förspänningen ofta ökar markant.

Ingen silverkula som alltid.


Pierre Geurts, Damien Ernst, Louis Wehenke. ”Extremt randomiserade träd”

Kommentarer

  • Eventuella referenser (antingen empirisk eller teori) angående ET är lite värre när det är ett högt antal bullriga funktioner? Eller är detta baserat på erfarenhet?
  • Enligt min erfarenhet är det motsatt: Extra-Trees klarar sig bättre med många bullriga funktioner. Med förbehållet måste du ha en stor skog (många estimatorer, n_estimators i sklearn) och ställa in antalet funktioner som beaktas vid varje split (max_features in sklearn) för att detta ska fungera. Ett enda Extra-Tree kommer att passa mer än ett enda slumpmässigt skogsträd, men om du har många Extra-träd tenderar de att överträffa på olika sätt och inte överträffa. Jag får ofta betydande förbättringar upp till 3000 uppskattningar.
  • Som @ramhiser påpekade verkar ET hålla högre prestanda i närvaro av bullriga funktioner. Kan du lägga till några referenser till ditt svar?
  • Är träd i extra träd alltid en ’ stubbe ’ (bara en split) ?? Att läsa andra artiklar ger ett sådant intryck.

Svar

ExtraTreesClassifier är som en bror till RandomForest men med två viktiga skillnader.

ange bildbeskrivning här

Vi är bygga flera beslutsträd. För att bygga flera träd behöver vi flera datamängder. Bästa praxis är att vi inte tränar beslutsträd i hela datasetet men vi tränar bara på bråkdelar av data (cirka 80%) för varje träd. I en slumpmässig skog ritar vi observationer med ersättning. Så vi kan upprepa observationer i en slumpmässig skog. I en ExtraTreesClassifier ritar vi observationer utan att ersätta dem, så vi kommer inte att upprepa observationer som i slumpmässig skog.

Delningen är processen att konvertera en icke-homogen föräldernod i två homogena barnnoder (bäst möjligt). I RandomForest väljer den den bästa delningen för att konvertera föräldern till de två mest homogena barnnoderna. I en ExtraTreesClassifier väljer den en slumpmässig uppdelning för att dela upp föräldernoden i två slumpmässiga barnnoder.

Låt oss titta på några ensemblemetoder ordnade från hög till låg varians och slutar med ExtraTreesClassifier.

1.Beslutsträd (hög variation)

Ett enstaka beslutsträd är vanligtvis överträffat de data det lär sig av eftersom det bara lär sig från en beslut. Förutsägelser från ett enda beslutsträd ger vanligtvis inte korrekta förutsägelser för nya data.

2. Random Forest (Medium Variance)

Slumpmässiga skogsmodeller minskar risken för överanpassning genom att införa slumpmässighet med:

  • bygga flera träd (n_estimators)
  • rita observationer med ersättning (dvs. ett bootstrapped sampel)
  • dela noder på den bästa delningen bland en slumpmässig delmängd av de funktioner som valts vid varje nod . Split är process för att konvertera icke-homogen föräldernod till två homogena undernoder (bäst möjligt).

3. Extra träd (låg variation)

Extra träd är som en slumpmässig skog, genom att den bygger flera träd och delar noder med slumpmässiga delmängder av funktioner, men med två viktiga skillnader: det startar inte observationer (det betyder att det samlas utan ersättning), och noder delas upp på slumpmässiga delningar, inte bästa delningar. Sammanfattningsvis, ExtraTrees:

  • bygger flera träd med bootstrap = False som standard, vilket innebär att det samlas utan att ersätta
  • noder delas baserat på slumpmässiga delningar bland en slumpmässig delmängd av de funktioner som valts vid varje nod

I Extra Trees kommer slumpmässighet inte från att starta data utan kommer snarare från slumpmässiga delar av alla observationer. ExtraTrees heter (Extremely Randomized Trees).

Kommentarer

Svar

Tack så mycket för svaren! Eftersom jag fortfarande hade frågor utförde jag några numeriska simuleringar för att få mer insikt om beteendet hos dessa två metoder.

  • Extra träd verkar hålla en högre prestanda i närvaro av bullriga funktioner.

Bilden nedan visar prestandan (utvärderad med korsvalidering) när slumpmässiga kolumner som är irrelevanta för målet läggs till i datasetet. målet är bara en linjär kombination av de tre första kolumnerna. slumpmässig skog jämfört med extra träd i närvaro av irrelevanta variabler

  • När alla variabler är relevanta verkar båda metoderna uppnå samma prestanda ce,

  • Extra träd verkar tre gånger snabbare än den slumpmässiga skogen (åtminstone i scikit lär implementering)

Källor

Länk till hela artikeln: slumpmässig skog vs extra träd .

Kommentarer

  • Från din länkade artikel: ” I blått presenteras resultaten från den slumpmässiga skogen och rött för de extra träden. ”

Svar

Svaret är att det beror på det. Jag föreslår att du provar både slumpmässig skog och extra träd på ditt problem. Prova stor skog (1000 – 3000 träd / estimatorer, n_estimators i sklearn) och ställa in antalet funktioner som beaktas vid varje split (max_features in sklearn) samt minimiproven per split (min_samples_split i sklearn) och det maximala trädjupet ( max_depth in sklearn). Med detta sagt bör du komma ihåg att överjustering kan vara en form av överanpassning.

Här är två problem som jag arbetat personligen med där extra träd visade sig vara användbara med mycket bullriga data:

Beslutsskogar för maskininlärningsklassificering av stora, bullriga havsbottenfunktionsuppsättningar

En effektiv distribuerad proteinstörningsprognos med klistrade prover

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *