Home topics Che cos'è il boosting? Cos'è il boosting?
Scopri gli algoritmi di boosting e come questi possono migliorare il potere predittivo delle tue iniziative di data mining.
sfondo blu
Cos'è il boosting?

Scopri gli algoritmi di boosting e come possono migliorare il potere predittivo delle tue iniziative di data mining. 

Il boosting è un metodo di apprendimento d'insieme che combina una serie di "allievi" deboli in un "allievo" forte per ridurre al minimo gli errori di addestramento. Nel boosting, viene selezionato un campione casuale di dati, dotato di un modello e poi addestrato in modo sequenziale - vale a dire che ogni modello cerca di compensare le debolezze del suo predecessore. Con ogni iterazione, le regole deboli da ogni singolo classificatore sono combinate per formare una regola di previsione forte. 

Prima di andare oltre, approfondiamo meglio la categoria di apprendimento d'insieme, evidenziando due dei metodi più noti: bagging e boosting. 

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 è tipicamente migliore di quello di un singolo esperto. Allo stesso modo, l'apprendimento d'insieme si riferisce a un gruppo (o insieme) di "allievi" base, o modelli, che lavorano collettivamente per ottenere una previsione finale migliore. Le prestazioni di un singolo modello, noto anche come allievo base o debole, potrebbero non essere individualmente buone, a causa del livello elevato di varianza o distorsione (bias). Tuttavia, quando gli allievi deboli vengono aggregati, possono formare un allievo forte, poiché la loro combinazione riduce la distorsione o varianza, producendo prestazioni migliori del modello. 

I metodi d'insieme sono spesso illustrati utilizzando alberi delle decisioni poiché questo algoritmo può essere soggetto a overfitting (elevata varianza e bassa distorsione) quando non è stato ripulito e può anche prestarsi ad underfitting (bassa varianza ed elevata distorsione) quando ha dimensioni molto ridotte, ad esempio un tronco delle decisioni, cioè un albero delle decisioni con un solo livello. Quando si adatta troppo o troppo poco al suo set di dati di addestramento, un algoritmo non può generalizzare in modo efficiente a nuovi set di dati, quindi vengono utilizzati metodi d'insieme per consentire la generalizzazione del modello a nuovi set di dati. Anche se gli alberi delle decisioni possono presentare elevata varianza o distorsione, vale la pena notare che non è l'unica tecnica di creazione di modelli che utilizza efficacemente l'apprendimento d'insieme per individuare il punto di equilibrio ottimale nel compromesso tra distorsione e varianza.  

Confronto tra bagging e boosting

Bagging e boosting sono due tipologie principali di metodi di apprendimento d'insieme. Come evidenziato in questo studio (PDF, 242 KB) (link esterno a ibm.com), la differenza principale tra questi metodi di apprendimento è il modo in cui i modelli vengono addestrati. Nel bagging, gli allievi deboli vengono addestrati in parallelo, invece nel boosting apprendono in sequenza. Ciò significa che viene costruita una serie di modelli e, ad ogni nuova iterazione del modello, vengono aumentati i pesi dei dati erroneamente classificati nel modello precedente. Questa ridistribuzione dei pesi aiuta l'algoritmo a identificare i parametri su cui deve focalizzarsi per migliorare le sue prestazioni. AdaBoost, ovvero "algoritmo di boosting adattivo," è uno dei più diffusi algoritmi di boosting, in quanto è stato uno dei primi nel suo genere. Altri tipi di algoritmi di boosting includono XGBoost, GradientBoost e BrownBoost. 

Un'altra differenza tra bagging e boosting sta nel modo in cui vengono utilizzati. Ad esempio, i metodi di bagging sono in genere utilizzati su allievi deboli che presentano elevata varianza e bassa distorsione, mentre i metodi di boosting vengono sfruttati quando si osserva una bassa varianza e un'elevata distorsione. Mentre il bagging può essere utilizzato per evitare l'overfitting, i metodi di boosting possono essere più inclini a ciò (link esterno a ibm.com) anche se dipende molto dal set di dati. Tuttavia, l'ottimizzazione dei parametri può aiutare a evitare il problema. 

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

Prodotti in evidenza

SPSS Modeler

Tipi di boosting

I metodi di boosting si concentrano sulla combinazione iterativa di allievi deboli per creare un allievo forte in grado di prevedere risultati più accurati. Va ricordato che un allievo debole classifica i dati leggermente meglio delle ipotesi casuali. Questo approccio può fornire risultati validi per i problemi di previsione e può perfino superare in prestazioni le reti neurali e supportare le macchine vettoriali per attività come il recupero di immagini (PDF, 1,9 MB) (link esterno a ibm.com).  

