Overfitting

[ovèr-fitting]

Quando un modello impara troppo a memoria i dati di addestramento e poi fa schifo sui dati nuovi. Problema classico del machine learning.

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.