Un'introduzione al bagging nell'apprendimento automatico
Quando la relazione tra un insieme di variabili predittive e una variabile di risposta è lineare, possiamo utilizzare metodi come la regressione lineare multipla per modellare la relazione tra le variabili.
Tuttavia, quando il rapporto è più complesso, spesso dobbiamo ricorrere a metodi non lineari.
Uno di questi metodi sono gli alberi di classificazione e regressione (spesso abbreviati CART), che utilizzano un insieme di variabili predittive per creare alberi decisionali che prevedono il valore di una variabile di risposta.
Tuttavia, lo svantaggio dei modelli CART è che tendono a soffrire di una varianza elevata . Cioè, se dividiamo un set di dati in due metà e applichiamo un albero decisionale a entrambe le metà, i risultati potrebbero essere molto diversi.
Un metodo che possiamo utilizzare per ridurre la varianza dei modelli CART è noto come bagging , a volte chiamato aggregazione bootstrap .
Cos’è l’insaccamento?
Quando creiamo un singolo albero decisionale, utilizziamo solo un set di dati di addestramento per costruire il modello.
Tuttavia, l’insaccamento utilizza il seguente metodo:
1. Prendi b campioni bootstrap dal set di dati originale.
- Ricordiamo che un campione sottoposto a bootstrap è un campione del set di dati originale in cui le osservazioni vengono effettuate con sostituzione.
2. Creare un albero decisionale per ciascun campione di bootstrap.
3. Media delle previsioni di ciascun albero per ottenere un modello finale.
- Per gli alberi di regressione, prendiamo la media della previsione fatta dagli alberi B.
- Per gli alberi di classificazione, prendiamo la previsione più comune fatta dai B -tree.
Il bagging può essere utilizzato con qualsiasi algoritmo di machine learning, ma è particolarmente utile per gli alberi decisionali perché hanno intrinsecamente un’elevata varianza e il bagging è in grado di ridurre significativamente la varianza, con conseguente riduzione degli errori di test.
Per applicare il bagging agli alberi decisionali, coltiviamo i singoli alberi in profondità senza potarli. Ciò si traduce in singoli alberi con varianza elevata, ma distorsione bassa. Quindi, quando prendiamo le previsioni medie da questi alberi, siamo in grado di ridurre la varianza.
In pratica, le prestazioni ottimali si ottengono generalmente con 50-500 alberi, ma è possibile adattare migliaia di alberi per produrre un modello finale.
Tieni presente che l’inserimento di più alberi richiederà una maggiore potenza di calcolo, il che potrebbe o meno costituire un problema a seconda delle dimensioni del set di dati.
Stima degli errori di out-of-bag
Risulta che possiamo calcolare l’errore di testing di un modello imballato senza fare affidamento sulla convalida incrociata k-fold .
Il motivo è che è possibile dimostrare che ciascun campione bootstrap contiene circa 2/3 delle osservazioni del set di dati originale. Il restante terzo delle osservazioni non utilizzate per adattare l’albero inscatolato è chiamato osservazioni out-of-bag (OOB) .
Possiamo prevedere il valore dell’i-esima osservazione nel set di dati originale prendendo la previsione media da ciascuno degli alberi in cui l’osservazione era OOB.
Possiamo utilizzare questo approccio per fare una previsione per tutte le n osservazioni nel set di dati originale e quindi calcolare un tasso di errore, che è una stima valida dell’errore del test.
Il vantaggio di utilizzare questo approccio per stimare l’errore del test è che è molto più veloce della convalida incrociata k-fold, soprattutto quando il set di dati è di grandi dimensioni.
Comprendere l’importanza dei predittori
Ricorda che uno dei vantaggi degli alberi decisionali è che sono facili da interpretare e visualizzare.
Quando invece utilizziamo il bagging, non siamo più in grado di interpretare o visualizzare un singolo albero poiché il modello finale con bagging è il risultato della media di molti alberi diversi. Otteniamo accuratezza della previsione a scapito dell’interpretabilità.
Tuttavia, possiamo ancora comprendere l’importanza di ciascuna variabile predittrice calcolando la riduzione totale dell’RSS (somma residua dei quadrati) dovuta alla distribuzione su un dato predittore, mediata su tutti i B- tree. Maggiore è il valore, maggiore è l’importanza del predittore.
Allo stesso modo, per i modelli di classificazione, possiamo calcolare la riduzione totale dell’indice di Gini dovuta alla distribuzione su un dato predittore, mediata su tutti gli alberi B. Maggiore è il valore, più importante è il predittore.
Quindi, anche se non possiamo interpretare esattamente un modello complessivo finale, possiamo comunque avere un’idea di quanto sia importante ciascuna variabile predittiva quando si prevede la risposta.
Vai oltre l’insaccamento
Il vantaggio del bagging è che generalmente fornisce un miglioramento nel tasso di errore del test rispetto a un singolo albero decisionale.
Lo svantaggio è che le previsioni derivanti dalla raccolta di alberi in sacchi possono essere altamente correlate se nel set di dati è presente un predittore molto forte.
In questo caso, la maggior parte o tutti gli alberi inseriti utilizzeranno questo predittore per la prima suddivisione, risultando in alberi simili tra loro e con previsioni altamente correlate.
Un modo per aggirare questo problema è utilizzare foreste casuali, che utilizzano un metodo simile al bagging ma sono in grado di produrre alberi decorati, il che spesso porta a tassi di errore dei test inferiori.
Puoi leggere una semplice introduzione alle foreste casuali qui .
Risorse addizionali
Un’introduzione alla classificazione e agli alberi di regressione
Come eseguire l’insaccamento in R (passo dopo passo)