Boosting

Indice dei contenuti

    Il boosting è una tecnica ensemble che costruisce un modello forte combinando molti modelli deboli addestrati in sequenza. A differenza del bagging, che addestra modelli quasi indipendenti e poi li media, il boosting aggiunge ogni nuovo componente per correggere gli errori residui dei componenti precedenti.

    In forma generale, un modello boosting additivo può essere scritto come

    F_M(x)=\sum_{m=1}^{M}\alpha_m h_m(x),

    dove h_m sono modelli base e \alpha_m sono pesi o coefficienti di contributo.

    Modelli deboli

    Un modello debole è un predittore appena migliore del caso o comunque limitato nella capacità. Nel boosting moderno, spesso si usano alberi decisionali poco profondi. Ogni albero da solo è semplice; la somma di molti alberi costruiti sequenzialmente può rappresentare relazioni complesse.

    L’idea è che errori diversi vengano corretti passo dopo passo. Se un modello sbaglia certe osservazioni, il modello successivo dedica più attenzione a quelle osservazioni o ai residui che esse producono.

    AdaBoost

    AdaBoost nasce per classificazione binaria. A ogni iterazione assegna pesi maggiori agli esempi classificati male e pesi minori a quelli classificati correttamente. Il modello successivo viene quindi spinto a concentrarsi sugli errori precedenti.

    La predizione finale ha forma

    F(x)=\operatorname{sign} \left( \sum_{m=1}^{M}\alpha_m h_m(x) \right).

    I coefficienti \alpha_m danno più peso ai classificatori base più affidabili. Il meccanismo è efficace, ma può essere sensibile a etichette rumorose: esempi sbagliati o anomali possono ricevere peso crescente.

    Gradient boosting

    Nel gradient boosting, l’ensemble viene interpretato come una discesa del gradiente nello spazio delle funzioni. A ogni passo si aggiunge un modello base che approssima la direzione di massimo miglioramento della funzione di perdita.

    Se L(y,F(x)) è la loss, si calcolano pseudo-residui del tipo

    r_i^{(m)} = - \left[ \dfrac{\partial L(y_i,F(x_i))} {\partial F(x_i)} \right]_{F=F_{m-1}}.

    Il nuovo modello h_m viene addestrato per approssimare questi pseudo-residui. Poi l’ensemble viene aggiornato:

    F_m(x)=F_{m-1}(x)+\eta h_m(x),

    dove \eta è il learning rate.

    Parametri cruciali

    Le prestazioni del boosting dipendono molto da:

    • numero di iterazioni M;
    • learning rate \eta;
    • profondità e complessità dei modelli base;
    • sottocampionamento di righe o colonne;
    • regolarizzazione;
    • criterio di early stopping.

    Un learning rate piccolo richiede più iterazioni ma tende a migliorare la generalizzazione. Alberi troppo profondi possono catturare interazioni complesse ma aumentano il rischio di overfitting.

    Bagging e boosting

    Bagging e boosting riducono errori diversi. Il bagging riduce soprattutto la varianza di modelli instabili, mediando predittori addestrati su campioni bootstrap. Il boosting riduce progressivamente bias e residui, costruendo un modello additivo orientato alla loss.

    Per questo il bagging è naturalmente parallelo, mentre il boosting è sequenziale: il modello m dipende dai risultati del modello m-1.

    Uso operativo

    Il boosting è molto usato su dati tabellari, ranking, scoring di rischio, classificazione e regressione. Algoritmi come gradient boosting, XGBoost, LightGBM e CatBoost sono diventati strumenti standard in molte applicazioni industriali.

    In classificazione probabilistica, però, accuratezza e ranking non bastano: è opportuno controllare anche calibrazione, curva ROC e metriche legate al costo degli errori.

    Errori comuni

    Il primo errore è aumentare il numero di iterazioni senza validazione: il training error tende a scendere, ma la generalizzazione può peggiorare. Il secondo è usare alberi base troppo complessi, trasformando il boosting in un ensemble difficile da controllare. Il terzo è trascurare dati rumorosi o outlier: il meccanismo sequenziale può concentrarsi proprio sui casi problematici. Il quarto è confrontare boosting e rete neurale solo sull’accuratezza, senza considerare interpretabilità, costo di inferenza, calibrazione e manutenzione.

    Per esercizi su classificazione e metriche si veda classificazione e metriche: esercizi svolti.

    Ultimo aggiornamento: