La magia dell'Ensemble Learning

Ciao, Habr! Invitiamo Data Engineer e specialisti di Machine Learning a una demo gratuita «Deploying ML models in a production environment using online recommendations». Pubblicheremo anche un articolo di Luca Monno — Head of Financial Analytics presso CDP SpA.

Uno dei metodi di machine learning più utili e semplici è l'Ensemble Learning. L'Ensemble Learning è un metodo alla base di XGBoost, Bagging, Random Forest e molti altri algoritmi.

Su Towards Data Science ci sono molti articoli interessanti, ma ne ho scelti due (prima e seconda), che mi sono piaciuti di più. Allora, perché scrivere un altro articolo sull'EL? Perché voglio mostrarvi come funziona con un semplice esempio, che mi ha fatto capire che non c'era nessuna magia.

Quando ho visto per la prima volta l'EL in azione (lavorando con diversi semplici modelli di regressione), non potevo credere ai miei occhi, e ricordo ancora il professore che mi ha insegnato questo metodo.

Avevo due modelli diversi (due algoritmi di apprendimento deboli) con performance out-of-sample R² pari a 0,90 e 0,93 rispettivamente. Prima di guardare il risultato, pensavo di ottenere un R² somewhere tra i due valori iniziali. In altre parole, pensavo di poter utilizzare l'EL per fare in modo che il modello non funzionasse peggio della peggior performance, ma nemmeno così bene come il miglior modello.

Con grande sorpresa, i risultati della semplice media delle previsioni hanno dato un R² di 0,95. 

Inizialmente ho cercato di capire dove fosse l'errore, ma poi ho pensato che potesse esserci una sorta di magia dietro!

Cos'è l'Ensemble Learning

Con l'EL è possibile combinare le previsioni di due o più modelli per ottenere un modello più robusto ed efficiente. Esistono molte metodologie per lavorare con gli ensemble di modelli. Qui tratterò due delle più utili per dare un'idea generale.

Con regressione è possibile mediare le performance dei modelli esistenti.

Con classificazione è possibile dare la possibilità ai modelli di scegliere le etichette. L'etichetta che viene scelta più frequentemente è quella che sarà scelta dal nuovo modello.

Perché l'EL funziona meglio

La principale ragione per cui l'EL funziona meglio è che ogni previsione ha un errore (lo sappiamo dalla teoria della probabilità); unire due previsioni può aiutare a ridurre l'errore e, di conseguenza, migliorare le prestazioni (RMSE, R², ecc.).

Nel grafico seguente, si può vedere come due algoritmi deboli lavorano su un set di dati. Il primo algoritmo ha un coefficiente angolare superiore a quello necessario, mentre il secondo è quasi nullo (probabilmente a causa di una regolarizzazione eccessiva). Ma ensemble mostra risultati decisamente migliori. 

Se osserviamo il valore di R², il primo e il secondo algoritmo di training avranno rispettivamente valori di -0.01¹ e 0.22, mentre l'ensemble avrà un valore di 0.73.

La magia dell'Ensemble Learning

Ci sono molte ragioni per cui un algoritmo può rivelarsi una cattiva scelta, anche in un esempio così semplice come questo: potresti aver deciso di utilizzare la regolarizzazione per evitare l'overfitting, o aver scelto di non escludere alcune anomalie, oppure potresti aver impiegato una regressione polinomiale selezionando un grado errato (ad esempio, usando un polinomio di secondo grado, mentre nei dati di test è visibile un'evidente asimmetria, per la quale sarebbe stato più adatto un terzo grado).

Quando l'EL funziona meglio

Esaminiamo due algoritmi di apprendimento che operano sugli stessi dati.

La magia dell'Ensemble Learning

Qui è evidente che la combinazione dei due modelli non ha migliorato significativamente le prestazioni. Inizialmente, i valori di R² per i due algoritmi di apprendimento erano -0,37 e 0,22, rispettivamente, mentre per l'ensemble è risultato -0,04. Pertanto, il modello EL ha ottenuto una media dei valori.

Tuttavia, c'è una grande differenza tra questi due esempi: nel primo caso, gli errori dei modelli erano correlati negativamente, mentre nel secondo caso erano correlati positivamente (i coefficienti dei tre modelli non sono stati stimati, ma semplicemente scelti dall'autore come esempio).

Pertanto, il Learning Ensemble può essere utilizzato per migliorare l'equilibrio tra bias e varianza in qualsiasi situazione, ma quando gli errori dei modelli non sono positivamente correlati, l'uso dell'EL può portare a un aumento delle prestazioni..

Modelli omogenei e eterogenei

Molto spesso l'EL viene utilizzato su modelli omogenei (come in questo esempio o in una foresta casuale), ma in realtà puoi combinare modelli diversi (regressione lineare + rete neurale + XGBoost) con vari set di variabili esplicative. Questo porterà probabilmente a errori non correlati e a un miglioramento delle prestazioni.

Confronto con la diversificazione del portafoglio

L'EL funziona in modo analogo alla diversificazione nella teoria del portafoglio, ma è meglio per noi. 

Nella diversificazione, cerchi di ridurre la varianza dei tuoi rendimenti investendo in azioni non correlate. Un portafoglio di azioni ben diversificato produrrà un rendimento migliore rispetto alla peggiore singola azione, ma mai migliore della migliore.

Citando Warren Buffett: 

«La diversificazione è una protezione contro l'ignoranza; per chi non sa cosa sta facendo, essa [diversificazione] ha molto poco senso.»

Nell'apprendimento automatico, l'EL aiuta a ridurre la varianza del tuo modello, ma questo può portare a creare un modello con una prestazione complessiva migliore rispetto al miglior modello originale.

Ricapitoliamo

Unire più modelli in uno è un metodo relativamente semplice che può portare a risolvere il problema del bias e della varianza, migliorando le prestazioni.

Se hai due o più modelli che funzionano bene, non scegliere tra di essi: usali tutti (ma con cautela)!

Sei interessato a svilupparti in questo ambito? Iscriviti a una lezione Demo gratuita «Deploying ML models in a production environment using online recommendations» e partecipa a un incontro online con Andrey Kuznetsov — Machine Learning Engineer di Mail.ru Group.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster