Home

topics

Boosting

Cos'è il boosting?
Esplora la soluzione di boosting di IBM Iscriviti per ricevere gli aggiornamenti sull'AI
Illustrazione con collage di pittogrammi di nuvole, grafico a torta, pittogrammi grafici
Cos'è il boosting?

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. Gli algoritmi di boosting possono migliorare il potere predittivo delle tue iniziative di data mining.

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.

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 le distorsioni o le 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. Mentre gli alberi decisionali possono mostrare un'elevata varianza o un'elevata distorsione, è importante sottolineare che non è l'unica tecnica di modellazione che utilizza l'apprendimento d'insieme per trovare il "punto debole" all'interno del compromesso tra distorsione e varianza.

Bagging vs. boosting

Il bagging e il boosting sono i due tipi principali di metodi di apprendimento d'insieme. Come evidenziato in questo studio (link esterno a ibm.com), la principale differenza tra questi metodi di apprendimento è il modo con 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 sue 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 è nel modo in cui vengono utilizzati. Ad esempio, i metodi di bagging di solito vengono utilizzati sui weak learner che mostrano alta varianza e bassa distorsione, mentre i metodi di boosting vengono sfruttati quando si osserva una bassa varianza e alta distorsione. Sebbene il bagging possa essere utilizzato per evitare un overfitting, i metodi di boosting possono essere più inclini a questo (link esterno a ibm.com) 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 è stato sfruttato per i processi di approvazione dei prestiti e la genomica statistica, mentre il boosting è stato utilizzato maggiormente nelle app di riconoscimento delle immagini e nei motori di ricerca.

Come scegliere il giusto foundation model di AI

Utilizza questo framework di selezione del modello per scegliere il modello più appropriato bilanciando i requisiti di prestazioni con costi, rischi ed esigenze di implementazione.

Contenuti correlati Registrati per ricevere l'ebook sugli storage dei dati AI
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 delle ipotesi casuali. Questo approccio può fornire risultati affidabili per i problemi di previsione e può persino superare le reti neurali e supportare macchine vettoriali per attività come il recupero delle immagini (link esterno a ibm.com).

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 insieme, 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, viene utilizzato poiché combina l'algoritmo di discesa del gradiente e il metodo di boosting.
  • Extreme gradient boosting o XGBoost: XGBoost è un'implementazione del boosting del gradiente progettata per la velocità e la scalabilità computazionali. XGBoost sfrutta più core sulla CPU, consentendo l'apprendimento in parallelo durante l'addestramento.

Vantaggi e sfide del boosting

Esistono numerosi vantaggi e sfide chiave che il metodo del boosting presenta 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 alcun pre-trattamento dei dati e gli algoritmi di boosting hanno routine integrate per gestire i dati mancanti. In Python, la libreria scikit-learn di metodi d'insieme (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 i pregiudizi elevati, comunemente riscontrati negli alberi decisionali superficiali e nei modelli di regressione logistica.
  • Efficienza computazionale: poiché gli algoritmi di boosting selezionano solo le funzioni 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: esiste una controversia nella ricerca (link esterno a ibm.com) sul fatto che il boosting possa o meno aiutare a ridurre l'overfitting o ad aggravarlo. 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 stimatore è basato sul suo predecessore, il boosting dei modelli può essere costoso dal punto di vista computazionale, anche se XGBoost tenta di risolvere 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, in quanto anche un numero elevato di parametri può influenzare il comportamento del modello.
Applicazioni del boosting

Gli algoritmi di boosting sono adatti a 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 (link esterno a ibm.com) mostra che i metodi d'insieme 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 (link esterno a ibm.com) 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 (link esterno a ibm.com), i classificatori potenziati consentono di interrompere i calcoli prima quando è chiaro in che direzione è diretta 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 altro ancora. Ad esempio, i metodi di boosting nel rilevamento delle frodi con carta di credito e l'analisi dei prezzi dei prodotti finanziari (link esterno a ibm.com) migliorano la precisione dell'analisi di enormi set di dati per ridurre al minimo le perdite finanziarie.

Soluzioni correlate
IBM SPSS modeler

Aumenta il ROI e accelera il time to value con uno strumento di data science drag and drop intuitivo.

Esplora IBM SPSS Modeler
Soluzioni IBM® Cloud

Ibrido. Aperto. Resiliente. Una piattaforma che è il tuo partner per la trasformazione digitale

Esplora le soluzioni cloud
Soluzioni IBM Cloud Pak

Software di hybrid cloud basato sull'AI.

Esplora le soluzioni Cloud Pak
Risorse IBM Research: boosting quantistico

Questo articolo mostra come le tecniche quantum possono migliorare la complessità temporale dell'AdaBoost classico.

SnapBoost: una macchina di boosting eterogenea

IBM Research studia una Heterogeneous Newton Boosting Machine (HNBM) in cui la classe di ipotesi di base può variare tra le iterazioni di boosting.

Fai il passo successivo

IBM SPSS Modeler è una soluzione di visual data science e machine learning (ML) che rivela pattern e modelli nascosti nei dati attraverso un approccio di generazione di ipotesi bottom-up. È utilizzata dalle organizzazioni di tutto il mondo per la preparazione e il rilevamento dei dati, l'analitica predittiva, la gestione e l'implementazione di modelli e il machine learning per monetizzare le risorse dati.

Esplora SPSS Modeler Provalo gratis per 30 giorni