Cos'è il boosting?

Cos'è il boosting?

Nel machine learning, il boosting è un metodo di apprendimento d'insieme che combina un insieme di weak learner in uno strong learner per ridurre al minimo gli errori di addestramento. Potenziare gli algoritmi può migliorare il potere predittivo dell'identificazione di immagini, oggetti e caratteristiche, così come dell'analisi del sentiment, del data mining e molto altro.

Nel boosting, viene selezionato un campione casuale di dati, dotato di un modello e quindi addestrato in sequenza, ovvero ogni modello tenta di compensare i punti deboli del suo predecessore. Ad ogni iterazione, le regole deboli di ogni singolo classificatore vengono combinate per formare una regola di predizione forte.

Maggiori informazioni sull'apprendimento d'insieme

L'apprendimento d'insieme dà credito all'idea della "saggezza delle folle", che suggerisce che il processo decisionale di un gruppo più ampio di persone sia in genere migliore di quello di un singolo esperto. Allo stesso modo, l'apprendimento d'insieme si riferisce a un gruppo (o insieme) di base learner, o modelli, che lavorano collettivamente per ottenere una previsione finale migliore. Un singolo modello, noto anche come base o weak learner, potrebbe non funzionare bene singolarmente a causa dell'elevata varianza o dell'elevata distorsione. Tuttavia, quando i weak learner vengono aggregati, possono formare uno strong learner, poiché la loro combinazione riduce distorsioni o varianze, producendo migliori prestazioni del modello.

I metodi d'insieme vengono spesso illustrati utilizzando alberi decisionali, poiché questo algoritmo può essere incline all'overfitting (elevata varianza e bassa distorsione) quando non è stato sottoposto a pruning e può anche prestarsi all'underfitting (bassa varianza e alta distorsione) quando è molto piccolo, come un albero di classificatori, che è un albero decisionale con un solo livello. Ricorda che, quando un algoritmo si adatta eccessivamente o insufficientemente al suo set di dati di addestramento, non riesce a generalizzare bene sui nuovi set di dati. Per questo motivo, vengono utilizzati i metodi d'insieme per contrastare questo comportamento e consentire la generalizzazione del modello a nuovi set di dati. Sebbene i decision trees possano presentare una varianza elevata o un'elevata distorsione, vale la pena notare che non è l'unica tecnica di modellazione che sfrutta l'apprendimento d'insieme per trovare il "punto di forza" all'interno del compromesso distorsione-varianza.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Bagging e boosting a confronto

Il bagging e il boosting sono i due tipi principali di metodi di apprendimento d'insieme. Come evidenziato in questo studio, la differenza principale tra questi metodi di apprendimento è il modo in cui vengono addestrati. Nel bagging, i weak learner vengono addestrati in parallelo, mentre nel boosting l'apprendimento avviene in sequenza. Si costruisce così una serie di modelli e, a ogni nuova iterazione del modello, vengono aumentati i pesi dei dati classificati non correttamente nel modello precedente. Questa ridistribuzione dei pesi aiuta l'algoritmo a individuare i parametri su cui deve concentrarsi per migliorare le prestazioni. AdaBoost, acronimo di "adaptive boosting algorithm", è uno degli algoritmi di boosting più popolari, in quanto è stato uno dei primi del suo genere. Altri tipi di algoritmi di boosting includono XGBoost, GradientBoost e BrownBoost.

Un'altra differenza tra bagging e boosting è il modo in cui vengono utilizzati. Ad esempio, i metodi di bagging vengono solitamente utilizzati sui weak learner che mostrano alta varianza e bassa distorsione, mentre i metodi di boosting vengono utilizzati quando si osservano bassa varianza e alta distorsione. Mentre il bagging può essere utilizzato per evitare l'overfitting, i metodi di boosting possono essere più inclini a questo, anche se in realtà dipende dal set di dati. Tuttavia, l'ottimizzazione dei parametri può aiutare a evitare il problema.

Di conseguenza, il bagging e il boosting presentano anche diverse applicazioni nel mondo reale. Il bagging viene utilizzato per i processi di approvazione dei prestiti e la genomica statistica, mentre il boosting viene utilizzato maggiormente nelle app di riconoscimento delle immagini e nei motori di ricerca.

AI Academy

AI all'opera nell'ambito del servizio clienti

Scopri come l'AI generativa può offrire ai clienti un'esperienza più fluida e aumentare la produttività dell'organizzazione in queste tre aree chiave: self-service, agenti umani e operazioni di contact center.

Tipi di boosting

I metodi di boosting si concentrano sulla combinazione iterativa di weak learner per creare uno strong learner in grado di prevedere risultati più accurati. Come promemoria, un weak learner classifica i dati leggermente meglio rispetto alle ipotesi casuali. Questo approccio può fornire risultati solidi per i problemi di previsione e può persino superare le prestazioni delle reti neurali e delle macchine a vettori di supporto per attività come il recupero delle immagini

