Foreste casuali
Una foresta casuale (RF) è un insieme di alberi decisionali in cui ogni albero decisionale viene addestrato con un rumore casuale specifico. Le foreste casuali sono la forma più diffusa di ensemble di alberi decisionali. Questo modulo discute diverse tecniche per creare alberi decisionali indipendenti al fine di migliorare le probabilità di creare una foresta casuale efficace.
Saccheggiamento
Per bagging (bootstrap aggregating) si intende l'addestramento di ogni albero decisionale su un sottoinsieme casuale degli esempi nel set di addestramento. In altre parole, ogni albero decisionale nella foresta casuale viene addestrato su un sottoinsieme diverso di esempi.
Il saccheggio è un fenomeno peculiare. Ogni albero decisionale viene addestrato sullo stesso numero di esempi del set di addestramento originale. Ad esempio, se l'insieme di addestramento originale contiene 60 esempi, ogni albero decisionale viene addestrato su 60 esempi. Tuttavia, il bagging addestra ogni albero decisionale solo su un sottoinsieme (in genere il 67%) di questi esempi. Pertanto, alcuni di questi 40 esempi nel sottoinsieme devono essere riutilizzati durante l'addestramento di un determinato albero decisionale. Questo riutilizzo è chiamato addestramento "con sostituzione".
Ad esempio, la Tabella 6 mostra come il bagging potrebbe distribuire sei esempi su tre alberi decisionali. Tieni presente quanto segue:
- Ogni albero decisionale viene addestrato su un totale di sei esempi.
- Ogni albero decisionale viene addestrato su un insieme diverso di esempi.
- Ogni albero decisionale riutilizza determinati esempi. Ad esempio, l'esempio 4 viene utilizzato due volte nell'addestramento dell'albero decisionale 1. Pertanto, il peso appreso dell'esempio 4 viene effettivamente raddoppiato nell'albero decisionale 1.
Tabella 6. Raggruppamento di sei esempi di addestramento in tre alberi decisionali. Ogni numero rappresenta il numero di volte in cui un determinato esempio di addestramento (#1-6) viene ripetuto nel set di dati di addestramento di un determinato albero decisionale (1-3).
esempi di addestramento | ||||||
---|---|---|---|---|---|---|
#1 | #2 | #3 | #4 | #5 | #6 | |
set di dati originale | 1 | 1 | 1 | 1 | 1 | 1 |
albero decisionale 1 | 1 | 1 | 0 | 2 | 1 | 1 |
albero decisionale 2 | 3 | 0 | 1 | 0 | 2 | 0 |
albero decisionale 3 | 0 | 1 | 3 | 1 | 0 | 1 |
Nel bagging, ogni albero decisionale viene quasi sempre addestrato sul numero totale di esempi nel set di addestramento originale. L'addestramento di ogni albero decisionale su più o meno esempi tende a peggiorare la qualità della foresta casuale.
Sebbene non sia presente nel documento originale sulla foresta random, il sampling degli esempi a volte viene eseguito "senza sostituzione"; ovvero, un esempio di addestramento non può essere presente più di una volta in un insieme di addestramento di albero decisionale. Ad esempio, nella tabella precedente tutti i valori sono 0 o 1.
bootstrap_training_dataset=False
Campionamento degli attributi
Il campionamento degli attributi significa che, anziché cercare la condizione migliore tra tutte le funzionalità disponibili, in ogni nodo viene testato solo un sottoinsieme casuale di funzionalità. L'insieme di funzionalità testate viene campionato in modo casuale in ogni nodo dell'albero decisionale.
La seguente struttura ad albero decisionale illustra il campionamento degli attributi / delle funzionalità. Qui un albero decisionale viene addestrato su 5 elementi (f1-f5). I nodi blu rappresentano le funzionalità testate, mentre quelli bianchi non sono stati testati. La condizione viene creata dalle funzionalità meglio testate (rappresentate con un contorno rosso).
Figura 21. Campionamento degli attributi.
Il rapporto tra il campionamento degli attributi è un iperparametro di regolarizzazione importante. La figura precedente utilizzava un'inquadratura con proporzioni di circa ⅗. Molte implementazioni di foreste casuali testano, per impostazione predefinita, 1/3 delle caratteristiche per la regressione e la radice quadrata del numero di caratteristiche per la classificazione.
In TF-DF, i seguenti iperparametri controllano il campionamento degli attributi:
num_candidate_attributes
num_candidate_attributes_ratio
Ad esempio, se num_candidate_attributes_ratio=0.5
, metà delle funzionalità verrà testata su ogni nodo.
Disattivazione della regolarizzazione dell'albero decisionale
Le singole strutture ad albero di decisione in una foresta casuale vengono addestrate senza potatura. (vedi Overfitting e potatura). Ciò genera alberi eccessivamente complessi con una scarsa qualità predittiva. Anziché regolarizzare i singoli alberi, questi vengono raggruppati in modo da produrre previsioni complessive più accurate.
Prevediamo che l'accuratezza di addestramento e test di una foresta casuale sia diversa. La precisione di addestramento di una foresta casuale è generalmente molto più elevata (a volte uguale al 100%). Tuttavia, un'accuratezza di addestramento molto elevata in una foresta casuale è normale e non indica che la foresta casuale è sovraadattata.
Le due fonti di casualità (bagging e campionamento degli attributi) garantiscono l'indipendenza relativa tra gli alberi decisionali. Questa indipendenza corregge il sovraadattamento dei singoli alberi decisionali. Di conseguenza, l'ensemble non è sovraadattato. Illustreremo questo effetto non intuitivo nella prossima unità.
Le foreste casuali pure vengono addestrate senza profondità massima o numero minimo di osservazioni per riga. In pratica, è consigliabile limitare la profondità massima e il numero minimo di osservazioni per albero. Per impostazione predefinita, molti foreste casuali utilizzano i seguenti valori predefiniti:
- Profondità massima di circa 16
- Numero minimo di osservazioni per foglia di circa 5.
Puoi ottimizzare questi iperparametri.
La chiarezza del rumore
Perché il rumore casuale migliorerebbe la qualità di una foresta casuale? Per illustrare i vantaggi del rumore casuale, la Figura 22 mostra le previsioni di un albero decisionale classico (potato) e di una foresta casuale addestrata su alcuni esempi di problemi bidimensionali semplici con un pattern ellittico.
I pattern ellittici sono notoriamente difficili da apprendere per gli algoritmi di albero decisionale e foresta decisionale con condizioni allineate all'asse, quindi sono un buon esempio. Tieni presente che l'albero decisionale potato non può ottenere la stessa qualità di predizione della foresta casuale.
Figura 22. Dati empirici reali rispetto alle previsioni generate da un singolo albero decisionale sfrondato e alle previsioni generate da una foresta casuale.
Il grafico successivo mostra le previsioni dei primi tre alberi decisionali non potati della foresta casuale, ovvero gli alberi decisionali sono tutti addestrati con una combinazione di:
- bagging
- Campionamento degli attributi
- disattivazione del pruning
Tieni presente che le singole previsioni di questi tre alberi decisionali sono peggiori delle previsioni dell'albero decisionale potato nella figura precedente. Tuttavia, poiché gli errori dei singoli alberi decisionali sono solo debolmente correlati, i tre alberi decisionali si combinano in un insieme per creare previsioni efficaci.
Figura 23. Tre alberi decisionali non potati che costruiranno un ensemble efficace.
Poiché gli alberi decisionali di una foresta casuale non vengono potati, l'addestramento di una foresta casuale non richiede un set di dati di convalida. In pratica, e in particolare su piccoli set di dati, i modelli devono essere addestrati su tutti i dati disponibili.
Durante l'addestramento di una foresta casuale, man mano che vengono aggiunte altre strutture ad albero decisionali, l'errore si riduce quasi sempre; in altre parole, la qualità del modello si migliora quasi sempre. Sì, l'aggiunta di altre strutture ad albero di decisione riduce quasi sempre l'errore della foresta casuale. In altre parole, l'aggiunta di altri alberi decisionali non può causare un adattamento eccessivo della foresta casuale. A un certo punto, il modello smette di migliorare. Leo Breiman ha affermato che "le foreste casuali non presentano sovraadattamento, man mano che vengono aggiunti più alberi".
Ad esempio, il seguente grafico mostra la valutazione del test di un modello di foresta aleatoria man mano che vengono aggiunti più alberi decisionali. L'accuratezza migliora rapidamente fino a raggiungere un plateau intorno a 0,865. Tuttavia, l'aggiunta di altre strutture ad albero decisionale non comporta una diminuzione dell'accuratezza; in altre parole,il modello non presenta un'overfitting. Questo comportamento è (quasi) sempre vero e indipendente dagli iperparametri.
Figura 24. La precisione rimane costante man mano che vengono aggiunti altri alberi decisionali alla foresta aleatoria.