In statistica e in informatica, si parla di overfitting o sovradattamento (oppure adattamento eccessivo) quando un modello statistico molto complesso si adatta ai dati osservati (il campione) perché ha un numero eccessivo di parametri rispetto al numero di osservazioni.

Una serie di dati all'incirca lineare (ma affetta da rumore), approssimabile sia da una funzione lineare sia da una interpolazione polinomiale. Nonostante quella polinomiale si adatti in modo perfetto ai dati, ci si aspetta che la versione lineare debba rappresentare una migliore generalizzazione: quindi, in un'estrapolazione al di fuori dei dati conosciuti la funzione lineare fornirebbe migliori predizioni.
La curva blu mostra l'andamento dell'errore nel classificare i dati di training, mentre la curva rossa mostra l'errore nel classificare i dati di test o validazione. Una situazione in cui il secondo aumenta mentre il primo diminuisce è indice della possibile presenza di un caso di overfitting.

Un modello assurdo e sbagliato può adattarsi perfettamente se è abbastanza complesso rispetto alla quantità di dati disponibili.

Si sostiene che l'overfitting sia una violazione del principio del rasoio di Occam.

Apprendimento automatico e data mining modifica

Il concetto di overfitting è molto importante anche nell'apprendimento automatico e nel data mining. Di solito un algoritmo di apprendimento viene allenato usando un certo insieme di dati conosciuti, detto training set. Un buon algoritmo di apprendimento impara la distribuzione dei dati di questo insieme ma è in grado di adattarsi bene anche a dati nuovi (in gergo, si dice che l'algoritmo generalizza).

Tuttavia, soprattutto nei casi in cui l'apprendimento è stato effettuato troppo a lungo o dove c'era uno scarso numero di esempi di allenamento, il modello potrebbe adattarsi a caratteristiche che sono specifiche solo del training set, ma che non hanno riscontro nella distribuzione tipica del resto dei casi. Perciò il modello impara le peculiarità del training set e non riesce ad adattarsi a dati nuovi. Si ha quindi overfitting quando il miglioramento delle prestazioni del modello (cioè la capacità di adattarsi/prevedere) sui dati di allenamento non implica un miglioramento delle prestazioni sui dati nuovi.

Contromisure modifica

Sia nella statistica sia nell'apprendimento automatico, per prevenire ed evitare l'overfitting è necessario mettere in atto particolari accorgimenti tecnici, come la convalida incrociata e l'arresto anticipato, che indicano quando un ulteriore allenamento non porterebbe a una migliore generalizzazione.

Nel treatment learning si evita l'overfitting utilizzando il valore di supporto migliore e minimale.

Altri progetti modifica