Data for Breakfast arriva in Italia

Il 19 marzo scopri come fare la differenza con i dati e gli agenti AI.

Che cos’è il gradient boosting?

Il gradient boosting è una tecnica di machine learning (ML) utilizzata per attività di regressione e classificazione in grado di migliorare la velocità e l'accuratezza predittiva dei modelli ML. 

  • Presentazione
  • Informazioni sul gradient boosting
  • Altri modelli di boosting
  • Vantaggi degli alberi decisionali con gradient boosting
  • Il gradient boosting in azione
  • Risorse

Presentazione

Il gradient boosting è un algoritmo di machine learning (ML) utilizzato per attività di regressione e classificazione. Ha acquisito popolarità per la sua capacità di gestire relazioni complesse nei dati e proteggere dall’overfitting. Adottando questa tecnica, i data scientist possono migliorare l’accuratezza predittiva e la velocità dei modelli ML. In questo articolo scoprirai cos'è il gradient boosting, come condividere i vantaggi di questa tecnica e tre casi d'uso comuni.

Informazioni sul gradient boosting

Il gradient boosting è una tecnica di machine learning che riunisce diversi modelli deboli in un unico modello predittivo più accurato ed efficiente. Solitamente, questi modelli deboli sono alberi decisionali, per questo gli algoritmi sono comunemente chiamati alberi decisionali con gradiente potenziato (GBDT). Gli algoritmi di gradient boosting funzionano in modo iterativo aggiungendo nuovi modelli in modo sequenziale, dove ogni nuova aggiunta mira a risolvere gli errori commessi dai precedenti. La previsione finale dell’aggregato rappresenta la somma delle singole previsioni di tutti i modelli. Il gradient boosting combina l’algoritmo di discesa del gradiente e il metodo di boosting, e fa riferimento a ciascun componente incluso nel suo nome.

Questo processo di addestramento si fonda su un approccio strength-in-numbers, affinché i data scientist possano ottimizzare funzioni di perdita differenziabile arbitraria. Il gradient boosting viene utilizzato per risolvere complessi problemi di regressione e classificazione. Con la regressione, il risultato finale rappresenta la media di tutti i learner deboli. Quando si lavora con problemi di classificazione, il risultato finale del modello può essere calcolato come la classe con la maggioranza dei voti provenienti da modelli di apprendimento deboli.

Boosting e bagging a confronto

Boosting e bagging sono i due tipi principali di apprendimento d'insieme. Si caratterizzano per l’approccio collettivo, che aggrega un gruppo di learner base per generare previsioni più accurate di quelle che un componente potrebbe fornire da solo. Con i metodi di boosting, i modelli di apprendimento deboli vengono addestrati in successione; ogni singolo modello dà il proprio contributo all’insieme prima che venga introdotto il modello successivo. Le tecniche di bagging addestrano i learner base in tandem.

Casi d’uso

Il gradient boosting assicura un buon equilibrio tra accuratezza, efficienza e scalabilità, pertanto è ampiamente applicato per gli utilizzi descritti di seguito. 

  • Classificazione: previsione di categorie o classi (ad esempio rilevamento di spam e frodi)
  • Regressione: previsione di valori numerici (ad esempio previsione dei prezzi delle azioni, previsioni di vendita). 
  • Classificazione: classificazione di elementi in base alla rilevanza o all’importanza (ad esempio risultati di ricerche, raccomandazioni).

 

Altri modelli di boosting

Altre tecniche di boosting, come AdaBoost e XGBoost, sono anch’esse apprezzati metodi di apprendimento d’insieme. Ecco come funzionano.

XGBoost

XGBoost è un tipo di gradient boosting ulteriormente potenziato progettato per ottimizzare la velocità di calcolo e la scalabilità. Utilizza più core nella CPU per consentire l’apprendimento parallelo durante l’addestramento dei modelli.

AdaBoost

