Bagging(Bootstrap Aggregating)

[bègging]

Tecnica di ensemble dove addestri lo stesso modello su sottocampioni casuali e fai media. Random Forest è il caso più famoso.

Il bagging (Bootstrap Aggregating) è una tecnica di ensemble classica. Funziona così:

  • Crei N sottocampioni del dataset, ognuno con campionamento bootstrap (con reinserimento, stessa dimensione dell'originale).
  • Addestri lo stesso tipo di modello su ogni sottocampione.
  • Per la previsione, fai media (regressione) o voting (classificazione) tra gli N modelli.

Effetto: riduce la varianza del modello finale. Se i singoli modelli sono "instabili" (cambiano molto su piccole variazioni dei dati, tipico degli alberi di decisione), il bagging stabilizza.

Esempio classico: Random Forest. Bagging di alberi di decisione, con un trucco aggiuntivo: a ogni nodo dell'albero, considera solo un sottoinsieme casuale delle feature. Riduce la correlazione tra alberi, l'ensemble è più forte.

Vantaggi del Random Forest:

  • Robusto a outlier e missing data.
  • Pochi iperparametri da regolare.
  • Funziona out-of-the-box su dati tabulari.
  • Dà importanza delle feature gratis.
  • Parallelizzabile (gli alberi sono indipendenti).

Svantaggi:

  • Tipicamente perde contro boosting (XGBoost, LightGBM) per pochi punti.
  • Memoria: tiene N alberi in memoria.
  • Inferenza: passi per N alberi.

Quando usare bagging vs boosting:

  • Random Forest: quando vuoi un baseline forte e poco da configurare. Ottimo per esplorare un problema nuovo.
  • Boosting: quando vuoi prestazioni massime e sei disposto a regolare iperparametri.

Storia: bagging è del 1996 (Breiman), Random Forest del 2001 (sempre Breiman). Tecniche vecchie che ancora funzionano benissimo per dati tabulari, dove il deep learning non sempre vince.