Gli algoritmi di boosting possono differire nel modo in cui creano e aggregano i weak learner durante il processo sequenziale. I tre tipi più diffusi di metodi di boosting includono:

  • Boosting adattivo o AdaBoost: a Yoav Freund e Robert Schapire viene attribuita la creazione dell'algoritmo AdaBoost. Questo metodo opera in modo iterativo, individuando i punti dati classificati non correttamente e regolando i loro pesi per minimizzare l'errore di addestramento. Il modello continua a ottimizzare in modo sequenziale fino a quando non produce il predittore più forte.

  • Boosting del gradiente: basandosi sul lavoro di Leo Breiman, Jerome H. Friedman ha sviluppato il boosting del gradiente, che funziona aggiungendo in sequenza i predittori a un ensemble, ognuno dei quali corregge gli errori del suo predecessore. Tuttavia, invece di modificare i pesi dei punti dati come AdaBoost, il boosting del gradiente si addestra sugli errori residui del predittore precedente. Il nome, boosting del gradiente, combina l'algoritmo di discesa del gradiente e il metodo di boosting.

  • Boosting del gradiente estremo o XGBoost: XGBoost è un'implementazione del boosting del gradiente progettata per la velocità e la scalabilità computazionali. XGBoost utilizza più core sulla CPU, consentendo l'apprendimento in parallelo durante l'addestramento.

Benefici e sfide del boosting

Esistono numerosi vantaggi e sfide chiave che il metodo del boosting introduce quando viene utilizzato per problemi di classificazione o regressione.

I vantaggi fondamentali del boosting includono:

  • Facilità di implementazione: il boosting può essere utilizzato con diverse opzioni di ottimizzazione degli iperparametri per migliorare l'adattamento. Non è necessario alcuna pre-elaborazione dei dati e gli algoritmi di boosting hanno routine integrate per gestire i dati mancanti. In Python, la libreria scikit-learn di metodi di ensemble (nota anche come sklearn.ensemble) semplifica l'implementazione dei metodi di boosting più diffusi, tra cui AdaBoost, XGBoost, ecc.

  • Riduzione delle distorsioni: gli algoritmi di boosting combinano più weak learner in un metodo sequenziale, migliorando in modo iterativo le osservazioni. Questo approccio può aiutare a ridurre l'elevata quantità di distorsioni (bias), comunemente riscontrate negli alberi decisionali superficiali e nei modelli di regressione logistica.

  • Efficienza computazionale: poiché gli algoritmi di boosting selezionano solo le caratteristiche che aumentano il loro potere predittivo durante l'addestramento, possono aiutare a ridurre la dimensionalità e ad aumentare l'efficienza computazionale.

Le principali sfide del boosting includono:

  •  Overfitting: nella ricerca c'è qualche controversia sul fatto che il boosting possa aiutare a ridurre l'overfitting o ad esacerbarlo. Lo includiamo tra le sfide perché, nei casi in cui si verifica, le previsioni non possono essere generalizzate a nuovi set di dati.

  •  Intensità di calcolo: l'addestramento sequenziale nel boosting è difficile da scalare. Poiché ogni estimator è basato sui suoi predecessori, i modelli di boosting possono essere costosi dal punto di vista computazionale, sebbene XGBoost cerchi di affrontare i problemi di scalabilità riscontrati in altri tipi di metodi di boosting. Gli algoritmi di boosting possono essere più lenti da addestrare rispetto al bagging, poiché anche un gran numero di parametri può influenzare il comportamento del modello.

Applicazioni del boosting

Gli algoritmi di boosting sono adatti per i progetti di AI in un'ampia gamma di settori, tra cui:

  • Assistenza sanitaria: il boosting viene utilizzato per ridurre gli errori nelle previsioni dei dati medici, come la previsione dei fattori di rischio cardiovascolare e dei tassi di sopravvivenza dei pazienti oncologici. Ad esempio, la ricerca mostra che i metodi di ensemble migliorano significativamente la precisione nell'individuazione dei pazienti che potrebbero trarre beneficio dal trattamento preventivo delle malattie cardiovascolari, evitando al contempo altri trattamenti non necessari. Allo stesso modo, un altro studio ha scoperto che l'applicazione del boosting a più piattaforme genomiche può migliorare la previsione del tempo di sopravvivenza al cancro.

 

  • IT: gli alberi di regressione potenziati dal gradiente vengono utilizzati nei motori di ricerca per il posizionamento delle pagine, mentre l'algoritmo di boosting Viola-Jones viene utilizzato per il recupero delle immagini. Come notato da Cornell, i classificatori potenziati consentono di interrompere prima i calcoli quando è chiaro in che direzione sta andando una previsione. Questo significa che un motore di ricerca può interrompere la valutazione delle pagine con un ranking inferiore, mentre gli scanner di immagini prenderanno in considerazione solo le immagini che contengono effettivamente l'oggetto desiderato.

  • Finanza: il boosting viene utilizzato con i modelli di deep learning per automatizzare attività critiche, tra cui il rilevamento delle frodi, l'analisi dei prezzi e molto altro. Ad esempio, potenziando i metodi di rilevamento delle frodi sulle carte di credito e di analisi dei prezzi dei prodotti finanziari si migliora l'accuratezza dell'analisi di ingenti set di dati per ridurre al minimo le perdite finanziarie.
Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live