Cos'è il bagging?
Illustrazione isometrica di Software for Z
Bagging

Scopri come eseguire l'aggregazione del bootstrap, o bagging, può migliorare la precisione dei tuoi modelli di machine learning, consentendoti di sviluppare insight migliori.


Cos'è il bagging?

Il bagging, noto anche come aggregazione del bootstrap, è il metodo di apprendimento di insieme comunemente utilizzato per ridurre la varianza in un dataset rumoroso. Nel metodo 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à, ad esempio regressione o classificazione, la media o la maggioranza di queste previsioni produce una stima più accurata. 

Come nota, l'algoritmo di 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 di insieme

L'apprendimento di 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 di 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 allievo base o debole, potrebbero non essere individualmente buone, a causa di del livello elevato di varianza o distorsione. 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 di insieme sono spesso illustrati utilizzando alberi delle decisione poiché questo algoritmo può essere soggetto a sovradattamento (elevata varianza e bassa distorsione) quando non è stato ripulito e può anche prestarsi a sottoadattamento (bassa varianza ed elevata distorsione) quando ha dimensioni molto ridotte, ad esempio un tronco di decisione, cioè un albero delle decisioni con un solo livello. Si tenga a mente che quando un algoritmo si adatta troppo o troppo poco al suo set di addestramento, non può generalizzare in modo efficiente a nuovi dataset, quindi vengono utilizzati metodi di insieme per consentire la generalizzazione del modello a nuovi dataset. Anche se gli alberi delle decisioni possono presentare elevata varianza o distorsione, vale la pena di notare non è l'unica tecnica di creazione di modelli che utilizza efficacemente l'apprendimento d'insieme per individuare il “punto giusto” nel compromesso tra distorsione e varianza.

Bagging rispetto a boosting

Bagging e boosting sono due principali tipologie 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 iterazione di nuovo modello, vengono aumentati i pesi dei dati erroneamente classificati nel modello precedente. Questa ridistribuzione dei pesi aiuta l'algoritmo ad identificare i parametri su cui deve focalizzarsi per migliorare le sue prestazioni. AdaBoost, che sta per “algoritmo di boosting adattivo,” è uno dei più popolari 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 diversi campioni. Questo metodo di ricampionamento genera diversi sottoinsiemi di dataset di addestramento selezionando punti dati in modo casuale e con sostituzione. Questo significa che ogni volta che si seleziona un punto dati dal dataset di addestramento, si è in grado di 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, uno con l'altro, utilizzando allievi deboli o 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; operazione nota come votazione soft. Per problemi di classificazione viene accettata la classe con la maggioranza dei voti; questa operazione è nota come votazione hard o votazione di maggioranza.

I vantaggi e le sfide del metodo di 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 di elevate dimensioni, dove valori mancanti possono produrre una maggiore varianza, rendendo più probabile il sovradattamento e impedendo un'accurata generalizzazione a nuovi dataset.

Le sfide fondamentali 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. Anche se l'output è più preciso di qualsiasi punto di dati singolo, un dataset più accurato o completo potrebbe anche produrre una maggiore precisione all'interno di una singola classificazione o modello di regressione.
  • Dispendioso a livello computazionale: il bagging rallenta e cresce in maniera più intensiva man mano che aumenta il numero di iterazioni. Pertanto, non è adatto per applicazioni in tempo reale. Sistemi in cluster o un gran numero di processing core 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 entro i dataset del modello. Come precisato nella pubblicazione Hands-On Guide to Machine Learning (link esterno IBM), “il bagging di un modello di regressione lineare restituirà efficacemente solo le previsioni originali per quantità sufficientemente grandi b.”

Applicazioni del bagging

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

  • Assistenza sanitaria: il bagging è stato utilizzato per creare previsioni di dati medici. Ad esempio, la 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 gene e/o proteina 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 di insieme, come ad esempio il bagging, sono stati applicati nell'ambito 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 determinazione del prezzo delle opzioni. Questa ricerca (link esterno a ibm.com) dimostra in che modo il bagging tra altre tecniche di machine learning sono state utilizzate efficacemente per valutare il rischio di insolvenza del prestito. 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.

Bagging e IBM

Soluzioni IBM supportano il ciclo di vita del machine learning end-to-end. Scopri come 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.

Registrati per ottenere un IBMid e crea un account IBM Cloud oggi stesso e unisciti alla IBM Data Science Community per ulteriori informazioni su data science e machine learning.


Soluzioni correlate

IBM SPSS Modeler

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


Watson Studio

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


Bagging rispetto a Boosting

Esplora la IBM Data Science Community per ulteriori informazioni su data science e machine learning.