Cos'è il bagging?
Scopri in che modo l'aggregazione di bootstrap, o bagging, può migliorare l'accuratezza dei tuoi modelli di machine learning, consentendoti di sviluppare insight migliori.
Illustrazione isometrica di Software for Z
Cos'è il bagging?

Il bagging, noto anche come aggregazione di bootstrap, è il metodo di apprendimento d'insieme comunemente utilizzato per ridurre la varianza in un set di dati rumorosi. Nel bagging, un campione casuale di dati in un set di addestramento è selezionato con sostituzione, il che significa che i singoli punti di dati possono essere scelti più di una volta. Dopo che sono stati generati diversi campioni di dati, questi modelli vengono addestrati in modo indipendente e, a seconda del tipo di attività - ossia regressione o classificazione - la media o la maggioranza di queste previsioni produce una stima più accurata. 

Come nota, l'algoritmo a foresta casuale è considerato un'estensione del metodo di bagging, che utilizza sia il bagging che la casualità delle funzioni per creare una foresta non correlata di alberi delle decisioni.

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 incline 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. Tieni presente che, 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, 248 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 è rappresentata dagli scenari 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.

Come funziona il bagging

Nel 1996, Leo Breiman (PDF, 829 KB) (link esterno a ibm.com) ha introdotto l'algoritmo di bagging, con tre passaggi di base:

  1. Bootstrapping: il bagging utilizza efficacemente una tecnica di campionamento di bootstrapping per creare campioni eterogenei. Questo metodo di ricampionamento genera diversi sottoinsiemi di set di dati di addestramento selezionando punti dati in modo casuale e con sostituzione. Questo significa che, ogni volta che si seleziona un punto dati dal set di dati di addestramento, puoi selezionare la stessa istanza più volte. Come risultato, un valore/istanza viene ripetuto due volte (o più) in un campione.
  2. Addestramento parallelo: questi campioni di bootstrap vengono quindi addestrati in modo indipendente e in parallelo tra loro utilizzando allievi deboli o di base.
  3. Aggregazione: infine, a seconda dell'attività (cioè regressione o classificazione), vengono ricavate una media o una maggioranza delle previsioni per calcolare una stima più accurata. Nel caso della regressione, viene calcolata una media di tutti gli output previsti dai classificatori individuali; tale operazione è nota come "soft voting". Per problemi di classificazione, viene accettata la classe con la maggioranza dei voti; questa operazione è nota come "hard voting" o votazione di maggioranza.
I vantaggi e le sfide del bagging

Esistono una serie di vantaggi e sfide fondamentali che il metodo di bagging presenta quando viene utilizzato per problemi di classificazione o regressione. I vantaggi fondamentali del bagging includono:

  • Facilità di implementazione: librerie Python, come ad esempio scikit-learn (nota anche come sklearn) rendono più facile combinare le previsioni degli allievi o degli strumenti per la stima di base per migliorare le prestazioni del modello. La relativa documentazione (link esterno a IBM) espone i moduli disponibili, che si possono utilizzare efficacemente nella propria ottimizzazione dei modelli.
  • Riduzione della varianza: il bagging può ridurre la varianza all'interno di un algoritmo di apprendimento. Ciò è particolarmente utile con dati a elevata dimensionalità, dove valori mancanti possono produrre una maggiore varianza, rendendo più probabile l'overfitting e impedendo un'accurata generalizzazione a nuovi set di dati.