Gli algoritmi di boosting possono differire nel modo in cui creano e aggregano gli allievi deboli durante il processo sequenziale. Tre tipi comuni di metodi di boosting includono: 

  • Boosting adattivo o AdaBoost: a Yoav Freund e Robert Schapire è riconosciuto il merito di aver creato l'algoritmo AdaBoost. Questo metodo opera in modo iterativo, identificando i punti di dati mal classificati e regolando i loro pesi per ridurre l'errore di addestramento. Il modello continua a essere ottimizzato in modo sequenziale fino a quando non produce il predittore più forte.  
  • Gradient boosting: basandosi sul lavoro di Leo Breiman, Jerome H. Friedman ha sviluppato il gradient boosting, che funziona aggiungendo in sequenza i predittori a un insieme, in modo che ciascuno corregga gli errori del suo predecessore. Tuttavia, invece di modificare i pesi dei punti dati come AdaBoost, il gradient boosting viene addestrato sugli errori residui del precedente predittore. Il nome, gradient boosting, viene utilizzato poiché combina l'algoritmo di discesa del gradiente e il metodo di boosting.  
  • Gradient boosting estremo o XGBoost: XGBoost è un'implementazione di gradient boosting progettata per velocità e scala computazionale. XGBoost sfrutta più core sulla CPU, consentendo l'apprendimento in parallelo durante l'addestramento.  

Vantaggi e sfide del boosting

Esistono una serie di vantaggi e sfide fondamentali che il metodo di 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 iper-parametri per migliorare l'adattamento. Non è richiesta 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 d'insieme (nota anche come sklearn.ensemble) rende facile l'implementazione dei metodi di boosting comuni, tra cui AdaBoost, XGBoost e così via.  
  • Riduzione della distorsione: gli algoritmi di boosting combinano più allievi deboli in un metodo sequenziale, migliorando iterativamente le osservazioni. Questo approccio può aiutare a ridurre una distorsione elevata, comunemente presente negli alberi decisionali poco profondi e nei modelli di regressione logistica. 
  • Efficienza computazionale: poiché selezionano solo le funzioni che ne aumentano il potere predittivo durante l'addestramento, gli algoritmi di boosting possono aiutare a ridurre la dimensionalità, nonché ad aumentare l'efficienza computazionale.  

Le difficoltà principali del boosting includono:  

  •  Overfitting: esiste qualche controversia nella ricerca (link esterno a ibm.com) sul fatto che il boosting possa aiutare a ridurre l'overfitting o esacerbarlo. Lo includiamo tra le sfide perché, nei casi in cui si verifica, le previsioni non possono essere generalizzate a nuovi set di dati.  
  •  Calcolo intenso: la scalabilità dell'addestramento sequenziale nel boosting è difficile. Poiché ogni stimatore è costruito sui suoi predecessori, i modelli di boosting possono essere computazionalmente costosi, anche se XGBoost cerca di affrontare i problemi di scalabilità rilevati in altri tipi di metodi di boosting. Gli algoritmi di boosting possono essere più lenti da addestrare rispetto agli algoritmi di bagging, in quanto un gran numero di parametri può anche influenzare il comportamento del modello. 
Applicazioni di boosting

Gli algoritmi di boosting sono adeguati per i progetti di AI in una vasta 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 le percentuali di sopravvivenza dei pazienti malati di cancro. Ad esempio, la ricerca (link esterno a ibm.com) mostra che i metodi d'insieme migliorano significativamente l'accuratezza nell'identificare i pazienti che potrebbero trarre vantaggio dal trattamento preventivo della malattia cardiovascolare, evitando al contempo il trattamento non necessario di altri. Allo stesso modo, un altro studio (link esterno a IBM) ha rilevato che l'applicazione del boosting a più piattaforme genomiche può migliorare la previsione del tempo di sopravvivenza al cancro. 

  • IT: gli alberi di regressione con gradient boosting vengono utilizzati nei motori di ricerca per la classificazione 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 con boosting permettono di arrestare prima i calcoli quando è chiara la direzione di una previsione. Ciò significa che un motore di ricerca può interrompere la valutazione delle pagine con una classificazione inferiore, mentre gli scanner di immagini considerano solo le immagini che contengono effettivamente l'oggetto desiderato.   

  • Finanza: il boosting viene utilizzato con i modelli di deep learning per automatizzare attività fondamentali, 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 nell'analisi dei prezzi dei prodotti finanziari (link esterno a ibm.com) migliorano l'accuratezza dell'analisi di grandi set di dati per ridurre le perdite finanziarie.  

Soluzioni correlate
SPSS Modeler

Promuovi il ROI e accelera il time to value con uno strumento di data science intuitivo, con funzionalità di trascinamento e rilascio.

Esplora IBM SPSS Modeler
Soluzioni IBM Cloud

Ibride. Aperte. Resilienti. La tua piattaforma e il tuo partner per la trasformazione digitale.

Esplora Cloud Solutions
Soluzioni Cloud Pak

Software cloud ibrido basato sull'AI.

Esplora le soluzioni Cloud Pak
Passa alla fase successiva

Le soluzioni IBM supportano il ciclo di vita del machine learning end-to-end. Scopri in che modo gli strumenti di data mining di IBM, come IBM SPSS Modeler, ti consentono di sviluppare modelli predittivi per implementarli nelle operazioni aziendali. Rendono facile migliorare l'accuratezza dei modelli con la modellazione. Per ulteriori informazioni sui vantaggi dei metodi di boosting e bagging, visita la IBM Data Science Community.

Unisciti oggi stesso alla IBM Data Science Community