L'overfitting è un fenomeno della data science che si verifica quando un modello statistico si adatta esattamente ai suoi dati di allenamento. Quando questo accade, l'algoritmo purtroppo non può funzionare correttamente in presenza di dati inediti, vanificando il suo scopo. La generalizzazione di un modello sui nuovi dati è in definitiva ciò che ci consente di utilizzare gli algoritmi di machine learning ogni giorno per fare delle previsioni e classificare i dati.
Quando vengono creati degli algoritmi di apprendimento automatico, essi sfruttano un set di dati campione per addestrare il modello. Tuttavia, quando il modello si allena troppo a lungo su dati campione o quando il modello è troppo complesso, può iniziare a riconoscere il "rumore", ovvero informazioni irrilevanti, all'interno del set di dati. Quando il modello memorizza il rumore e si adatta troppo strettamente al set di allenamento, il modello diventa "overfitted" e non è in grado di generalizzare adeguatamente con nuovi dati. Se un modello non può generalizzare bene con nuovi dati, allora non sarà in grado di eseguire i compiti di classificazione o predizione per i quali è stato pensato.
Bassi tassi di errore e un'alta varianza sono buoni indicatori dell' overfitting. Per prevenire questo tipo di comportamento una parte del set di dati di addestramento è tipicamente messa da parte come "set di test" per testare l'overfitting. Se i dati di addestramento hanno un basso tasso di errore e i dati di test hanno un alto tasso di errore, segnala un overfitting.
Se un eccessivo addestramento o la complessità del modello risulta in un overfitting, allora una risposta logica di prevenzione sarebbe quella di mettere in pausa il processo di formazione prima, noto anche come "arresto precoce" o di ridurre la complessità del modello eliminando gli input meno rilevanti. Tuttavia, se ci si ferma troppo presto o si escludono troppe caratteristiche importanti, si può incorrere nel problema opposto e al contrario, si può ottenere un underfit del modello. L'underfitting si verifica quando il modello non è stato addestrato per un tempo sufficiente o le variabili di input non sono abbastanza significative per determinare una relazione significativa tra le variabili di input e quelle di output.
In entrambi gli scenari, il modello non può stabilire la tendenza dominante all'interno del dataset di addestramento. Di conseguenza, anche l'underfitting si adatta male ai dati inediti. Tuttavia, a differenza dell'overfitting, i modelli underfitted sperimentano alti bias e meno varianza nelle loro previsioni. Questo illustra il compromesso bias-varianza, che si verifica nel momento in cui un modello underfitted è passato a uno stato overfitted. Man mano che il modello apprende, il suo bias si riduce, ma può aumentare la varianza man mano che diventa overfitted. Quando si adatta un modello, l'obiettivo è quello di trovare il "punto ottimale" tra underfitting e overfitting, in modo da poter stabilire una tendenza dominante e applicarla su larga scala a nuovi set di dati.
Per valutare l'accuratezza dei modelli di apprendimento automatico, è importante testare il livello di fitness del modello. La validazione incrociata K-fold è una delle tecniche più popolari per valutare l'esattezza del modello.
Nella convalida incrociata k-fold, i dati vengono suddivisi in k sottoinsiemi di pari dimensioni, detti anche "fold". Uno dei k-fold fungerà da set di test, noto anche come set di holdout o set di validazione, e i restanti fold addestreranno il modello. Questo processo si ripete finché ciascuno dei fold non avrà funto da fold di holdout. Dopo ogni valutazione, ne viene conservato un punteggio e, una volta completate tutte le iterazioni, viene calcolata una media di tali punteggi per valutare le prestazioni del modello complessivo.
Sebbene l'uso di un modello lineare ci aiuti ad evitare l'overfitting, molti problemi del mondo reale sono non lineari. Oltre a capire come rilevare l'overfitting, è importante capire come evitare del tutto l'overfitting. Di seguito sono riportate alcune tecniche che possono essere utilizzate per prevenire l'overfitting:
Mentre quanto sopra è la definizione consolidata di overfitting, una recente ricerca (PDF, 1,2 MB, link esterno a IBM) indica che i modelli complessi, come i modelli di apprendimento profondo e le reti neurali, eseguono un'alta precisione nonostante siano addestrati per "adattarsi esattamente o interpolare". Questo risultato è direttamente in contrasto con la letteratura storica su questo argomento, e si spiega attraverso la curva di rischio "a pendenza doppia" qui sotto. Si può notare che come il modello impara oltre la soglia di interpolazione, le sue prestazioni migliorano. I metodi che abbiamo menzionato prima per evitare l'overfitting, come l'arresto anticipato e la regolarizzazione, possono effettivamente prevenire l'interpolazione.
IBM Watson Studio è una piattaforma di dati aperta che consente ai data scientist di creare, eseguire, testare e ottimizzare i modelli di AI su vasta scala su qualsiasi cloud. IBM Watson Studio ti consente di rendere operativa l'AI ovunque come parte di IBM Cloud Pak® for Data. Unisci i team, semplifica la gestione del ciclo di vita AI e accelera il time to value con un'architettura multicloud open source e flessibile.
Per creare dei modelli di machine learning in modo accurato, registrati per l'IBMid e crea il tuo account IBM Cloud oggi stesso.