In parole semplici, l'overfitting è il contrario dell'underfitting, e si verifica quando il modello è stato addestrato in misura eccessiva o quando contiene troppa complessità, da cui ne conseguono elevati tassi di errore sui dati di test. Per un modello è più comune la condizione di overfitting che quella di underfitting, e quest'ultimo si verifica di norma quando si tenta di evitare l'overfitting mediante un processo denominato "arresto anticipato".
Se un addestramento insufficiente o una carenza di complessità causa una condizione di underfitting, una strategia di prevenzione logica consisterebbe nell'aumentare la durata dell'addestramento o nell'aggiungere più input pertinenti. Tuttavia, se addestri troppo il modello o se vi aggiungi troppe caratteristiche, potresti causare un overfitting del tuo modello, da cui deriverebbe una bassa distorsione ma un'elevata varianza (parliamo cioè del compromesso distorsione-varianza). In questo scenario, il modello statistico si adatta troppo strettamente ai suoi dati di addestramento, rendendolo incapace di eseguire bene la generalizzazione sui nuovi punti di dati. È importante notare che alcuni tipi di modelli possono essere più inclini all'overfitting rispetto ad altri, come gli alberi decisionali o il KNN.
L'overfitting può essere più difficile da identificare dell'underfitting perché, a differenza di quest'ultimo, le prestazioni dei dati di addestramento in un modello soggetto a overfitting sono altamente accurate. Per valutare l'accuratezza di un algoritmo, si utilizza di norma una tecnica denominata convalida incrociata k-fold.
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.
Lo scenario ideale, quando si esegue l'adattamento di un modello, consiste nel trovare il punto di equilibrio tra overfitting e underfitting. Identificare il punto ottimale tra i due consente ai modelli di machine learning di fare previsioni in modo accurato.