Le sfide cruciali del bagging includono:

  • Perdita di interpretabilità: è difficile estrarre insight di business molto precisi attraverso il bagging a causa del calcolo della media implicato in tutte le previsioni. Sebbene l'output sia più preciso di qualsiasi singolo punto di dati, un set di dati più accurato o completo potrebbe anche produrre una maggiore precisione all'interno di un singolo modello di classificazione o regressione.
  • Dispendioso a livello computazionale: il bagging rallenta e diventa più intensivo man mano che aumenta il numero di iterazioni. Pertanto, non è adatto per applicazioni in tempo reale. Sistemi in cluster o un gran numero di core di elaborazione sono ideali per creare rapidamente insiemi sottoposti a bagging in serie di test di grandi dimensioni.
  • Meno flessibile: come tecnica, il bagging funziona particolarmente bene con gli algoritmi meno stabili. Quelli che sono più stabili o soggetti ad elevate quantità di distorsione non forniscono un tale vantaggio, poiché c'è meno variazione all'interno del set di dati del modello. Come precisato nella pubblicazione Hands-On Guide to Machine Learning (link esterno a IBM), "il bagging di un modello di regressione lineare restituirà efficacemente solo le previsioni originali per un valore b sufficientemente ampio".
Applicazioni del bagging

La tecnica del bagging viene utilizzata in un gran numero di settori, fornendo insight per il valore del mondo reale e prospettive interessanti, come ad esempio in GRAMMY Debates with Watson. I casi di utilizzo principali includono:

  • Assistenza sanitaria: il bagging è stato utilizzato per creare previsioni di dati medici. Ad esempio, questa ricerca (PDF, 2,8 MB) (link esterno a ibm.com) mostra che sono stati utilizzati metodi d'insieme per una gamma di problemi di bioinformatica, come ad esempio la selezione di geni e/o proteine per identificare una specifica caratteristica di interesse. Più specificamente, questa ricerca (link esterno a ibm.com) ne illustra in modo approfondito l'uso per prevedere l'insorgenza del diabete in base a vari predittori di rischio.
  • IT: il bagging può anche migliorare la precisione e l'accuratezza nei sistemi IT, come ad esempio i sistemi di rilevamento delle intrusioni in rete. Nel frattempo, questa ricerca (link esterno a ibm.com) esamina come la tecnica del bagging può migliorare l'accuratezza del rilevamento delle intrusioni in rete - e ridurre le percentuali di falsi positivi.
  • Ambiente: i metodi d'insieme, come ad esempio il bagging, sono stati applicati nel campo dei sensori da remoto. Più specificamente, questa ricerca (link esterno a ibm.com) mostra come questa metodologia è stata utilizzata per mappare i tipi di palude in un paesaggio costiero.
  • Finanza: il bagging è stato anche utilizzato efficacemente con i modelli di deep learning nel settore della finanza, automatizzando attività critiche, tra cui rilevamento di frodi, valutazioni dei rischi sul credito e problemi di prezzi delle opzioni. Questa ricerca (link esterno a ibm.com) dimostra in che modo il bagging, tra altre tecniche di machine learning, sia stato utilizzato efficacemente per valutare il rischio di insolvenza dei prestiti. Questo studio (link esterno a ibm.com) mette in evidenza come il bagging aiuti a ridurre al minimo il rischio impedendo frodi con carta di credito all'interno degli istituti bancari e finanziari.
Soluzioni correlate
IBM SPSS Modeler

IBM SPSS Modeler offre servizi di analytics predittiva per aiutarti a scoprire correlazioni tra i dati, ottenere accuratezza predittiva e migliorare il processo decisionale.

Esplora IBM SPSS Modeler
Watson Studio

Sviluppa e ridimensiona un'AI affidabile su qualsiasi cloud. Automatizza il ciclo di vita dell'AI per ModelOps.

Esplora Watson Studio
Confronto tra bagging e boosting

Esplora la community di data science di IBM per ulteriori informazioni su data science e machine learning.

Esplora la community di data science di IBM
Passa alla fase successiva

Le soluzioni IBM supportano il ciclo di vita del machine learning dall'inizio alla fine. Scopri in che modo gli strumenti per la creazione di modelli di IBM, ad esempio IBM SPSS Modeler e Watson Studio, possono supportarti nella creazione di diversi modelli e nella loro ottimizzazione per quanto riguarda l'accuratezza, migliorando le previsioni e le eventuali successive analisi dei dati. Richiedi un ID IBM e unisciti alla community di data science di IBM per saperne di più su data science e machine learning.

Unisciti oggi stesso alla community di data science di IBM