Ho capito che la foresta casuale e gli alberi estremamente casuali differiscono nel senso che le spaccature degli alberi nella foresta casuale sono deterministici mentre sono casuali nel caso di alberi estremamente casuali (per essere più precisi, la suddivisione successiva è la migliore suddivisione tra le suddivisioni uniformi casuali nelle variabili selezionate per lalbero corrente). Ma non comprendo appieno limpatto di queste diverse suddivisioni in varie situazioni.
- Come si confrontano in termini di bias / varianza?
- Come si confrontano in presenza di variabili irrilevanti?
- Come si confrontano in presenza di variabili correlate?
Commenti
Risposta
The Extra- (Randomized) -Trees (ET) articolo contiene unanalisi di bias-varianza. A pagina 16 puoi vedere un confronto con più metodi tra cui RF su sei test (albero c lassificazione e tre regressione).
Entrambi i metodi sono più o meno gli stessi, con lET che è un po peggiore quando cè un numero elevato di caratteristiche rumorose (in set di dati ad alta dimensione).
Detto questo, a condizione che la selezione della funzione (forse manuale) sia quasi ottimale, le prestazioni sono più o meno le stesse, tuttavia, gli ET possono essere computazionalmente più veloci.
Dallarticolo stesso:
Lanalisi dellalgoritmo e la determinazione del valore ottimale di K su diverse varianti di problemi di test hanno dimostrato che il valore dipende in linea di principio dalle specifiche del problema, in particolare dal proporzione di attributi irrilevanti . […] Lanalisi di bias / varianza ha mostrato che gli Extra-Trees funzionano diminuendo la varianza e allo stesso tempo aumentando il bias . […] Quando la randomizzazione viene aumentata al di sopra del livello ottimale, la varianza diminuisce leggermente mentre il bias aumenta spesso in modo significativo.
Nessun proiettile dargento come sempre.
Pierre Geurts, Damien Ernst, Louis Wehenke. “Alberi estremamente casuali”
Commenti
- Qualsiasi riferimento (empirico o teorico) riguardo a ET che è un po peggiore quando cè un alto numero di rumori Caratteristiche? O è basato sullesperienza?
- Nella mia esperienza è vero il contrario: Extra-Trees funziona meglio con molte funzionalità rumorose. Con lavvertenza che devi avere una grande foresta (molti stimatori, n_estimatori in sklearn) e regolare il numero di caratteristiche considerate in ogni divisione (max_features in sklearn) perché funzioni. Un singolo Extra-Tree supererà più di un singolo albero della foresta casuale, ma se hai molti Extra-Tree tenderanno a overfit in modi diversi e non overfit. Spesso ottengo miglioramenti sostanziali fino a 3000 stimatori.
- Come ha sottolineato @ramhiser, ET sembra mantenere prestazioni più elevate in presenza di caratteristiche rumorose. Puoi aggiungere alcuni riferimenti alla tua risposta?
- Gli alberi in Extra Trees sono sempre un ‘ moncone ‘ (solo una divisione) ?? Leggere altri articoli dà una tale impressione.
Risposta
ExtraTreesClassifier è come un fratello di RandomForest ma con 2 importanti differenze.
Siamo costruire più alberi decisionali. Per costruire più alberi, abbiamo bisogno di più set di dati. La migliore pratica è che non addestriamo gli alberi decisionali sullinsieme di dati completo, ma ci addestriamo solo su una frazione di dati (circa l80%) per ogni albero. In una foresta casuale, disegniamo osservazioni con sostituzione. In questo modo possiamo avere ripetizioni di osservazioni in una foresta casuale. In un ExtraTreesClassifier, stiamo disegnando osservazioni senza sostituzione, quindi non avremo ripetizioni di osservazioni come in una foresta casuale.
La divisione è il processo di conversione di un nodo genitore non omogeneo in 2 nodi figlio omogenei (migliore possibile). In RandomForest, seleziona la suddivisione migliore per convertire il genitore nei due nodi figlio più omogenei. In un ExtraTreesClassifier, seleziona una divisione casuale per dividere il nodo genitore in due nodi figlio casuali.
Diamo unocchiata ad alcuni metodi di ensemble ordinati da varianza alta a bassa, che terminano con ExtraTreesClassifier.
1.Albero decisionale (varianza elevata)
Un singolo albero decisionale di solito supera i dati da cui apprende perché apprende da un solo percorso di decisioni. Le previsioni da un singolo albero decisionale di solito non fanno previsioni accurate su nuovi dati.
2. Foresta casuale (varianza media)
I modelli di foresta casuale riducono il rischio di overfitting introducendo la casualità:
- costruire più alberi (n_estimators)
- disegnare osservazioni con sostituzione (cioè un campione bootstrap)
- dividere i nodi sulla migliore divisione tra un sottoinsieme casuale delle caratteristiche selezionate in ogni nodo . La suddivisione è un processo per convertire un nodo padre non omogeneo in due nodi figlio omogenei (il migliore possibile).
3. Extra Trees (Low Variance)
Extra Trees è come una foresta casuale, in quanto costruisce più alberi e divide nodi utilizzando sottoinsiemi casuali di caratteristiche, ma con due differenze fondamentali: non esegue il bootstrap delle osservazioni (il che significa che campiona senza sostituzione), ei nodi sono suddivisi in suddivisioni casuali, non in suddivisioni migliori. Quindi, in sintesi, ExtraTrees:
- costruisce più alberi con bootstrap = False per impostazione predefinita, il che significa che campiona senza sostituzione
- i nodi vengono divisi in base a suddivisioni casuali tra un sottoinsieme casuale delle caratteristiche selezionate in ogni nodo
In Extra Trees, la casualità non deriva dal bootstrap dei dati, ma piuttosto dalle suddivisioni casuali di tutte le osservazioni. ExtraTrees prende il nome da (alberi estremamente casuali).
Commenti
- [Bootstrapping] ( en .wikipedia.org / wiki / Bootstrapping_ (statistiche) sta campionando con sostituzione.
Risposta
Grazie mille per le risposte! Dato che avevo ancora domande, ho eseguito alcune simulazioni numeriche per avere maggiori informazioni sul comportamento di questi due metodi.
- Extra gli alberi sembrano mantenere prestazioni più elevate in presenza di elementi rumorosi.
Limmagine sotto mostra le prestazioni (valutate con convalida incrociata) poiché colonne casuali irrilevanti per lobiettivo vengono aggiunte al set di dati. il target è solo una combinazione lineare delle prime tre colonne.
-
Quando tutte le variabili sono rilevanti, entrambi i metodi sembrano ottenere le stesse prestazioni ce,
-
Gli alberi extra sembrano tre volte più veloci della foresta casuale (almeno, nellimplementazione di scikit learn)
Fonti
Link allarticolo completo: foresta casuale vs alberi extra .
Commenti
- Dal tuo articolo collegato: ” In blu sono presentati i risultati della foresta casuale e in rosso per gli alberi extra. ”
Risposta
La risposta è che dipende. Ti suggerisco di provare sia la foresta casuale che gli alberi extra sul tuo problema. Prova una grande foresta (1000 – 3000 alberi / estimatori, n_estimatori in sklearn) e regola il numero di caratteristiche considerate in ogni divisione (max_features in sklearn) nonché i campioni minimi per divisione (min_samples_split in sklearn) e la profondità massima dellalbero ( max_depth in sklearn). Detto questo, tieni presente che over tuning può essere una forma di overfitting.
Qui ci sono due problemi su cui ho lavorato personalmente dove alberi extra si sono rivelati utili con dati molto rumorosi:
Una previsione efficiente del disturbo della proteina distribuita con campioni incollati
uniform split
?