Apprendimento Ensemble con Scikit-Learn Un’introduzione amichevole

Introduzione all'Apprendimento Ensemble con Scikit-Learn

Gli algoritmi di apprendimento ensemble come XGBoost o Random Forest sono tra i modelli più performanti nelle competizioni Kaggle. Come funzionano?

Fonte: unsplash.com

Gli algoritmi di apprendimento fondamentali come la regressione logistica o la regressione lineare sono spesso troppo semplici per ottenere risultati adeguati per un problema di apprendimento automatico. Mentre una possibile soluzione è utilizzare le reti neurali, queste richiedono una vasta quantità di dati di addestramento, che sono raramente disponibili. Le tecniche di apprendimento ensemble possono migliorare le prestazioni di modelli semplici anche con una quantità limitata di dati.

Immagina di chiedere a una persona di indovinare quanti chicchi di gelatina ci sono all’interno di un grande barattolo. La risposta di una singola persona difficilmente sarà una stima precisa del numero corretto. Invece, se chiediamo la stessa domanda a mille persone, la risposta media sarà probabilmente vicina al numero reale. Questo fenomeno è chiamato saggezza della folla [1]. Nell’affrontare compiti di stima complessi, la folla può essere considerevolmente più precisa di un individuo.

Gli algoritmi di apprendimento ensemble approfittano di questo semplice principio aggregando le previsioni di un gruppo di modelli, come regressori o classificatori. Per una aggregazione di classificatori, il modello ensemble potrebbe semplicemente scegliere la classe più comune tra le previsioni dei classificatori di basso livello. Invece, l’ensemble può utilizzare la media o la mediana di tutte le previsioni per un compito di regressione.

Immagine dell'autore.

Aggregando un gran numero di modelli deboli, ovvero classificatori o regressori che sono solo leggermente migliori dell’indovinare a caso, possiamo ottenere risultati impensabili. Considera un compito di classificazione binaria. Aggregando 1000 classificatori indipendenti con un’accuratezza individuale del 51%, possiamo creare un ensemble che raggiunge un’accuratezza del 75% [2].

Questo è il motivo per cui gli algoritmi ensemble sono spesso le soluzioni vincenti in molte competizioni di apprendimento automatico!

Esistono diverse tecniche per costruire un algoritmo di apprendimento ensemble. Le principali sono bagging, boosting e stacking. Nel seguito…