Come sapere se il modello ha iniziato a funzionare in modo eccessivo?


12

Spero che i seguenti estratti forniranno una panoramica di quale sarà la mia domanda. Questi sono da http://neuralnetworksanddeeplearning.com/chap3.html

L'apprendimento quindi rallenta gradualmente. Alla fine, intorno all'epoca 280, l'accuratezza della classificazione smette praticamente di migliorare. Le epoche successive vedono semplicemente piccole fluttuazioni stocastiche vicino al valore dell'accuratezza nell'epoca 280. Contrastate questo con il grafico precedente, in cui il costo associato ai dati di addestramento continua a scendere senza intoppi. Se guardiamo solo a quel costo, sembra che il nostro modello stia ancora migliorando. Ma i risultati della precisione del test mostrano che il miglioramento è un'illusione. Proprio come il modello non apprezzato da Fermi, ciò che la nostra rete apprende dopo l'epoca 280 non generalizza più ai dati del test. E quindi non è utile l'apprendimento. Diciamo che la rete si sta adattando o sovrallenando oltre l'epoca 280.

Stiamo addestrando una rete neurale e il costo (sui dati di allenamento) sta scendendo fino all'epoca 400, ma l'accuratezza della classificazione sta diventando statica (salvo alcune fluttuazioni stocastiche) dopo l'epoca 280, quindi concludiamo che il modello si sta adattando troppo ai dati di allenamento dopo l'epoca 280.

Possiamo vedere che il costo sui dati dei test migliora fino all'età di circa 15 anni, ma in seguito inizia a peggiorare, anche se i costi sui dati di addestramento continuano a migliorare. Questo è un altro segno che il nostro modello è troppo adatto. Pone un enigma, tuttavia, che è se dovremmo considerare l'epoca 15 o l'epoca 280 come il punto in cui il superamento sta arrivando a dominare l'apprendimento? Da un punto di vista pratico, ciò che ci interessa davvero è migliorare l'accuratezza della classificazione sui dati del test, mentre il costo sui dati del test non è altro che un proxy per l'accuratezza della classificazione. E quindi ha più senso considerare l'epoca 280 come il punto oltre il quale il sovraprezzo sta dominando l'apprendimento nella nostra rete neurale.

A differenza dell'accuratezza della classificazione sui dati dei test rispetto ai costi di formazione in precedenza, ora stiamo posizionando i costi sui dati dei test a fronte dei costi di formazione.

Quindi il libro continua spiegando perché 280 è l'epoca giusta da cui è iniziato il sovradimensionamento. Questo è ciò con cui ho un problema. Non posso avvolgere la mia testa attorno a questo.

Chiediamo al modello di ridurre al minimo il costo e quindi il costo è la metrica che utilizza come misura della propria forza per classificare correttamente. Se consideriamo 280 come l'epoca giusta in cui è iniziato il sovradimensionamento, non abbiamo in alcun modo creato un modello distorto che, sebbene sia un migliore classificatore sui dati di test particolari, ma che tuttavia prende decisioni con scarsa fiducia e quindi è più incline a deviare dai risultati mostrati sui dati del test?


Il modello non è a conoscenza del set di test . È un proxy per i dati invisibili. Pertanto, se proviene da una distribuzione rappresentativa, è possibile utilizzarlo per determinare quando si verifica un overfitting. Se lo desideri, puoi creare un altro set di controllo e vedere se questo presupposto è valido.
Emre,

Cosa intendi con "prendere decisioni con scarsa fiducia"?
Grasshopper,

@Grasshopper diciamo che il modello sta cercando di prevedere una delle 4 classi {A, B, C, D}. Le etichette dei dati di test (in ordine) sono (A, B, C, D). Ora in un caso il modello lancia le probabilità come (etichetterò le previsioni insieme) ((0.28, 0.24, 0.24, 0.24) (A), (0.24,0.28,0.24,0.24) (B), (0.24.0.24, 0.28,0.24) (C), (0.24,0.24,0.24,0.28) (D)) e in un altro modello getta ((1,0,0,0) (A), (0,1,0,0) (B), (0,24,0,26,0,25,0,25) (B), (0,0,0,1) (D)). Quello che intendo per scarsa fiducia è il primo caso. si prega di notare che l'accuratezza della classificazione è del 100% in primo luogo e tuttavia il costo è più elevato
Nitin Siwach

@Grasshopper In breve. La prima istanza del modello viene creata dopo 280 epoche (fare riferimento alla domanda posta) e la seconda istanza del modello viene creata dopo 15 epoche. Ora il libro continua a suggerire l'epoca 280 come quella in cui è iniziata la sovra-installazione. Sto trovando difficile inghiottirlo. qualsiasi aiuto o pensiero che puoi fornire sono molto apprezzati.
Nitin Siwach,

Risposte:


6

Diciamo che vogliamo prevedere se uno studente realizzerà un colloquio di lavoro basato sul suo curriculum.

Ora, supponiamo di formare un modello da un set di dati di 10.000 curriculum e i loro risultati.

Successivamente, proviamo il modello sull'insieme di dati originale e prevede risultati con un'accuratezza del 99% ... wow!

Ma ora arrivano le cattive notizie.

Quando eseguiamo il modello su un nuovo set di dati ("invisibile") di curriculum, otteniamo solo un'accuratezza del 50% ... uh-oh!

Il nostro modello non si generalizza bene dai nostri dati di addestramento ai dati invisibili.

Questo è noto come overfitting ed è un problema comune nell'apprendimento automatico e nella scienza dei dati.

Overfitting V / s Underfitting

Siamo in grado di capire meglio il sovraprezzo osservando il problema opposto, il sottofondo.

