Perché usare l’Ensemble Learning?

Tweet Share Share

Quali sono i vantaggi dei metodi ensemble per l’apprendimento automatico?

Gli ensemble sono modelli predittivi che combinano le previsioni di due o più modelli.

I metodi di apprendimento ensemble sono popolari e la tecnica da utilizzare quando la migliore performance in un progetto di modellazione predittiva è il risultato più importante.

Tuttavia, non sono sempre la tecnica più appropriata da usare e i principianti nel campo dell’apprendimento automatico applicato si aspettano che gli ensemble o un metodo specifico di ensemble siano sempre il metodo migliore da usare.

Gli ensemble offrono due benefici specifici in un progetto di modellazione predittiva, ed è importante sapere quali sono questi benefici e come misurarli per assicurarsi che l’uso di un ensemble sia la decisione giusta per il vostro progetto.

In this tutorial, you will discover the benefits of using ensemble methods for machine learning.

After reading this tutorial, you will know:

  • A minimum benefit of using ensembles is to reduce the spread in the average skill of a predictive model.
  • A key benefit of using ensembles is to improve the average prediction performance over any contributing member in the ensemble.
  • The mechanism for improved performance with ensembles is often the reduction in the variance component of prediction errors made by the contributing models.

Let’s get started.

Why Use Ensemble Learning
Photo by Juan Antonio Segal, some rights reseved.

Tutorial Overview

This tutorial is divided into four parts; they are:

  1. Apprendimento d’insieme
  2. Utilizzare gli insiemi per migliorare la robustezza
  3. Bias, Varianza e Insiemi
  4. Utilizzare gli insiemi per migliorare le prestazioni

Apprendimento d’insieme

Un insieme è un modello di apprendimento automatico che combina le previsioni di due o più modelli.

I modelli che contribuiscono all’ensemble, chiamati membri dell’ensemble, possono essere dello stesso tipo o di tipi diversi e possono essere addestrati o meno sugli stessi dati di allenamento.

Le previsioni fatte dai membri dell’ensemble possono essere combinate usando le statistiche, come la modalità o la media, o con metodi più sofisticati che imparano quanto fidarsi di ogni membro e in quali condizioni.

Lo studio dei metodi d’insieme ha preso piede negli anni ’90, e in quel decennio sono stati pubblicati articoli sui metodi più popolari e ampiamente utilizzati, come i metodi core bagging, boosting e stacking.

Nei tardi anni 2000, l’adozione degli ensemble è aumentata in parte grazie al loro enorme successo nelle competizioni di apprendimento automatico, come il premio Netflix e le successive competizioni su Kaggle.

Negli ultimi due decenni, i sistemi di classificatori multipli, chiamati anche sistemi ensemble, hanno goduto di una crescente attenzione all’interno della comunità di intelligenza computazionale e apprendimento automatico.

– Page 1, Ensemble Machine Learning, 2012.

I metodi ensemble aumentano notevolmente il costo e la complessità computazionale. Questo aumento deriva dalla competenza e dal tempo richiesto per addestrare e mantenere più modelli piuttosto che un singolo modello. Questo costringe alla domanda:

  • Perché dovremmo considerare l’utilizzo di un ensemble?

Ci sono due ragioni principali per utilizzare un ensemble rispetto a un singolo modello, e sono correlate; sono:

  1. Performance: Un ensemble può fare previsioni migliori e raggiungere prestazioni migliori di qualsiasi modello singolo che contribuisce.
  2. Robustezza: Un ensemble riduce la diffusione o la dispersione delle previsioni e delle prestazioni del modello.

Gli ensemble sono utilizzati per ottenere migliori prestazioni predittive su un problema di modellazione predittiva rispetto ad un singolo modello predittivo. Il modo in cui questo si ottiene può essere inteso come il modello che riduce la componente di varianza dell’errore di predizione aggiungendo bias (cioè nel contesto del trade-off bias-varianza).

Originariamente sviluppato per ridurre la varianza – migliorando così la precisione- di un sistema decisionale automatizzato …

– Pagina 1, Ensemble Machine Learning, 2012.

C’è un altro beneficio importante e meno discusso dei metodi di ensemble è una maggiore robustezza o affidabilità nelle prestazioni medie di un modello.

Sono entrambe preoccupazioni importanti in un progetto di apprendimento automatico e a volte possiamo preferire una o entrambe le proprietà di un modello.

Diamo un’occhiata più da vicino a queste due proprietà per capire meglio i benefici dell’utilizzo dell’apprendimento in ensemble in un progetto.

Utilizzare gli ensemble per migliorare la robustezza

In un progetto di modellazione predittiva, spesso valutiamo più modelli o pipeline di modellazione e ne scegliamo uno che si comporta bene o meglio come nostro modello finale.

