Cos'è il bagging?

Il bagging, noto anche come bootstrap aggregation, è il metodo di apprendimento d'insieme comunemente usato per ridurre la varianza all'interno di un set di dati rumoroso.

Nel bagging, un campione casuale di dati in un set di addestramento viene selezionato con sostituzione, il che significa che i singoli punti dati possono essere scelti più di una volta. Dopo aver generato diversi campioni di dati, questi modelli deboli vengono quindi addestrati in modo indipendente. A seconda del tipo di attività, regression o classificazione, la media o la maggioranza di tali previsioni forniscono una stima più accurata. 

A titolo di nota, l'algoritmo random forest è considerato un'estensione del metodo del bagging, che utilizza sia il bagging che la casualità delle caratteristiche per creare una foresta di decision trees non correlati.

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 è 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 individualmente 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 utilizzano spesso decision trees per l'illustrazione. Questo algoritmo può essere incline all'overfitting, mostrando un'elevata varianza e una bassa distorsione, quando non è stato sottoposto a pruning. Al contrario, può anche prestarsi all'underfitting, con bassa varianza e alta distorsione, quando è molto piccolo, come un decision stump, che è un decision tree con un solo livello.

Bisogna ricordare che, quando un algoritmo è soggetto a overfitting o underfitting sul suo set di addestramento, non riesce a generalizzare bene sui nuovi set di dati. Perciò, i metodi d'insieme sono utilizzati per contrastare questo comportamento e permettere 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.

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 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. Ciò significa che viene costruita una serie di modelli e ad ogni nuova iterazione del modello vengono aumentati i pesi dei dati mal classificati nel modello precedente.

Questa ridistribuzione dei pesi aiuta l'algoritmo a identificare 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 il bagging e il boosting riguarda gli scenari in cui vengono utilizzati. Ad esempio, i metodi di bagging sono tipicamente utilizzati su weak learner che mostrano un'elevata varianza e una bassa distorsione, mentre i metodi di potenziamento vengono utilizzati quando si osservano una bassa varianza e un'elevata distorsione.

Come funziona il bagging

Nel 1996, Leo Breiman (link esterno a ibm.com) introdusse l'algoritmo di bagging, che prevede tre passaggi fondamentali:

  1. Bootstrapping:  il bagging sfrutta una tecnica di campionamento con bootstrapping per creare campioni diversi. Questo metodo di ricampionamento genera diversi sottoinsiemi del set di dati di addestramento. A tale scopo, seleziona i punti dati in modo casuale con sostituzione. Ciò significa che ogni volta che si seleziona un punto dati dal set di dati di addestramento, è possibile selezionare la stessa istanza più volte. Di conseguenza, un valore o un'istanza si ripete due volte (o più) in un campione.
  2. Addestramento in parallelo: questi campioni bootstrap vengono poi addestrati indipendentemente e in parallelo tra loro utilizzando weak o base learner.
  3. Aggregazione: infine, a seconda dell'attività (ovvero regression o classificazione), viene presa una media o la maggioranza delle previsioni per calcolare una stima più accurata. In caso di regression, viene calcolata una media di tutti gli output previsti dai singoli classificatori; questo è noto come soft voting. Per i problemi di classificazione, viene accettata la classe con la più alta maggioranza di voti; questo è noto come hard voting o voto di maggioranza.
Vantaggi e sfide del bagging

Il metodo del bagging presenta diversi vantaggi e sfide chiave quando viene utilizzato per problemi di classificazione o regression. I principali vantaggi del bagging includono:

  • Facilità di implementazione: le librerie Python come scikit-learn (nota anche come sklearn) facilitano la combinazione delle previsioni degli studenti di base o degli stimatori per migliorare le prestazioni del modello. La loro documentazione (link esterno a ibm.com) illustra i moduli disponibili che è possibile utilizzare per l'ottimizzazione del modello.
  • Riduzione della varianza: il bagging può ridurre la varianza all'interno di un algoritmo di apprendimento. Questo è particolarmente utile con i dati ad alta dimensionalità, dove i missing values possono portare a una varianza più elevata, aumentando la propensione all'overfitting e impedendo una generalizzazione accurata a nuovi set di dati.