Il underfitting si verifica quando un modello è troppo semplice - informato da troppo poche funzionalità o regolarizzato troppo - il che lo rende poco flessibile nell'apprendimento dal set di dati.

Gli studenti semplici tendono ad avere una minore varianza nelle loro previsioni, ma una maggiore propensione verso risultati errati (vedi: Il compromesso bias-varianza).

D'altra parte, gli studenti complessi tendono ad avere una maggiore varianza nelle loro previsioni.

Sia la distorsione che la varianza sono forme di errore di previsione nell'apprendimento automatico.

In genere, possiamo ridurre l'errore dalla distorsione, ma di conseguenza potremmo aumentare l'errore dalla varianza o viceversa.

Questo compromesso tra troppo semplice (alta inclinazione) e troppo complesso (alta varianza) è un concetto chiave nelle statistiche e nell'apprendimento automatico e uno che influenza tutti gli algoritmi di apprendimento supervisionato.


2

Qualcosa che ho imparato nel modo più duro è tracciare le curve di apprendimento, lo so, non è divertente come scrivere il codice di apprendimento automatico di per sé, ma è fondamentale capire visivamente cosa sta succedendo.

Una regola empirica è che un eccesso di adattamento si verifica quando la precisione del treno continua a migliorare mentre la precisione della convalida smette di migliorare (o addirittura inizia a peggiorare).

La soluzione più semplice per evitare un eccesso di adattamento è l'arresto anticipato (interrompere l'allenamento non appena le cose sembrano andare male), ovviamente la soluzione più semplice ha un costo: non è la soluzione migliore. La regolarizzazione e l'abbandono sono buoni strumenti per combattere l'adattamento, ma è una questione diversa :)

Spero che sia d'aiuto


2

Come dice la fonte che stai citando "il costo sui dati del test non è altro che un proxy per l'accuratezza della classificazione". Potresti chiedere, perché dovremmo usare un proxy, perché non usare direttamente l'accuratezza? La risposta è che è necessario ridurre al minimo la funzione di costo rispetto a pesi e distorsioni. Pertanto deve essere una funzione differenziabile dei pesi e dei pregiudizi. La precisione non è una funzione differenziabile e pertanto non può essere utilizzata direttamente. Ma poiché alla fine ti preoccupi dell'accuratezza, come hai illustrato sopra (... tieni presente che l'accuratezza della classificazione è al 100% in prima istanza e tuttavia il costo è più elevato ...), determini il sovradattamento in base all'accuratezza del test impostato.


0

Per capire cosa significa overfitting e in che modo influisce sull'accuratezza del modello, è necessario comprendere il compromesso della differenziazione.

Sottoadattamento e sovra-adattamento sono due diversi problemi che sono direttamente correlati a problemi di variazione parziale. È sempre importante comprendere la relazione tra tre diversi fattori e come questi fattori sono collegati a problemi di bias-varianza (sovra-adattamento-sotto-adattamento):

1- la dimensione del modello. Numero di parametri

2- la quantità di dati disponibili per la formazione. Numero di campioni di addestramento.

3- il numero di iterazioni. iterazioni di addestramento.

Stabilire una connessione diretta tra questi fattori e problemi di adattamento eccessivo senza guardare agli altri porterà sempre a conclusioni errate.

A causa della comprensione di questi fattori e del collegamento del tema utilizzando equazioni matematiche per evitare problemi di adattamento eccessivo e insufficiente è un compito difficile, più che dipende da un compito, le persone usano metodi semplici per scoprire ed evitare un eccesso di adattamento. Il modo più semplice è dividere i dati in tre parti diverse, formazione, validazione e test. Il test non deve essere toccato. Utilizzare il set di formazione per addestrare la rete e il set di convalida per testare la rete dopo ogni iterazione o un numero di iterazioni. Teoricamente, vedrai che l'errore sul set di validazione diminuisce gradualmente per le prime N iterazioni e quindi sarà stabile per pochissime iterazioni e quindi inizierà ad aumentare. Quando l'errore inizia ad aumentare, la rete inizia a sovrascrivere i dati di allenamento e il processo di allenamento deve essere interrotto.

Nota: il valore N è molto correlato ai tre fattori che ho elencato sopra. È sempre una buona pratica avere un set dimostrativo di allenamento e testare con diversi modelli, dati di allenamento. Vedrai che più grande è il modello, minore sarà il numero di allenamenti, più piccolo sarà il N., più piccolo sarà il modello, maggiore sarà il numero di allenamenti, maggiore sarà il N. Nota: fai attenzione quando usi modelli piccoli con problemi di adattamento insufficiente.


Hai detto "Teoricamente, vedrai che l'errore sul set di validazione diminuisce gradualmente per le prime N iterazioni e quindi sarà stabile per pochissime iterazioni e quindi inizierà ad aumentare." Cosa intendi per errore qui. Questo è esattamente il problema che ho sollevato nella domanda. La risposta è 15 se prendo il costo come misura dell'errore e 280 se prendo l'accuratezza della classificazione come misura dell'errore
Nitin Siwach,

si prega di notare la correzione nel commento sopra: la risposta a quando è iniziato il sovradimensionamento è l'epoca 15 se prendo il costo come misura dell'errore e l'epoca 280 se prendo l'accuratezza della classificazione come misura dell'errore
Nitin Siwach

L'errore nel set di convalida
Bashar Haddad,

e la misura di quell'errore è? (100 - Precisione della classificazione) o costo. Comprendo che l'errore sul set di convalida significa in relazione alla precisione della classificazione. Ma è esattamente quello che chiedo. Perché non il costo? Si prega di fare riferimento ai commenti che ho fatto in risposta a Grasshopper sulla domanda originale
Nitin Siwach,
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.