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 alberi decisionali. In questa unità vengono illustrate diverse tecniche per creare alberi decisionali indipendenti al fine di migliorare le probabilità di creare una foresta casuale efficace.

Insaccamento

Bagging (bootstrap aggregating) significa addestrare ciascun albero decisionale su un sottoinsieme casuale di esempi nel set di addestramento. In altre parole, ogni albero decisionale nella foresta casuale viene addestrato su un sottoinsieme diverso di esempi.

L'imballaggio è strano. Ogni albero decisionale viene addestrato sullo stesso numero di esempi del set di addestramento originale. Ad esempio, se il set 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 l'allocazione di elementi 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 sulla base di un diverso insieme di esempi.
  • Ogni albero decisionale riutilizza determinati esempi. Ad esempio, l'esempio n. 4 viene utilizzato due volte nell'albero decisionale 1 dell'addestramento; pertanto, il peso appreso dell'esempio n. 4 viene effettivamente raddoppiato nell'albero decisionale 1.

Tabella 6. Imballando sei esempi di addestramento su tre alberi decisionali. Ogni numero rappresenta il numero di volte in cui un dato esempio di addestramento (n. 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ù esempi o meno esempi tende a peggiorare la qualità della foresta casuale.

Sebbene non sia presente nel documento forestale casuale originale, il campionamento degli esempi a volte viene eseguito "senza sostituzione". In altre parole, un esempio di addestramento non può essere presente più di una volta in un set di addestramento di un albero decisionale. Ad esempio, nella tabella precedente, tutti i valori sono 0 o 1.

Codice YDF
Puoi attivare l'addestramento senza sostituzione con la seguente assegnazione in YDF: bootstrap_training_dataset=False

Campionamento degli attributi

Con il campionamento degli attributi, invece di cercare la condizione migliore rispetto a tutte le funzionalità disponibili, viene testato solo un sottoinsieme casuale di funzionalità per ogni nodo. L'insieme di caratteristiche testate viene campionato in modo casuale in corrispondenza di ciascun nodo dell'albero decisionale.

Il seguente albero decisionale illustra il campionamento di attributi / funzionalità. In questo caso, un albero decisionale è addestrato su 5 caratteristiche (f1-f5). I nodi blu rappresentano le caratteristiche testate, mentre i nodi bianchi non lo sono. La condizione è costituita dalle funzionalità meglio testate (rappresentate con un contorno rosso).

Tre nodi, ognuno dei quali mostra cinque caratteristiche. Il nodo radice e uno dei suoi nodi
secondari testano tre delle cinque caratteristiche. L'altro nodo figlio testa
due delle cinque caratteristiche.

Figura 21. Campionamento degli attributi.

 

Il rapporto di campionamento degli attributi è un importante iperparametro di regolarizzazione. Nella figura precedente era utilizzato un rapporto di circa 3⁄5. Molte implementazioni casuali di foreste testano, per impostazione predefinita, 1/3 delle caratteristiche per la regressione e mq(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 verrà testata metà delle funzionalità su ciascun nodo.

Disabilitazione della regolarizzazione dell'albero decisionale in corso...

I singoli alberi decisionali in una foresta casuale vengono addestrati senza potatura. (consulta Overfitting ed eliminazione dei dati). Ciò produce alberi troppo complessi con scarsa qualità predittiva. Invece di regolarizzare i singoli alberi, gli alberi vengono messi insieme producendo previsioni generali più accurate.

expect che l'addestramento e l'accuratezza del test di una foresta casuale siano diversi. La precisione dell'addestramento di una foresta casuale è generalmente molto più elevata (a volte pari al 100%). Tuttavia, un'accuratezza molto elevata dell'addestramento in una foresta casuale è normale e non indica che la foresta casuale è troppo adattata.

Le due fonti di casualità (insaccamento e campionamento degli attributi) garantiscono l'indipendenza relativa tra gli alberi decisionali. Questa indipendenza corregge l'overfitting dei singoli alberi decisionali. Di conseguenza, il completo non è troppo allenato. Nella prossima unità illustreremo questo effetto non intuitivo.

Addestramento di foreste pure casuali senza profondità massima o numero minimo di osservazioni per foglia. In pratica, è utile limitare la profondità massima e il numero minimo di osservazioni per foglia. Per impostazione predefinita, molte foreste casuali utilizzano i seguenti valori predefiniti:

  • profondità massima di ~16
  • numero minimo di osservazioni per foglia di ~5.

Puoi ottimizzare questi iperparametri.

Codice YDF
Il sintonizzatore di YDF è un modo semplice per ottimizzare gli iperparametri. Per ulteriori dettagli, consulta il tutorial di ottimizzazione di YDF.

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 (eliminato) e di una foresta casuale addestrato su alcuni esempi di semplici problemi bidimensionali con un modello a ellisse.

I pattern delle ellissi sono notoriamente difficili da imparare per gli algoritmi dell'albero decisionale e della foresta decisionale con condizioni allineate all'asse, quindi rappresentano un buon esempio. Tieni presente che l'albero decisionale eliminato non può ottenere la stessa qualità di previsione della foresta casuale.

Tre illustrazioni. La prima illustrazione, Ground Truth, è un'ellisse perfetta. La seconda illustrazione, con l'etichetta Albero decisionale
potabile, si trova a metà tra un'ellisse e un rettangolo. Una terza illustrazione, denominata Foresta casuale, non è un'ellisse ma è molto più simile a un'ellisse rispetto all'illustrazione dell'albero della decisione potata.

Figura 22. Dati empirici reali rispetto alle previsioni generate da un singolo albero decisionale eliminato e alle previsioni generate da una foresta casuale.

Il grafico successivo mostra le previsioni dei primi tre alberi decisionali non potati della foresta casuale; in altre parole, gli alberi decisionali sono tutti addestrati con una combinazione di:

  • insaccamento
  • campionamento degli attributi
  • disattivazione dell'eliminazione

Nota che le previsioni individuali 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.

Tre ellissi molto rumorose.

Figura 23. Tre alberi decisionali non potati che creeranno un insieme 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. Nella pratica, e soprattutto su set di dati di dimensioni ridotte, i modelli devono essere addestrati su tutti i dati disponibili.

Durante l'addestramento di una foresta casuale, man mano che vengono aggiunti più alberi decisionali, l'errore diminuisce quasi sempre, il che significa che la qualità del modello migliora quasi sempre. Sì, l'aggiunta di altri alberi decisionali riduce quasi sempre l'errore della foresta casuale. In altre parole, l'aggiunta di altri alberi decisionali non può causare un sovradimensionamento. A un certo punto, il modello smette di migliorare. Leo Breiman ha affermato: "Le foreste casuali non si sovradimensionano, poiché vengono aggiunti altri alberi.

Ad esempio, il seguente grafico mostra la valutazione del test di un modello di foresta casuale man mano che vengono aggiunti più alberi decisionali. La precisione migliora rapidamente fino a raggiungere un valore di 0,865. Tuttavia, l'aggiunta di più alberi decisionali non riduce l'accuratezza; in altre parole,il modello non si adatta in modo eccessivo. Questo comportamento è (per lo più) sempre vero e indipendente dagli iperparametri.

Un grafico relativo all'accuratezza e al numero di alberi decisionali descritti nel paragrafo precedente.

Figura 24. L'accuratezza rimane costante man mano che vengono aggiunti più alberi decisionali alla foresta casuale.