Cos'è il bagging?

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 avere generato diversi campioni di dati, questi modelli deboli vengono quindi addestrati in modo indipendente. A seconda del tipo di attività, regressione o classificazione, la media o la maggioranza delle previsioni forniscono una stima più accurata.

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

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

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 distorsioni o varianze, producendo migliori prestazioni del modello.

I metodi d'insieme utilizzano spesso decision tree per l'illustrazione. Questo algoritmo può essere incline all'overfitting, con elevata varianza e 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.

AI Academy

AI all'opera nell'ambito del servizio clienti

Scopri come l'AI generativa può offrire ai clienti un'esperienza più fluida e aumentare la produttività dell'organizzazione in queste tre aree chiave: self-service, agenti umani e operazioni di contact center.

Bagging e boosting a confronto

Il bagging e il boosting sono i due tipi principali di metodi di apprendimento d'insieme. Come evidenziato in questo studio , la principale differenza tra questi metodi di apprendimento è rappresentata dal 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 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 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 ha introdotto l'algoritmo di bagging, che prevede tre passaggi fondamentali:

  1. Bootstrapping: il bagging utilizza 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 e 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 ripetono due volte (o più) in un campione.

  2. Addestramento parallelo: questi campioni di bootstrapping vengono poi addestrati indipendentemente e in parallelo tra loro utilizzando learner di base o deboli.

  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 dei learner di base o degli estimator per migliorare le prestazioni del modello. La loro documentazione illustra i moduli disponibili che si possono utilizzare per ottimizzare il proprio 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 ottenere 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 con l'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 elevato bias non offrono altrettanti benefici, perché la variazione all'interno dell'insieme di dati del modello è minore. Come si legge nella Guida pratica al machine learning: "il bagging di un modello di regressione lineare restituirà di fatto solo le previsioni originali per un numero abbastanza grande di b".

Applicazioni del bagging

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

  • Sanità: il bagging è stato utilizzato per formulare previsioni di dati medici. Ad esempio, la ricerca 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 ricercaapprofondisce 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. Questa ricerca 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 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 per automatizzare attività critiche, tra cui il rilevamento delle frodi, le valutazioni del rischio di credito e i problemi di pricing delle opzioni. Questa ricerca dimostra come il bagging, tra le altre tecniche di machine learning, sia stato utilizzato per valutare il rischio di insolvenza sui prestiti. Questo studio evidenzia come il bagging contribuisca a ridurre al minimo i rischi prevenendo le frodi con carta di credito all'interno di istituti bancari e finanziari.
Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live