L'overfitting è quando un modello memorizza troppo bene i dati di addestramento — incluse le loro stranezze e rumore — e poi non sa generalizzare a dati nuovi.
Analogia: studente che impara a memoria le risposte di un test passato e poi fallisce un test diverso sullo stesso argomento. Sa tutto del passato e niente di nuovo.
Sintomi classici:
- Performance eccellente sul training set.
- Performance scarsa sul test set (dati che il modello non ha mai visto).
- Più si addestra, peggio diventa sui dati nuovi.
Cause:
- Modello troppo grande per la quantità di dati disponibili.
- Dati di training poco vari o poco rappresentativi.
- Addestramento troppo lungo senza regolarizzazione.
Tecniche per ridurlo:
- Più dati: la cura migliore.
- Regolarizzazione (L1, L2, dropout): vincoli matematici sul modello.
- Early stopping: smettere di addestrare prima che il modello peggiori sui dati di test.
- Data augmentation: creare varianti dei dati di training (foto specchiate, frasi parafrasate).
L'opposto è l'underfitting: modello troppo semplice per imparare i pattern.