L’overfitting si verifica quando un modello si adatta troppo ai dati di addestramento e impara dettagli accidentali, rumore, outlier o regolarità presenti solo nel campione osservato. Il modello appare molto accurato sui dati con cui è stato costruito, ma perde capacità di generalizzare su dati nuovi.
È uno dei problemi centrali dell’apprendimento supervisionato: l’obiettivo non è riprodurre perfettamente il training set, ma imparare una struttura stabile del fenomeno. Un modello che memorizza il passato senza estrarre regole robuste è spesso inutile in produzione, anche se le metriche interne sembrano eccellenti.
1. Sintomo principale
Il segnale più comune è una forte differenza tra errore di addestramento ed errore su dati non visti:
In classificazione il modello può avere accuratezza quasi perfetta sul training set e prestazioni modeste sul test set. In regressione può avere residui molto piccoli sui dati usati per la stima e previsioni instabili su nuove osservazioni.
La diagnosi richiede una separazione corretta tra training, validation e test set. Senza una procedura di validazione incrociata o un test set indipendente, l’overfitting può restare nascosto.
2. Bias, varianza e complessità
L’overfitting è legato al bias-variance tradeoff. Un modello molto flessibile ha bias basso, perché può adattarsi a forme complesse, ma può avere varianza alta: piccoli cambiamenti nel campione producono grandi cambiamenti nella funzione stimata.
In forma schematica, l’errore atteso di previsione può essere scomposto in:
L’overfitting è il caso in cui la riduzione del bias ottenuta aumentando la complessità viene più che compensata dall’aumento della varianza.
3. Cause frequenti
Le cause più comuni sono:
- modello troppo complesso rispetto alla quantità di dati;
- numero di variabili elevato rispetto al numero di osservazioni;
- rumore elevato nella risposta;
- outlier o errori di misura interpretati come segnali;
- tuning eccessivo degli iperparametri sul validation set;
- data leakage, cioè uso accidentale di informazioni non disponibili in fase predittiva;
- ripetizione di molti esperimenti senza controllo della selezione del modello.
In modelli come alberi di decisione, reti neurali, polinomi di grado alto o modelli con molte interazioni, la flessibilità può crescere rapidamente. In campioni piccoli anche un modello apparentemente semplice può sovradattare se le variabili sono molte o fortemente correlate.
4. Data leakage
Il data leakage è una forma particolarmente insidiosa di overfitting. Si verifica quando il processo di addestramento usa informazioni che, nella realtà, non sarebbero disponibili al momento della previsione.
Esempi tipici:
- normalizzare le variabili usando media e varianza calcolate sull’intero dataset prima dello split;
- selezionare feature usando anche il test set;
- includere variabili registrate dopo l’evento da prevedere;
- usare duplicati o osservazioni quasi identiche distribuite tra train e test.
In questi casi le metriche di test non misurano più generalizzazione reale. Il modello può sembrare molto buono perché il test set è stato contaminato.
5. Regolarizzazione
La regolarizzazione limita la complessità effettiva del modello penalizzando parametri grandi o strutture troppo flessibili. In regressione, per esempio, la ridge regression minimizza:
mentre il lasso usa una penalizzazione \ell_1:
Il parametro \lambda controlla il compromesso tra adattamento ai dati e semplicità del modello. Se \lambda è troppo piccolo, resta il rischio di overfitting; se è troppo grande, il modello può diventare troppo rigido.
6. Altre contromisure
Le strategie dipendono dal tipo di modello:
- potatura negli alberi decisionali;
- profondità massima o numero minimo di osservazioni per foglia;
- early stopping nei modelli iterativi;
- dropout nelle reti neurali;
- riduzione dimensionale o selezione di variabili;
- aumento dei dati o data augmentation, quando coerente con il dominio;
- bagging e modelli ensemble, come random forest;
- validazione annidata per stimare correttamente l’effetto del tuning.
Nessuna contromisura sostituisce un buon disegno del flusso di valutazione. Un modello regolarizzato può comunque sovradattare se gli iperparametri sono scelti guardando ripetutamente il test set.
7. Overfitting nei modelli non supervisionati
Il concetto non riguarda solo la previsione supervisionata. Nell’apprendimento non supervisionato si può sovradattare scegliendo troppi cluster, troppe componenti latenti o una rappresentazione che descrive rumore campionario invece di struttura stabile.
Per esempio, un modello di clustering con molti gruppi può separare piccole fluttuazioni casuali; una PCA con troppe componenti può conservare rumore; un modello a miscela con troppe gaussiane può adattare singoli punti anomali.
8. Segnali diagnostici
Oltre al divario tra train e test, sono segnali di overfitting:
- curva di apprendimento con errore train basso e validation alto;
- prestazioni molto variabili tra fold di cross-validation;
- parametri instabili al cambiare del campione;
- importanze delle variabili non robuste;
- prestazioni che crollano su dati di periodo, macchina o lotto diverso;
- modello difficilmente interpretabile rispetto alla complessità del fenomeno.
La diagnosi più forte è la riproduzione su dati realmente nuovi, raccolti in condizioni operative comparabili a quelle future.
9. Errore opposto: underfitting
L’opposto dell’overfitting è l’underfitting: il modello è troppo semplice per catturare la struttura dei dati. In quel caso sia l’errore di training sia l’errore di test restano alti.
Il problema pratico è trovare un livello di complessità adeguato. Non sempre il modello più semplice è migliore: se la relazione è non lineare o interattiva, un modello troppo rigido può sbagliare sistematicamente.
10. Uso operativo
In ingegneria l’overfitting è pericoloso perché produce decisioni fiduciose ma fragili: manutenzione predittiva che fallisce su nuove macchine, classificatori di difetti che non reggono a lotti diversi, modelli di domanda che inseguono fluttuazioni storiche, sistemi di controllo tarati su dati troppo specifici.
La prevenzione richiede pipeline pulite, split coerenti con l’uso futuro, validazione indipendente, controllo del leakage, regolarizzazione, analisi della stabilità e una domanda sempre esplicita: il modello sta imparando il fenomeno o solo il campione?