L’algoritmo o la pipeline viene poi adattato a tutti i dati disponibili e utilizzato per fare previsioni su nuovi dati.

Abbiamo un’idea di quanto bene il modello funzionerà in media dal nostro test harness, tipicamente stimato utilizzando ripetute k-fold cross-validation come gold standard. Il problema è che la performance media potrebbe non essere sufficiente.

Un’accuratezza o un errore medio di un modello è una sintesi della performance attesa, quando in realtà alcuni modelli hanno ottenuto risultati migliori e altri peggiori su diversi sottoinsiemi di dati.

La deviazione standard è la differenza media tra un’osservazione e la media e riassume la dispersione o la diffusione dei dati. Per una misura di accuratezza o di errore per un modello, può darvi un’idea della diffusione del comportamento del modello.

Guardando i punteggi minimi e massimi delle prestazioni del modello vi darà un’idea della peggiore e migliore prestazione che potreste aspettarvi dal modello, e questo potrebbe non essere accettabile per la vostra applicazione.

L’ensemble più semplice è quello di adattare il modello più volte sui dataset di allenamento e combinare le previsioni usando una statistica riassuntiva, come la media per la regressione o la modalità per la classificazione. È importante che ogni modello sia leggermente diverso a causa dell’algoritmo di apprendimento stocastico, della differenza nella composizione del set di dati di allenamento o delle differenze nel modello stesso. La performance media sarà probabilmente la stessa, anche se il caso peggiore e quello migliore si avvicineranno alla performance media.

In effetti, questo appiana la performance attesa del modello.

Possiamo riferirci a questo come alla “robustezza” nella performance attesa del modello ed è un beneficio minimo dell’uso di un metodo di ensemble.

Un ensemble può o non può migliorare la performance del modello rispetto ad ogni singolo membro che contribuisce, discusso più avanti, ma come minimo, dovrebbe ridurre lo spread nella performance media del modello.

Per saperne di più su questo argomento, vedi il tutorial:

  • Come ridurre la varianza in un modello finale di apprendimento automatico

Bias, Varianza, ed Ensembles

I modelli di apprendimento automatico per la classificazione e la regressione imparano una funzione di mappatura dagli input agli output.

Questa mappatura viene appresa da esempi dal dominio del problema, il dataset di addestramento, e viene valutata su dati non utilizzati durante l’addestramento, il dataset di test.

Gli errori commessi da un modello di apprendimento automatico sono spesso descritti in termini di due proprietà: il bias e la varianza.

Il bias è una misura di quanto vicino il modello può catturare la funzione di mappatura tra ingressi e uscite. Cattura la rigidità del modello: la forza dell’assunzione che il modello ha sulla forma funzionale della mappatura tra gli input e gli output.

La varianza del modello è la quantità di cambiamenti nella performance del modello quando viene adattato a diversi dati di allenamento. Cattura l’impatto che le specificità dei dati hanno sul modello.

La varianza si riferisce all’ammontare di cui cambierebbe se lo stimassimo usando un diverso set di dati di allenamento.

– Page 34, An Introduction to Statistical Learning with Applications in R, 2014.

Il bias e la varianza delle prestazioni di un modello sono collegati.

In teoria, preferiremmo un modello con basso bias e bassa varianza, anche se in pratica, questo è molto difficile. Infatti, questo potrebbe essere descritto come l’obiettivo dell’apprendimento automatico applicato per un dato problema di modellazione predittiva.

Ridurre il bias può spesso essere facilmente ottenuto aumentando la varianza. Viceversa, ridurre la varianza può essere facilmente ottenuto aumentando il bias.

Si parla di trade-off perché è facile ottenere un metodo con bias estremamente basso ma alta varianza o un metodo con varianza molto bassa ma alto bias …

– Pagina 36, An Introduction to Statistical Learning with Applications in R, 2014.

Alcuni modelli hanno naturalmente un alto bias o un’alta varianza, che possono essere spesso rilassati o aumentati usando iperparametri che cambiano il comportamento di apprendimento dell’algoritmo.

Gli ensemble forniscono un modo per ridurre la varianza delle previsioni; cioè la quantità di errore nelle previsioni fatte che può essere attribuita alla “varianza”.”

Non è sempre il caso, ma quando lo è, questa riduzione della varianza, a sua volta, porta a un miglioramento della performance predittiva.

Evidenze empiriche e teoriche mostrano che alcune tecniche di ensemble (come il bagging) agiscono come un meccanismo di riduzione della varianza, cioè, riducono la componente di varianza dell’errore. Inoltre, i risultati empirici suggeriscono che altre tecniche di ensemble (come AdaBoost) riducono sia il bias che la varianza dell’errore.

