Pochopil jsem, že náhodný les a extrémně randomizované stromy se liší v tom smyslu, že rozdělení stromů v náhodném lese je deterministické, zatímco v případě extrémně randomizovaných stromů jsou náhodné (přesnější je, že následující rozdělení je nejlepším rozdělením mezi náhodnými jednotnými rozděleními ve vybraných proměnných pro aktuální strom). Ale nechápu plně dopad těchto různých rozdělení v různých situacích.
- Jak se porovnávají z hlediska zkreslení / odchylky?
- Jak se porovnávají v přítomnost irelevantních proměnných?
- Jak se porovnávají v přítomnosti korelovaných proměnných?
Komentáře
Odpověď
Stromy Extra- (Randomized) -Trees (ET) article obsahuje analýzu odchylky. Na straně 16 můžete vidět srovnání s více metodami, včetně RF na šesti testech (strom c lassifikace a tři regrese).
Obě metody jsou přibližně stejné, přičemž ET je o něco horší, když existuje vysoký počet hlučných prvků (ve vysoce dimenzionálních souborech dat).
To znamená, že za předpokladu, že (možná manuální) výběr funkcí je téměř optimální, je výkon přibližně stejný, nicméně ET mohou být výpočetně rychlejší.
Z článku samotného:
Analýza algoritmu a stanovení optimální hodnoty K u několika variant testovacích úloh ukázaly, že tato hodnota v zásadě závisí na specifikách problému, zejména na podíl nepodstatných atributů . […] Analýza zkreslení / odchylky ukázala, že Extra-stromy fungují tak, že snižují rozptyl a současně zvyšují zkreslení . […] Když je randomizace zvýšena nad optimální úroveň, rozptyl se mírně sníží, zatímco zkreslení se často výrazně zvyšuje.
Žádná stříbrná kulka jako vždy.
Pierre Geurts, Damien Ernst, Louis Wehenke. „Extrémně randomizované stromy“
Komentáře
- Jakékoli odkazy (empirické nebo teorie) týkající se toho, že ET je o něco horší, když je vysoký počet hlučných funkce? Nebo je to založeno na zkušenostech?
- Podle mých zkušeností je pravý opak: Extra stromům se daří lépe s mnoha hlučnými funkcemi. S upozorněním, že musíte mít velký les (mnoho odhadů, n_estimators v sklearn) a vyladit počet funkcí uvažovaných při každém rozdělení (max_features v sklearn), aby to fungovalo. Jeden Extra-Tree překoná více než jeden náhodný lesní strom, ale pokud máte mnoho Extra-Tree, bude mít tendenci k překonání různými způsoby a nikoli k překonání. Často dosahuji podstatného vylepšení až 3000 odhadů.
- Jak zdůraznil @ramhiser, zdá se, že ET udržuje vyšší výkon v přítomnosti hlučných funkcí. Můžete ke své odpovědi přidat nějaké odkazy?
- Jsou stromy na Extra stromech vždy ‚ pahýlem ‚ (jen jeden split) ?? Čtení dalších článků působí dojmem.
Odpověď
ExtraTreesClassifier je jako bratr RandomForest, ale má 2 důležité rozdíly.
Jsme budování více rozhodovacích stromů. Pro vytváření více stromů potřebujeme více datových sad. Osvědčeným postupem je, že rozhodovací stromy netrénujeme na úplném datovém souboru, ale trénujeme pouze na zlomku dat (kolem 80%) pro každý strom. V náhodném lese kreslíme pozorování s nahrazením. Můžeme tedy mít opakování pozorování v náhodném lese. V ExtraTreesClassifier kreslíme pozorování bez náhrady, takže nebudeme mít opakování pozorování jako v náhodném lese.
Rozdělení je proces převodu nehomogenního nadřazeného uzlu do 2 homogenních podřízených uzlů (nejlepší možné). V RandomForest vybere nejlepší rozdělení pro převedení nadřazeného na dva nejhomogennější podřízené uzly. V ExtraTreesClassifier vybere náhodné rozdělení pro rozdělení nadřazeného uzlu na dva náhodné podřízené uzly.
Podívejme se na některé metody seskupení seřazené od vysoké po nízkou variantu, končící ExtraTreesClassifier.
1.Rozhodovací strom (vysoká variabilita)
Jeden rozhodovací strom obvykle převyšuje data, ze kterých se učí, protože se učí pouze z jedné cesty rozhodnutí. Předpovědi z jediného rozhodovacího stromu obvykle nedělají přesné předpovědi nových dat.
2. Náhodný les (střední varianta)
Náhodné lesní modely snižují riziko overfittingu zavedením náhodnosti pomocí:
- budování více stromů (n_estimators)
- kreslení pozorování s náhradou (tj. bootstrapovaný vzorek)
- rozdělení uzlů na nejlepší rozdělení mezi náhodnou podmnožinu funkcí vybraných v každém uzlu . Split je proces převodu nehomogenního nadřazeného uzlu na 2 homogenní podřízený uzel (nejlepší možné).
3. Extra stromy (nízká varianta)
Extra stromy jsou jako náhodný les, protože staví více stromů a rozděluje uzly pomocí náhodných podmnožin funkce, ale se dvěma klíčovými rozdíly: nezavádí bootstrapová pozorování (to znamená, že vzorky bez náhrady) a uzly jsou rozděleny na náhodné rozdělení, ne nejlepší rozdělení. Stručně řečeno, ExtraTrees:
- ve výchozím nastavení vytváří více stromů s bootstrap = False, což znamená, že vzorky bez nahrazení
- uzly jsou rozděleny na základě náhodných rozdělení mezi náhodnou podmnožinu funkcí vybraných v každém uzlu
V Extra Trees náhodnost nepochází z bootstrapování dat, ale spíše z náhodných rozdělení všech pozorování. Název ExtraTrees (Extremely Randomized Trees).
Komentáře
- [Bootstrapping] ( en .wikipedia.org / wiki / Bootstrapping_ (statistika) vzorkuje s nahrazením.
Odpovědět
Děkuji vám za odpovědi! Protože jsem měl stále otázky, provedl jsem několik numerických simulací, abych získal více informací o chování těchto dvou metod.
- Extra Zdá se, že stromy udržují vyšší výkon v přítomnosti hlučných funkcí.
Následující obrázek ukazuje výkon (hodnocený křížovou validací), protože do datové sady jsou přidány náhodné sloupce irelevantní pro cíl. cíl je pouze lineární kombinací prvních tří sloupců.
-
Pokud jsou všechny proměnné relevantní, zdá se, že obě metody dosahují stejného výkonu ce,
-
Extra stromy vypadají třikrát rychleji než náhodný les (alespoň v implementaci scikit learn)
Zdroje
Odkaz na celý článek: náhodný les vs. stromy navíc .
Komentáře
- Z vašeho propojeného článku: “ Modře jsou uvedeny výsledky z náhodného lesa a červená pro další stromy. “
Odpovědět
Odpověď je, že záleží. Navrhuji, abyste na svém problému vyzkoušeli náhodný les i stromy navíc. Vyzkoušejte velký les (1 000 – 3 000 stromů / odhady, n_estimatory ve sklearnu) a vylaďte počet prvků uvažovaných v každém rozdělení (max_features ve sklearnu), stejně jako minimální vzorky na rozdělení (min_samples_split ve sklearnu) a maximální hloubku stromu ( max_depth in sklearn). Měli byste mít na paměti, že nadměrné ladění může být formou nadměrného vybavení.
Zde jsou dva problémy, na kterých jsem osobně pracoval další stromy se osvědčily s velmi hlučnými daty:
Rozhodovací lesy pro klasifikaci strojového učení velkých, hlučných sad funkcí mořského dna
Účinná předpověď distribuované poruchy proteinů s vloženými vzorky
uniform split
?