RANDOM FOREST Flashcards
Cosa sono le Random forest?
Le random forest sono un insieme di alberi di decisione, per migliorare le previsioni rispetto ad un singolo predittore. (tecnica di ensable learning) si può allenare un gruppo di predittori ognuno su un differente sottoinsieme di training set. Ci sono 2 tecniche per la previsione finale:
- Hard voting: si basa sulla maggioranza delle classificazioni di ogni predittore
- Soft voting: si effettua una media pesata tra le classificazioni di ogni predittore
In questo modo anche un predittore debole può contribuire alla costruzione di un ensamble forte. Questo però solo se i classificatori sono indipendenti tra loro, in modo che facciano errori non correlati, cosa però non vera se allenati sullo stesso training set.
Bagging e Pasting
tecniche di ensemble learning utilizzate per migliorare le prestazioni dei modelli predittivi aggregando insieme più modelli di base.
Cosideriamo il caso in cui utilzziamo lo stesso algoritmo di training per ogni predittore, ma ognuno di essi utilizza un sotto insieme del training scelto in modo casuale. La scelta di questo campione può essere fatta con sostituzione, cioè possiamo usare le stesse istanze più volte(bagging). Oppure senza sostituzione(PASTING). Uno dei vantaggi è che possiamo allenare contemporaneamente i predittori.
Bagging produce bias più alto del pasting, in generale bagging è migliore.
Quando si effettua il training una parte delle istanze non viene considerata(out-of-bag). Quindi possiamo usare queste istanze nel processo di validazione.
Extra Trees
Algoritmo per costruire un albero di decisione, cerca il miglior attributo per lo splitting in un insieme casuale di attributi. Il vanatggio è che allenare è molto più veloce. Si ottiene un bias più alto rispetto ad una varianza più bassa.
Boosting
algoritmi di apprendimento automatico utilizzati per migliorare le prestazioni dei modelli predittivi
I metodi più importanti sono:
- ADABOOST
- GRADIENT BOOSTING
AdaBoost
Un nuovo predittore corregge il suo predecessore prestando più attenzione alle istanze di training per le quali il predecessore ha avuto un underfitting. Cioè aumenta i pesi delle istanze erroneamente classificate in modo iterativo.
1. Viene allenato un classificatore base per fare previsione sul training set
2. Il peso relativo alle istanze erroneamente classificate viene aumentato
3. Un secondo classificatore vien allenato utilizzando i pesi aggiornati e fa di nuovo previsioni, i pesi vengono aggiornati e così via
Gradient Boosting
Cerca di adattare un nuove predittore agli errori residui commessi dal precedente.
Se il learing rate settato basso ha bisogno di più alberi di decisione per adattarsi alle istanze di training. Per trovare il numero migliore di alberi è possibile usare l’early stopping.
1. Viene allenato un classificatore debole sul training set
2. Vengono calcolati gli errori residui del primo modello
3. Viene allenato un secondo classificatore su gli errori residui del primo, questo processo viene ripetuto.
Stacking
Invece di effettuare un calcolo sugli output dei singoli predittori, si utilizza un predittore finale, blender, che prende in input le predizioni ed effettua una previsione finale. Vengono addestrati diversi modelli su diverse partizioni del training set, vengono fatte le previsioni e il risultato delle previsioni di questi modelli vengono usati come training set per il blender che effettuerà la previsione finale. Riduzione rischio overfitting, felssibilità.