Definizione matematica / algoritmica per overfitting


18

Esiste una definizione matematica o algoritmica di overfitting?

Spesso le definizioni fornite sono il classico diagramma 2D di punti con una linea che attraversa ogni singolo punto e la curva di perdita di validazione sale improvvisamente.

Ma esiste una definizione matematicamente rigorosa?

Risposte:


22

Sì, esiste una definizione (leggermente più) rigorosa:

Dato un modello con una serie di parametri, si può dire che il modello si sta adattando eccessivamente ai dati se dopo un certo numero di fasi dell'allenamento, l'errore dell'allenamento continua a diminuire mentre l'errore fuori campione (test) inizia ad aumentare.

inserisci qui la descrizione dell'immagine In questo esempio l'errore fuori campione (test / convalida) prima diminuisce in sincronia con l'errore del treno, quindi inizia ad aumentare intorno alla 90a epoca, ovvero quando inizia il sovradimensionamento

Un altro modo di vederlo è in termini di parzialità e varianza. L'errore fuori campione per un modello può essere scomposto in due componenti:

  • Bias: errore dovuto al fatto che il valore atteso dal modello stimato è diverso dal valore atteso del modello vero.
  • Varianza: errore dovuto al fatto che il modello è sensibile alle piccole fluttuazioni nel set di dati.

X

Y=f(X)+ϵϵE(ϵ)=0Var(ϵ)=σϵ

e il modello stimato è:

Y^=f^(X)

xt

Err(xt)=σϵ+Bias2+Variance

Bias2=E[f(xt)f^(xt)]2Variance=E[f^(xt)E[f^(xt)]]2

(A rigor di termini questa decomposizione si applica nel caso della regressione, ma una decomposizione simile funziona per qualsiasi funzione di perdita, vale a dire anche nel caso della classificazione).

Entrambe le definizioni di cui sopra sono legate alla complessità del modello (misurata in termini di numero di parametri nel modello): maggiore è la complessità del modello, maggiore è la probabilità che si verifichi un overfitting.

Vedi il capitolo 7 di Elements of Statistical Learning per un rigoroso trattamento matematico dell'argomento.

inserisci qui la descrizione dell'immagine Il compromesso di Bias-Variance e la varianza (cioè il sovradimensionamento) aumentano con la complessità del modello. Tratto da ESL, capitolo 7


1
È possibile ridurre sia l'errore di allenamento che quello di prova, ma il modello si adatta ancora? Nella mia mente, la divergenza di allenamento e di errore di prova dimostra un eccesso di adattamento, ma l'eccessivo adattamento non comporta necessariamente la divergenza. Ad esempio, una NN che impara a distinguere i criminali dai non criminali riconoscendo lo sfondo bianco delle foto della prigione è troppo adatta, ma gli errori di addestramento e test probabilmente non sono divergenti.
yters

@yters in quel caso, non credo che ci sarebbe alcun modo per misurare il sovradimensionamento che si verifica. Tutto ciò a cui hai accesso sono i dati di addestramento e test e se entrambi i set di dati mostrano entrambi la stessa funzionalità di cui l'NN sfrutta (sfondo bianco), allora è semplicemente una funzione valida che dovrebbe essere sfruttata e non necessariamente adattata. Se non volevi quella funzionalità, allora dovresti includere variazioni su di essa nei tuoi set di dati.
Calvin Godfrey,

1
@yters il tuo esempio è quello che penso come "overfitting sociale": matematicamente, il modello non è eccessivo, ma ci sono alcune considerazioni sociali esterne che portano al predittore a non funzionare bene. Un esempio più interessante sono alcune competizioni Kaggle e vari set di dati aperti come Boston Housing, MNIST, ecc ... il modello stesso potrebbe non essere troppo adatto (in termini di parzialità, varianza, ecc ...), ma c'è un sacco di conoscenza del problema nella comunità in generale (risultati di precedenti team e documenti di ricerca, kernel condivisi pubblicamente ecc.) che portano a un eccesso di adattamento.
Skander H. - Ripristina Monica il

1
@yters (continua) ecco perché in teoria un set di dati di validazione separato (oltre al set di dati di test) dovrebbe rimanere in un "vault" e non essere usato fino alla validazione finale.
Skander H. - Ripristina Monica il

1
@CalvinGodfrey ecco un esempio più tecnico. Diciamo che ho un set di dati di classificazione binaria che è diviso equamente tra le due classi, e quindi aggiungo rumore alla classificazione da una distribuzione di Bernoulli abbastanza sbilanciata in modo che il set di dati si inclini verso una delle classi. Ho diviso il set di dati in un treno e test e ho raggiunto un'elevata precisione su entrambi in parte a causa della distribuzione sbilanciata. Tuttavia, l'accuratezza del modello non è così elevata nella vera classificazione del set di dati perché il modello ha appreso la distribuzione distorta di Bernoulli.
yters
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.