Gradient Boosting Tree vs Random Forest


110

Il potenziamento dell'albero a gradiente, come proposto da Friedman, utilizza gli alberi decisionali come apprendenti di base. Mi chiedo se dovremmo rendere l'albero delle decisioni di base il più complesso possibile (completamente sviluppato) o più semplice? C'è qualche spiegazione per la scelta?

Random Forest è un altro metodo di ensemble che utilizza alberi decisionali come apprendenti di base. In base alla mia comprensione, generalmente utilizziamo gli alberi decisionali quasi completamente sviluppati in ogni iterazione. Ho ragione?


1
Puoi trovare un altro ottimo riferimento per gli alberi potenziati qui: xgboost.readthedocs.io/en/latest/model.html
Naghmeh

@Naghmeh - Dead link; sembra essersi spostato su xgboost.readthedocs.io/it/latest/tutorials/model.html
mlibby

Risposte:


149

error = bias + variance

  • Il potenziamento si basa su studenti deboli (bias elevato, bassa varianza). In termini di alberi decisionali, gli studenti deboli sono alberi poco profondi, a volte anche piccoli come ceppi di decisione (alberi con due foglie). Il potenziamento riduce l'errore principalmente riducendo la distorsione (e anche in una certa misura la varianza, aggregando l'output di molti modelli).
  • D'altra parte, Random Forest utilizza, come hai detto , alberi decisionali completamente sviluppati (bassa propensione, alta varianza). Affronta il compito di riduzione degli errori nel modo opposto: riducendo la varianza. Gli alberi sono resi non correlati per massimizzare la diminuzione della varianza, ma l'algoritmo non può ridurre la distorsione (che è leggermente superiore alla distorsione di un singolo albero nella foresta). Da qui la necessità di grandi alberi non potati, in modo che il pregiudizio sia inizialmente il più basso possibile.

Si noti che a differenza di Boosting (che è sequenziale), RF fa crescere alberi in parallelo . Il termine iterativeche hai usato è quindi inappropriato.


1
"Gli alberi sono resi non correlati per massimizzare la diminuzione della varianza, ma l'algoritmo non può ridurre la distorsione (che è leggermente superiore alla distorsione di un singolo albero nella foresta)" - la parte circa "leggermente superiore alla distorsione di un individuo albero nella foresta "sembra errato. Vedi web.stanford.edu/~hastie/Papers/ESLII.pdf sezione 15.4.2: "Come nel bagging, il bias di una foresta casuale è uguale al bias di uno dei singoli alberi campionati". Forse vuoi dire "leggermente più alto del pregiudizio di un singolo albero completamente cresciuto adatto ai dati originali"?
Adrian,

1
@gung Penso che ci sia una domanda chiave senza risposta in OP, che è: perché non usare un albero completamente sviluppato al primo passaggio di GBM? Perché usare una sequenza di discenti deboli è meglio di un singolo albero completamente cresciuto? Ne sono curioso
ftxx,

55

Questa domanda viene affrontata in questo bellissimo post. Si prega di dare un'occhiata a questo e ai riferimenti in esso. http://fastml.com/what-is-better-gradient-boosted-trees-or-random-forest/

Si noti nell'articolo che parla di calibrazione e si collega a un altro (bel) post sul blog a riguardo. Tuttavia, trovo che il documento Come ottenere le probabilità calibrate dal potenziamento ti dia una migliore comprensione di cosa sia la calibrazione nel contesto dei classificatori potenziati e quali sono i metodi standard per eseguirla.

E infine manca un aspetto (un po 'più teorico). Sia RF che GBM sono metodi ensemble, il che significa che costruisci un classificatore con un gran numero di classificatori più piccoli. Ora la differenza fondamentale sta nel metodo utilizzato:

  1. RF utilizza alberi delle decisioni, che sono molto inclini a un eccesso di adattamento. Al fine di ottenere una maggiore precisione, RF decide di crearne un gran numero in base al bagging . L'idea di base è ricampionare ripetutamente i dati e per ogni treno di esempio un nuovo classificatore. Classificatori diversi sovrappongono i dati in un modo diverso e attraverso la votazione di tali differenze viene calcolata la media.
  2. GBM è un metodo di potenziamento, che si basa su classificatori deboli . L'idea è di aggiungere un classificatore alla volta, in modo che il classificatore successivo sia addestrato per migliorare l'insieme già addestrato. Notare che per RF ogni iterazione il classificatore viene addestrato indipendentemente dal resto.

3
Sarebbe una giusta conclusione dalla tua risposta che la RF si adatta a più di GBM?
8forty,

4
@ 8forty Non vorrei trarre questa conclusione - mentre un singolo albero in RF si adatta a più di un singolo albero in GBM (perché questi sono molto più piccoli), in RF questi si adattano in media quando impiegano molti alberi, mentre in GBM più alberi aggiungi, maggiore è il rischio di overfitting. In breve, poiché N (numero di alberi utilizzati) va all'infinito, mi aspetto che RF si adatti troppo meno di GBM
Ant
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.