In parole semplici, l'overfitting è l'opposto dell'underfitting, che si verifica quando il modello è stato addestrato eccessivamente o quando contiene troppa complessità, con conseguenti tassi di errore elevati nei dati di test. L'overfitting di un modello è più comune dell'underfitting; l'underfitting solitamente si verifica nel tentativo di evitare l'overfitting attraverso un processo chiamato "arresto anticipato".
Se l'addestramento insufficiente o la mancanza di complessità si traducono in un underfitting, una buona strategia di prevenzione logica sarebbe rappresentata dall'aumento della durata dell'addestramento o dall'aggiunta di input più pertinenti. Tuttavia, se si addestra troppo il modello o si aggiungono troppe caratteristiche, il modello potrebbe andare in overfitting, con conseguente bassa distorsione ma elevata varianza (ovvero il compromesso tra bias e varianza). In questo scenario, il modello statistico si adatta troppo strettamente ai dati di training, rendendolo incapace di generalizzare correttamente a nuovi punti 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'identificazione dell'overfitting può essere più difficile dell'underfitting, perché a differenza dell'underfitting, i dati di addestramento hanno un'elevata precisione in un modello overfitted. Per valutare l'accuratezza di un algoritmo, in genere si utilizza una tecnica chiamata convalida incrociata k-fold.
Nella convalida incrociata k-fold, i dati vengono suddivisi in k sottoinsiemi di uguali dimensioni, che sono anche chiamati "fold". Uno dei k-fold fungerà da set di test, noto anche come set di holdout o set di convalida, e i restanti fold addestreranno il modello. Questo processo si ripete fino a quando ogni fold non avrà funto da fold di holdout. Dopo ogni valutazione, viene mantenuto un punteggio e, al termine di tutte le iterazioni, viene calcolata la media dei punteggi per valutare le prestazioni del modello complessivo.
Lo scenario ideale quando si adatta un modello consiste nel trovare l'equilibrio tra overfitting e underfitting. L'identificazione dell'equilibrio perfetto tra i due permette ai modelli di machine learning di fare previsioni precise.