Alleantia IoT NewsRoom

Ensemble Model: come migliorare il Machine Learning

Written by Fabrizio Pozzato | Aug 13, 2021 12:47:56 PM

Per migliorare, e di molto, i risultati dei progetti di Machine Learning si ricorre alla tecnica dell’Ensemble Model

L'Ensemble Model permette di ottenere, grazie a una serie di metodi d'insieme che usano modelli multipli, una migliore prestazione predittiva rispetto ai modelli da cui è costituito.

Esempio è il riconoscimento, e analisi, di un certo tipo di dati secondo una certa identificazione, utilizzando alcune semplici, e diverse tra loro, regole.
Singolarmente ciascuna regola non è in grado di rispettare il nostro processo di analisi ma solo rispettandole tutte insieme (ensemble) si otterrà il risultato sperato.

Ensemble Model: i diversi modelli

Analogamente l'Ensemble Model mette insieme le previsioni di diversi modelli con lo scopo di aumentare la potenza della previsione.
Vediamo quali sono le tecniche:

Bagging

Questa tecnica punta a creare un insieme di classificatori aventi la stessa importanza. All’atto della classificazione ciascun modello darà un punteggio sulla predizione e il risultato sarà la classe che avrà ricevuto il maggior numero di voti. I risultati di classificazione ottenuti sui dati reali e su quelli di test vengono messi insieme per trarre una unica conclusione sulla classificazione.

Boosting

A differenza del bagging, ciascun classificatore influisce sulla votazione finale con un certo peso. Tale peso sarà calcolato in base all'errore di accuratezza che ciascun modello commetterà in fase di learning. Si innesca cosi un processo iterativo aggiungendo classificatori fino a raggiungere la precisione desiderata oppure fino a raggiungere un limite massimo di modelli.
Boosting tende all'overfitting, ossia a funzionare bene sui dati di training e di test ma meno bene sui dati reali, ma in generale funziona meglio del boosting.
 

Stacking

Mentre nel bagging l'output era il risultato di una votazione, nello stacking viene introdotto un ulteriore classificatore (detto meta-classificatore) che utilizza le predizioni di altri sotto-modelli per effettuare un ulteriore learning.
Spesso è possibile combinare più modelli dello stesso algoritmo, ma si possono ottenere risultati migliori utilizzando le previsioni fornite da algoritmi diversi.

Una volta deciso di utilizzare un Ensemble modeling per risolvere il nostro problema, abbiamo subito un dubbio: dovremmo dare a tutti i modelli lo stesso peso nella predizione oppure no?

In realtà anche questo è un problema di machine learning, ipotizzando un modello lineare avremo dei pesi che moltiplicano il risultato di un particolare modello e l'obiettivo è trovare i pesi che minimizzano l'errore generale.

In conclusione, possiamo dire che i due maggiori benefici degli Ensemble model sono una migliore previsione e una maggiore stabilità del modello, perchè viene ridotto il "disturbo" nei dati grazie alla diversificazione.