Errore tra Train vs Test e relativo rapporto con il sovra-adattamento: riconciliazione di consigli contrastanti


14

Sembra che ci siano consigli contrastanti là fuori su come gestire il confronto tra errore treno e test, in particolare quando c'è un divario tra i due. Sembra che ci siano due scuole di pensiero che per me sembrano in conflitto. Sto cercando di capire come conciliare i due (o capire cosa mi sto perdendo qui).

Pensiero n. 1: un divario tra il treno e le prestazioni del set di prova da solo non indica un eccesso di adattamento

In primo luogo (anche discusso qui: in che modo il confronto tra errori di addestramento e test può essere indicativo di un eccesso di adattamento? ), L'idea che una differenza tra treno e set di prova da solo non può indicare un eccesso di adattamento. Ciò è in accordo con la mia esperienza pratica con, ad esempio, i metodi dell'albero insieme, in cui anche dopo l'ottimizzazione dei parametri ipertestuali basata sulla convalida incrociata, il divario tra il treno e l'errore del test può rimanere alquanto ampio. Ma (indipendentemente dal tipo di modello) fintanto che l'errore di convalida non viene ripristinato, stai bene. Almeno, questo è il pensiero.

Pensiero n. 2: quando vedi un divario tra il treno e le prestazioni del test: fai cose che potrebbero combattere il sovradimensionamento

Tuttavia, ci sono consigli che vedi, da ottime fonti che suggeriscono che un divario tra il treno e l'errore di prova è indicativo di un eccesso di adattamento. Ecco un esempio: il discorso "Nuts and Bolts of Deep Learning" di Andrew Ng (un discorso fantastico) https://www.youtube.com/watch?v=F1ka6a13S9I dove intorno alle ore 48:00 disegna un diagramma di flusso che dice "se l'errore del set di treni è basso e l'errore del set di sviluppo del treno è alto, è necessario aggiungere regolarizzazione, ottenere più dati o modificare l'architettura del modello" ... che sono tutte le azioni che è possibile intraprendere per combattere l'eccesso di equipaggiamento.

Il che mi porta a ... : mi sto perdendo qualcosa qui? Si tratta di una regola empirica specifica per modello (in genere i modelli più semplici sembrano avere uno spazio minore tra treno e prova)? O ci sono semplicemente due diverse scuole di pensiero?

Risposte:


4

Non penso che questo sia un consiglio contrastante. Ciò a cui siamo veramente interessati sono le buone prestazioni fuori campione, non la riduzione del divario tra allenamento e prestazioni del set di test. Se le prestazioni del set di test sono rappresentative delle prestazioni al di fuori del campione (ovvero il set di test è abbastanza grande, non contaminato ed è un campione rappresentativo dei dati a cui verrà applicato il nostro modello), quindi finché otteniamo buone prestazioni sul set di test non ci stiamo adattando eccessivamente, indipendentemente dal divario.

Spesso, tuttavia, se esiste un grande divario, ciò potrebbe indicare che potremmo ottenere migliori prestazioni del set di test con una maggiore regolarizzazione / introducendo più distorsioni nel modello. Ciò non significa che un divario minore significhi un modello migliore; è solo che se abbiamo un piccolo o nessun divario tra la formazione e le prestazioni del set di test, sappiamo che sicuramente non ci stiamo adattando troppo, quindi aggiungere regolarizzazione / introdurre più distorsioni nel modello non aiuterà.


Punto interessante Riassumendo "nessun divario tra treno e prova" significa sicuramente nessun eccesso, ma "un divario tra treno e prova" può o meno significare un eccesso. Se andiamo da questa logica, il diagramma di flusso nel discorso di Andrew Ng sembra un po 'fuorviante: non è così Slam Dunk come la diapositiva cioè suggerisce se si dispone di una lacuna, si potrebbe provare a regolarizzazione o di ottenere più dati, ma non può aiutare. Sei d'accordo?
ednaMode

1
Dalla mia esperienza, sì, sarei d'accordo.
risciacquare il

"Riassumendo nessun divario tra treno e prova significa sicuramente nessun eccesso di equipaggiamento" potrebbe non necessariamente valere. Quando hai una quantità infinita di dati, otterrai zero divario tra treno e test anche se il modello si adatta. Quindi penso che per affermare che questa affermazione è valida, hai bisogno di ulteriori presupposti.
LKS

@LKS Non sono sicuro di cosa intendi per eccesso di equipaggiamento qui. Le prestazioni fuori campione saranno sempre inferiori o uguali alle prestazioni all'interno del campione, supponendo che la distribuzione dei dati rimanga costante. Quindi zero gap è il nostro scenario migliore. Come può esserci un overfitting con zero gap?
risciacquo

@rinspy se si definisce overfitting come il divario numerico tra i dati di training e test, la propria affermazione è corretta. Ma vorrei ragionare di più su ciò che il modello sta facendo. Ad esempio, abbiamo una funzione polinomiale di grado 3 e il risultato includerà un piccolo rumore gaussiano. Se disponiamo di campioni finiti e utilizziamo un polinomio di grado 5 per adattarci, vi è una grande performance tra (dentro e fuori dal campione) (previsione). Ma se possiamo disegnare campioni quasi infiniti, un modello che memorizza puramente avrà zero in / out di errore del campione.
LKS
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.