Differenza tra foresta casuale e alberi estremamente randomizzati


44

Ho capito che la foresta casuale e gli alberi estremamente casuali differiscono nel senso che le spaccature degli alberi nella foresta casuale sono deterministiche mentre sono casuali nel caso di alberi estremamente casuali (per essere più precisi, la divisione successiva è la divisione migliore tra le divisioni casuali uniformi nelle variabili selezionate per l'albero corrente). Ma non capisco appieno l'impatto di queste diverse divisioni 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?

2
(a) ERT a volte può essere più distorto a causa di divisioni meno ottimali / ERT a volte riduce la varianza a causa di un'ulteriore decorrelazione degli alberi; (b) Immagino lo stesso, non sono sicuro; (c) Immagino lo stesso, non ne sono sicuro. Extra: non definirei la divisione del deterministico RF a causa del campionamento variabile casuale, e gli alberi ovviamente non sono né dovuti al bootstrap.
Soren Havelund Welling,

Che cos'è un uniform split?
Ottaviano,

Risposte:


31

L'(randomizzato) -Alberi (ET) Extra- articolo contiene un'analisi polarizzazione varianza. A pagina 16 è possibile vedere un confronto con più metodi tra cui RF su sei test (classificazione dell'albero e tre regressioni).

Entrambi i metodi sono più o meno gli stessi, con ET un po 'peggio quando c'è un numero elevato di caratteristiche rumorose (in insiemi di dati ad alta dimensione).

Detto questo, a condizione che la selezione delle funzioni (forse manuale) sia quasi ottimale, le prestazioni sono pressoché uguali, tuttavia gli ET possono essere più veloci dal punto di vista computazionale.

Dall'articolo stesso:

L'analisi dell'algoritmo e la determinazione del valore ottimale di K su diverse varianti del problema di prova hanno dimostrato che il valore dipende in linea di principio dalle specifiche del problema, in particolare dalla proporzione di attributi irrilevanti . [...] L'analisi di bias / varianza ha mostrato che gli alberi extra funzionano diminuendo la varianza e allo stesso tempo aumentando il bias . [...] Quando la randomizzazione aumenta al di sopra del livello ottimale, la varianza diminuisce leggermente mentre la distorsione aumenta spesso in modo significativo.

Nessun proiettile d'argento come sempre.


Pierre Geurts, Damien Ernst, Louis Wehenke. "Alberi estremamente randomizzati"


3
Qualche riferimento (empirico o teorico) sull'ET è un po 'peggio quando c'è un numero elevato di caratteristiche rumorose? O è basato sull'esperienza?
Ramhiser,

1
Nella mia esperienza è vero il contrario: Extra-Trees fa meglio con molte caratteristiche rumorose. Con l'avvertenza che è necessario disporre di una foresta di grandi dimensioni (molti stimatori, n_estimatori in sklearn) e ottimizzare il numero di funzionalità considerate in ogni divisione (funzionalità_max in sklearn) affinché funzioni. Un singolo albero extra si adatta a più di un singolo albero forestale casuale, ma se si dispone di molti alberi aggiuntivi, questi tendono ad adattarsi in modi diversi e non si adattano troppo. Ottengo spesso miglioramenti sostanziali fino a 3000 stimatori.
denson,

Come sottolineato da @ramhiser, ET sembra mantenere prestazioni più elevate in presenza di funzionalità rumorose. Puoi aggiungere alcuni riferimenti alla tua risposta?
Goncalo Peres supporta Monica il

3

La risposta è che dipende. Ti suggerisco di provare sia la foresta casuale che gli alberi extra sul tuo problema. Prova la foresta di grandi dimensioni (1000-3000 alberi / stimatori, n_estimatori in sklearn) e sintonizza il numero di funzioni considerate in ogni divisione (funzionalità max in sklearn) nonché i campioni minimi per divisione (min_samples_split in sklearn) e la profondità massima dell'albero ( max_depth in sklearn). Detto questo, dovresti tenere a mente che un'eccessiva messa a punto può essere una forma di overfitting.

Qui ci sono due problemi a cui ho lavorato personalmente in cui alberi extra si sono rivelati utili con dati molto rumorosi:

Foreste decisionali per la classificazione di apprendimento automatico di insiemi di caratteristiche di fondali marini ampi e rumorosi

Una previsione efficiente del disordine proteico distribuito con campioni incollati


3

Grazie mille per le risposte! Dato che avevo ancora domande, ho eseguito alcune simulazioni numeriche per avere più approfondimenti sul comportamento di questi due metodi.

  • Gli alberi extra sembrano mantenere prestazioni più elevate in presenza di caratteristiche rumorose.

L'immagine seguente mostra le prestazioni (valutate con convalida incrociata) quando al set di dati vengono aggiunte colonne casuali non pertinenti alla destinazione. L'obiettivo è solo una combinazione lineare delle prime tre colonne. foresta casuale vs alberi extra in presenza di variabili irrilevanti

  • Quando tutte le variabili sono rilevanti, entrambi i metodi sembrano raggiungere le stesse prestazioni,

  • Gli alberi extra sembrano tre volte più veloci della foresta casuale (almeno, in scikit impara l'implementazione)

fonti

Link all'articolo completo: foresta casuale vs alberi extra .


1
Dal tuo articolo collegato: "In blu sono presentati i risultati della foresta casuale e in rosso per gli alberi in più".
tomsv

2

ExtraTreesClassifier è come un fratello di RandomForest ma con 2 differenze importanti.

inserisci qui la descrizione dell'immagine

Stiamo costruendo più alberi decisionali. Per costruire più alberi, abbiamo bisogno di più set di dati. La migliore pratica è che non formiamo gli alberi delle decisioni sull'insieme di dati completo, ma ci alleniamo solo su una frazione dei dati (circa l'80%) per ogni albero. In una foresta casuale, disegniamo osservazioni con la sostituzione. Quindi possiamo ripetere le osservazioni in una foresta casuale. In un ExtraTreesClassifier, stiamo disegnando osservazioni senza sostituzione, quindi non avremo ripetizioni di osservazioni come nella foresta casuale.

La divisione è il processo di conversione di un nodo padre non omogeneo in 2 nodi figlio omogenei (il migliore possibile). In RandomForest, seleziona la divisione migliore per convertire il genitore nei due nodi figlio più omogenei. In ExtraTreesClassifier, seleziona una divisione casuale per dividere il nodo padre in due nodi figlio casuali.

Diamo un'occhiata ad alcuni metodi di ensemble ordinati dalla varianza alta a bassa, che terminano con ExtraTreesClassifier.

1. Albero decisionale (alta varianza)

Un singolo albero decisionale di solito si sovrappone ai dati da cui sta imparando perché impara 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 (media varianza)

I modelli di foresta casuali riducono il rischio di overfitting introducendo casualità mediante:

  • costruzione di più alberi (n_estimators)
  • disegnare osservazioni con sostituzione (ad esempio un campione avviato)
  • suddividere i nodi nella migliore suddivisione tra un sottoinsieme casuale delle funzionalità selezionate in ciascun nodo. La divisione è un processo per convertire un nodo padre non omogeneo in 2 nodi figlio omogenei (il migliore possibile).

3. Alberi extra (bassa varianza)

Alberi extra è come una foresta casuale, in quanto costruisce più alberi e divide i nodi usando sottoinsiemi casuali di funzionalità, ma con due differenze chiave: non avvia osservazioni bootstrap (nel senso che campiona senza sostituzione) e i nodi sono divisi su suddivisioni casuali, non meglio si divide. Quindi, in sintesi, ExtraTrees:

  • costruisce più alberi con bootstrap = False per impostazione predefinita, il che significa che campiona senza sostituzione
  • i nodi sono suddivisi in base a suddivisioni casuali tra un sottoinsieme casuale delle funzionalità selezionate in ciascun 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 randomizzati).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.