Le principali sfide del bagging includono:

  • Perdita di interpretabilità: è difficile trarre insight sul business molto accurati attraverso il bagging, a causa della media delle previsioni. Sebbene l'output sia più preciso di qualsiasi singolo punto dati, un set di dati più accurato o completo potrebbe anche produrre maggiore precisione all'interno di un singolo modello di classificazione o regression.
  • Costoso dal punto di vista computazionale: il bagging rallenta e diventa più intensivo all'aumentare del numero di iterazioni. Pertanto, non è adatto per le applicazioni in tempo reale. I sistemi in cluster o con un gran numero di core di elaborazione sono ideali per creare rapidamente insiemi bagged su grandi set di test.
  • Meno flessibile: come tecnica, il bagging funziona particolarmente bene con gli algoritmi meno stabili. Quelli più stabili o soggetti a un'elevata distorsione non forniscono altrettanti vantaggi, perché la variazione all'interno dell'insieme di dati del modello è minore. Come indicato nella Hands-On Guide to Machine Learning (link esterno a ibm.com), "l'inserimento di un modello di regression lineare restituirà effettivamente solo le previsioni originali per un numero sufficientemente grande b".
Applicazioni del bagging

La tecnica del bagging viene utilizzata in molti settori, fornendo spunti di valore reale e prospettive interessanti, come nel caso dei GRAMMY Debates with Watson. I principali casi d’uso includono:

  • Assistenza sanitaria: il bagging è stato utilizzato per formulare previsioni di dati medici. Ad esempio, la ricerca (link esterno a ibm.com) mostra che i metodi d'insieme sono stati utilizzati per una serie di problemi bioinformatici, come la selezione di geni e/o proteine per identificare uno specifico tratto di interesse. Più specificamente, questa ricerca (link esterno a ibm.com) approfondisce il suo utilizzo per prevedere l'insorgenza del diabete sulla base di vari fattori predittivi di rischio.
  • IT: il bagging può anche migliorare la precisione e l'accuratezza nei sistemi IT, come i sistemi di rilevamento delle intrusioni nella rete. Nel frattempo, questa ricerca (link esterno a ibm.com) esamina la capacità del bagging di migliorare l'accuratezza del rilevamento delle intrusioni nella rete e ridurre il tasso di falsi positivi.
  • Ambiente: i metodi d'insieme, come il bagging, sono stati applicati nel campo del telerilevamento. Più specificamente, questa ricerca (link esterno a ibm.com) mostra come sia stato utilizzato per mappare i tipi di zone umide all'interno di un paesaggio costiero.
  • Finanza: il bagging è stato utilizzato anche con modelli di deep learning nel settore finanziario, automatizzando attività critiche, tra cui il rilevamento delle frodi, le valutazioni del rischio di credito e i problemi di pricing delle opzioni. Questa ricerca (link esterno a ibm.com) dimostra come il bagging, tra le altre tecniche di machine learning, sia stato sfruttato per valutare il rischio di insolvenza dei prestiti. Questo studio (link esterno a ibm.com) evidenzia come il bagging aiuti a ridurre al minimo i rischi prevenendo le frodi con carta di credito all'interno degli istituti bancari e finanziari.
Soluzioni correlate
IBM SPSS modeler

Utilizza la predictive analytics per identificare modelli di dati, ottenere previsioni accurate e migliorare il processo decisionale.

Esplora IBM SPSS Modeler
IBM Watson Studio

Crea e scala un'IA attendibile su qualsiasi cloud. Automatizza il ciclo di vita dell'IA per ModelOps.

Esplora IBM Watson Studio
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