AdaBoost, o boosting adattivo, adatta una successione di learner deboli ai dati. Questi learner deboli sono in genere “ceppi decisionali”, ovvero un albero decisionale con un nodo interno connesso a due nodi terminali. Questa tecnica funziona in modo ricorsivo, identificando i punti dati non classificati correttamente e regolandoli automaticamente per ridurre gli errori di addestramento. AdaBoost ripete questo processo finché non genera il predittore più forte.

I vantaggi di un albero decisionale con gradient boosting

I GBDT sono tra le implementazioni di gradient boosting più diffuse. Utilizzato nella maggior parte dei casi d’uso del gradient boosting, questo approccio presenta vantaggi specifici rispetto ad altre tecniche di modellazione.

Implementazione intuitiva

Gli alberi decisionali con gradient boosting sono relativamente facili da implementare. Molti includono il supporto per gestire funzionalità categoriche, non richiedono pre-elaborazione dei dati e semplificano il processo di gestione dei dati mancanti.

Riduzione dei bias

Nell’ambito del machine learning, il bias è un errore sistematico che può indurre i modelli a fare previsioni inaccurate o non corrette. Gli algoritmi di boosting, compreso il gradient boosting, incorporano in modo sequenziale molteplici learner deboli nel modello predittivo più ampio. Questa tecnica può essere molto efficace nel ridurre i bias, poiché si verificano dei miglioramenti iterativi ogni volta che viene aggiunto un altro learner debole. 

Accuratezza migliorata

Il boosting consente agli alberi decisionali di apprendere in modo sequenziale, inserendo nuovi alberi per compensare gli errori di quelli già inclusi nel modello più grande. Questa sintesi produce previsioni più accurate di quelle che uno qualsiasi dei modelli di learner più deboli potrebbe ottenere da solo. Inoltre, gli alberi decisionali sono in grado di gestire dati sia numerici che categorici, risultando così un’opzione valida per molti problemi. 

Addestramento più rapido su data set di grandi dimensioni

I metodi di boosting danno la precedenza a quelle funzionalità che migliorano l’accuratezza predittiva del modello durante l’addestramento. Questa selettività riduce il numero di attributi dei dati, creando modelli efficienti dal punto di vista computazionale che riescono a gestire facilmente data set di grandi dimensioni. Gli algoritmi di boosting possono anche essere parallelizzati per accelerare ulteriormente il training dei modelli.

Gradient boosting in azione

I modelli di gradient boosting sono utilizzati in un’ampia gamma di attività di modellazione predittiva e ML. Questi algoritmi offrono funzionalità di risoluzione dei problemi ad alte prestazioni e svolgono un ruolo importante in molte applicazioni del mondo reale.

La modellazione predittiva nei servizi finanziari

I modelli di gradient boosting sono molto utilizzati da chi si occupa di servizi finanziari perché supportano efficacemente le decisioni in materia di investimenti e aiutano a fare previsioni. Sono impiegati, ad esempio, per ottimizzare il portafoglio e prevedere i prezzi delle azioni, il rischio creditizio e altri risultati finanziari sulla base di dati storici e indicatori finanziari. 

Analisi in ambito sanitario

Le strutture sanitarie si avvalgono degli algoritmi di gradient boosting per facilitare le decisioni cliniche, come la diagnosi delle malattie. Il gradient boosting migliora anche l’accuratezza predittiva, consentendo agli operatori sanitari di stratificare il rischio e di rivolgersi, ad esempio, a popolazioni di pazienti che potrebbero beneficiare di un intervento specifico.

Analisi del sentiment

Il gradient boosting è utile in molte attività di elaborazione del linguaggio naturale, tra cui l’analisi del sentiment. Questi algoritmi possono elaborare e analizzare rapidamente grandi volumi di dati di testo provenienti da social media, recensioni online, blog, sondaggi ed email dei clienti, aiutando i brand a comprendere il feedback dei clienti e altro ancora.

Crea modelli ML ad alte prestazioni con Snowflake

Snowflake per l’AI fornisce una base potente per creare e distribuire il machine learning con supporto del gradient boosting e molto altro. Con Snowflake ML puoi creare rapidamente funzioni, addestrare modelli e gestirli nell’ambiente di produzione.