– Pagina 39, Pattern Classification Using Ensemble Methods, 2010.

L’utilizzo degli ensemble per ridurre le proprietà della varianza degli errori di predizione porta al beneficio chiave dell’utilizzo degli ensemble in primo luogo: migliorare la performance predittiva.

Utilizzare gli ensemble per migliorare la performance

Ridurre l’elemento di varianza dell’errore di predizione migliora la performance predittiva.

Utilizziamo esplicitamente l’apprendimento in ensemble per cercare una migliore performance predittiva, come un errore più basso nella regressione o un’alta accuratezza nella classificazione.

… c’è un modo per migliorare la precisione dei modelli che è più facile e più potente della selezione giudiziosa degli algoritmi: si possono raccogliere i modelli in ensemble.

– Page 2, Ensemble Methods in Data Mining, 2010.

Questo è l’uso primario dei metodi di apprendimento in ensemble e il beneficio dimostrato attraverso l’uso di ensemble dalla maggior parte dei vincitori delle competizioni di apprendimento automatico, come il premio Netflix e le competizioni su Kaggle.

Nel premio Netflix, un concorso durato due anni in cui il primo team a presentare un modello che migliorasse del 10% il sistema di raccomandazione interno di Netflix avrebbe vinto 1.000.000 di dollari. Il vantaggio finale è stato ottenuto pesando i contributi dei modelli di un massimo di 30 concorrenti.

– Pagina 8, Ensemble Methods in Data Mining, 2010.

Questo vantaggio è stato dimostrato anche in competizioni accademiche, come le migliori soluzioni per il famoso dataset ImageNet in computer vision.

Un ensemble di queste reti residue raggiunge il 3,57% di errore sul test set ImageNet. Questo risultato ha vinto il 1° posto nel compito di classificazione ILSVRC 2015.

– Deep Residual Learning for Image Recognition, 2015.

Quando viene utilizzato in questo modo, un ensemble dovrebbe essere adottato solo se ha prestazioni medie migliori di qualsiasi membro che contribuisce all’ensemble. Se questo non è il caso, allora dovrebbe essere usato il membro che contribuisce con prestazioni migliori.

Considerare la distribuzione dei punteggi attesi calcolati da un modello su un’imbracatura di prova, come la ripetuta convalida incrociata di k-fold, come abbiamo fatto sopra quando si considera la “robustezza” offerta da un ensemble. Un ensemble che riduce la varianza dell’errore, in effetti, sposterà la distribuzione piuttosto che semplicemente ridurre la diffusione della distribuzione.

Questo può risultare in una migliore performance media rispetto a qualsiasi singolo modello.

Questo non è sempre il caso, e avere questa aspettativa è un errore comune fatto dai principianti.

È possibile, e anche comune, che la performance di un ensemble non sia migliore di quella del membro con la migliore performance dell’ensemble. Questo può accadere se l’ensemble ha un modello con le migliori prestazioni e gli altri membri non offrono alcun beneficio o l’ensemble non è in grado di sfruttare il loro contributo in modo efficace.

È anche possibile che un ensemble abbia prestazioni peggiori di quelle del membro con le migliori prestazioni. Anche questo è un fenomeno comune che coinvolge tipicamente un modello con le migliori prestazioni, le cui previsioni sono peggiorate da uno o più modelli dalle scarse prestazioni e l’ensemble non è in grado di sfruttare i loro contributi in modo efficace.

Come tale, è importante testare una suite di metodi di ensemble e mettere a punto il loro comportamento, proprio come facciamo per ogni singolo modello di apprendimento automatico.

Altre letture

Questa sezione fornisce ulteriori risorse sull’argomento se si vuole approfondire.

Related Tutorials

  • How to Reduce Variance in a Final Machine Learning Model
  • How to Develop a Horizontal Voting Deep Learning Ensemble to Reduce Variance

Books

  • Pattern Classification Using Ensemble Methods, 2010.
  • Ensemble Methods, 2012.
  • Ensemble Machine Learning, 2012.
  • Ensemble Methods in Data Mining, 2010.

Articles

  • Ensemble learning, Wikipedia.
  • Ensemble learning, Scholarpedia.

Summary

In this post, you discovered the benefits of using ensemble methods for machine learning.

Specificamente, hai imparato:

  • Un beneficio minimo dell’uso degli ensemble è quello di ridurre la diffusione dell’abilità media di un modello predittivo.
  • Un beneficio chiave dell’uso degli ensemble è quello di migliorare la performance media di predizione su ogni membro che contribuisce all’ensemble.
  • Il meccanismo di miglioramento della performance con gli ensemble è spesso la riduzione della componente varianza degli errori di predizione fatti dai modelli che contribuiscono.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.