Il bagging, abbreviazione di bootstrap aggregating, è una tecnica ensemble che costruisce molti modelli dello stesso tipo su campioni bootstrap del dataset e ne combina le predizioni. L’obiettivo principale è ridurre la varianza del modello finale senza aumentare troppo il bias.
È particolarmente efficace con modelli instabili, cioè modelli che cambiano molto quando il campione di addestramento viene leggermente perturbato. Gli alberi di decisione profondi sono l’esempio classico: hanno bassa distorsione, ma alta variabilità.
Campioni bootstrap
Dato un dataset di addestramento
il bagging genera B campioni bootstrap
estraendo ogni volta n osservazioni con reinserimento. Alcune osservazioni compaiono più volte nello stesso campione, altre restano fuori. Su ciascun campione si addestra un modello base:
Questa procedura crea predittori diversi pur usando lo stesso algoritmo di apprendimento.
Aggregazione delle predizioni
In regressione, la predizione finale è la media:
In classificazione si usa spesso il voto di maggioranza:
Quando i modelli producono probabilità, si possono mediare le probabilità previste e poi applicare una soglia. Questo è utile quando si vuole analizzare anche la calibrazione delle probabilità, non solo l’accuratezza delle classi finali.
Riduzione della varianza
Se i modelli base hanno varianza \sigma^2 e correlazione media \rho, la varianza della media ensemble è, in forma qualitativa,
La formula mostra due fatti importanti: aumentare B riduce la componente non correlata, ma la componente dovuta alla correlazione tra modelli resta. Per questo il bagging funziona bene quando i modelli base sono diversi tra loro; se tutti fanno quasi la stessa previsione, la media porta poco vantaggio.
Le random forest aggiungono un ulteriore meccanismo di casualità: a ogni split dell’albero considerano solo un sottoinsieme casuale delle feature. Questo riduce la correlazione tra alberi e può migliorare la prestazione rispetto al bagging puro di alberi.
Out-of-bag
Poiché ogni campione bootstrap lascia fuori una parte delle osservazioni, si può stimare l’errore usando le osservazioni out-of-bag. Per una data osservazione (x_i,y_i) si considerano solo i modelli addestrati su campioni che non contenevano quell’osservazione, e si aggregano le loro predizioni.
Questa stima è utile perché fornisce una validazione interna senza costruire esplicitamente un validation set separato. Non sostituisce sempre una validazione finale indipendente, ma è molto pratica nello sviluppo del modello.
Rapporto con bias e varianza
Nel bias-variance tradeoff, il bagging agisce soprattutto sulla varianza. Non trasforma un modello fortemente distorto in un modello corretto: se il modello base è troppo semplice, mediare molte copie non elimina il bias strutturale.
Per questo il bagging è meno utile con modelli già stabili, come regressioni lineari poco variabili, e molto più utile con alberi profondi, modelli a soglia o procedure sensibili al campione.
Errori comuni
Il primo errore è pensare che il bagging migliori sempre qualunque algoritmo: se i modelli base sono troppo correlati o troppo distorti, il guadagno può essere modesto. Il secondo è usare pochi modelli e interpretare l’ensemble come stabilizzato: spesso servono decine o centinaia di componenti. Il terzo è confondere bagging e boosting: il bagging addestra modelli in parallelo su campioni diversi, mentre il boosting costruisce l’ensemble in modo sequenziale correggendo gli errori residui.
Per esercizi su soglie, classificazione e metriche si veda anche classificazione e metriche: esercizi svolti.