Perché il sovradimensionamento è errato nell'apprendimento automatico?


49

La logica spesso afferma che, sovradimensionando un modello, la sua capacità di generalizzazione è limitata, sebbene ciò possa significare solo che il sovradimensionamento impedisce a un modello di migliorare dopo una certa complessità. Il sovradimensionamento fa sì che i modelli peggiorino indipendentemente dalla complessità dei dati e, in tal caso, perché è così?


Correlati: follow-up alla domanda sopra, " Quando è un modello sottodimensionato? "


1
La tua domanda è davvero se esiste un caso in cui è impossibile vestirsi troppo?
Sean Owen,

@SeanOwen: No, come sarebbe impossibile vestirsi eccessivamente?
errori del

Accetto, solo controllando come hai chiesto se il sovradimensionamento ha causato il peggioramento dei modelli indipendentemente dai dati
Sean Owen,

1
Il sovradimensionamento è negativo per definizione. Se così non fosse, non sarebbe troppo adatto.
Gala,

1
Non intendevo citarti su "aggiungere la complessità del modello" - stavo solo mettendo in evidenza la frase. Ad ogni modo, immagino che il mio problema sia sostanzialmente lo stesso di @GaLa, il che significa che un overfitting significa adattarsi troppo. Quindi sembra che ci stai chiedendo di confermare una tautologia. Quindi, tenderei a pensare che in realtà intendevi porre una domanda diversa. Ad esempio, la crescente complessità del modello fa peggiorare i modelli? Oppure, in che modo la complessità dei dati si collega alla tendenza di un modello a sovralimentarsi?
Nathan Gould,

Risposte:


44

L'eccessivo adattamento è empiricamente negativo. Supponiamo di avere un set di dati suddiviso in due, test e formazione. Un modello sovralimentato è un modello molto più performante nel set di dati di test che nel set di dati di training. Si osserva spesso che modelli del genere hanno anche prestazioni peggiori su set di dati di test (nuovi) aggiuntivi rispetto ai modelli che non sono sovralimentati.

Un modo per capire che intuitivamente è che un modello può usare alcune parti rilevanti dei dati (segnale) e alcune parti irrilevanti (rumore). Un modello sovradimensionato utilizza una quantità maggiore di rumore, il che aumenta le prestazioni in caso di rumore noto (dati di allenamento) e diminuisce le prestazioni in caso di rumore nuovo (dati di prova). La differenza nelle prestazioni tra dati di allenamento e di test indica la quantità di rumore rilevata dal modello; e la raccolta del rumore si traduce direttamente in prestazioni peggiori sui dati di test (compresi i dati futuri).

Riepilogo: il sovradimensionamento è negativo per definizione, questo non ha molto a che fare con la complessità o la capacità di generalizzare, ma piuttosto ha a che fare con il confondere il rumore con il segnale.

PS Sulla parte "capacità di generalizzare" della domanda, è molto possibile avere un modello che ha una capacità intrinsecamente limitata di generalizzare a causa della struttura del modello (ad esempio SVM lineare, ...) ma è ancora incline a sovradattamento. In un certo senso il sovradimensionamento è solo uno dei modi in cui la generalizzazione potrebbe non riuscire.


17

Il sovrautilizzo, in poche parole, significa prendere in considerazione troppe informazioni dai dati e / o conoscenze precedenti e utilizzarle in un modello. Per renderlo più semplice, considera il seguente esempio: sei assunto da alcuni scienziati per fornire loro un modello per prevedere la crescita di un tipo di piante. Gli scienziati ti hanno fornito le informazioni raccolte dal loro lavoro con tali piante per un intero anno e ti forniscono continuamente informazioni sullo sviluppo futuro della loro piantagione.

Quindi, esegui i dati ricevuti e ne costruisci un modello. Supponiamo ora che, nel tuo modello, tu abbia considerato il maggior numero possibile di caratteristiche per scoprire sempre il comportamento esatto delle piante che hai visto nel set di dati iniziale. Ora, man mano che la produzione continua, prenderai sempre in considerazione queste caratteristiche e otterrai risultati molto precisi . Tuttavia, se la piantagione alla fine subisce dei cambiamenti stagionali, i risultati che riceverai potrebbero adattarsi al tuo modello in modo tale che le tue previsioni inizieranno a fallire (sia dicendo che la crescita rallenterà, mentre effettivamente accelererà, o l'opposto).

Oltre a non essere in grado di rilevare variazioni così piccole e di classificare in modo errato le voci, la grana fine del modello, ovvero la grande quantità di variabili, può rendere l'elaborazione troppo costosa. Ora, immagina che i tuoi dati siano già complessi. L'adattamento eccessivo del modello ai dati non solo renderà la classificazione / valutazione molto complessa, ma molto probabilmente ti farà sbagliare la previsione sulla minima variazione che potresti avere sull'input.

Modifica : questo potrebbe anche essere di qualche utilità, forse aggiungendo dinamicità alla spiegazione sopra: D


14

In parole povere, il sovradimensionamento si verifica in genere quando il rapporto

inserisci qui la descrizione dell'immagine

è troppo alto.

Pensa al sovradimensionamento come a una situazione in cui il tuo modello apprende a memoria i dati di allenamento invece di apprendere le immagini di grandi dimensioni che gli impediscono di essere in grado di generalizzare ai dati di test: questo accade quando il modello è troppo complesso rispetto alla dimensione di i dati di addestramento, vale a dire quando la dimensione dei dati di addestramento è troppo piccola rispetto alla complessità del modello.

Esempi:

  • se i dati sono in due dimensioni, si dispone di 10000 punti nel set formazione e il modello è una linea, si rischia di sotto -fit.
  • se i tuoi dati sono in due dimensioni, hai 10 punti nel set di addestramento e il modello è polinomiale a 100 gradi, è probabile che tu sia troppo adatto.

inserisci qui la descrizione dell'immagine

Da un punto di vista teorico, la quantità di dati di cui hai bisogno per addestrare correttamente il tuo modello è una domanda cruciale ma a cui non si può dare una risposta nell'apprendimento automatico. Uno di questi approcci per rispondere a questa domanda è la dimensione VC . Un altro è il compromesso della variazione di bias .

Da un punto di vista empirico, le persone in genere tracciano l'errore di allenamento e l'errore di test sulla stessa trama e si assicurano che non riducano l'errore di allenamento a spese dell'errore di test:

inserisci qui la descrizione dell'immagine

Consiglio di seguire il corso di Machine Learning di Coursera , sezione "10: Consigli per l'applicazione del Machine Learning".

(PS: per favore vai qui per chiedere il supporto TeX su questo SE.)



5

Questo perché qualcosa chiamato dilema della varianza . Il modello sovradimensionato significa che avremo un limite decisionale più complesso se daremo una maggiore varianza al modello. Il fatto è che non solo i modelli troppo semplici, ma anche i modelli complessi possono avere risultati non classificati su dati invisibili. Di conseguenza, il modello sovradimensionato non va bene come modello sottodimensionato. Ecco perché l'overfitting è negativo e dobbiamo adattarci al modello da qualche parte nel mezzo.


+1 Grazie, a seguito della tua risposta, ho pubblicato un seguito alla domanda sopra, " Quando è un modello mal equipaggiato? "
errori

4

Ciò che mi ha fatto capire il problema del sovradimensionamento è stato immaginare quale sarebbe il modello più adatto possibile. In sostanza, sarebbe una semplice tabella di ricerca.

Dite al modello quali attributi ha ogni dato e lo ricorda semplicemente e non fa più nulla con esso. Se gli dai un dato che è stato visto prima, lo cerca e rigurgita semplicemente ciò che gli hai detto in precedenza. Se gli dai dati che non ha mai visto prima, il risultato è imprevedibile o casuale. Ma il punto dell'apprendimento automatico non è dirti cosa è successo, è capire gli schemi e usare quegli schemi per prevedere cosa sta succedendo.

Quindi pensa a un albero decisionale. Se continui a far crescere il tuo albero decisionale sempre più grande, alla fine finirai con un albero in cui ogni nodo foglia si basa esattamente su un punto dati. Hai appena trovato un modo backdoor per creare una tabella di ricerca.

Al fine di generalizzare i risultati per capire cosa potrebbe accadere in futuro, è necessario creare un modello che generalizzi ciò che sta accadendo nel tuo set di formazione. I modelli di Overfit fanno un ottimo lavoro nel descrivere i dati che già possiedi, ma i modelli descrittivi non sono necessariamente modelli predittivi.

Il teorema No Free Lunch afferma che nessun modello può superare qualsiasi altro modello sul set di tutte le possibili istanze. Se vuoi prevedere cosa verrà dopo nella sequenza di numeri "2, 4, 16, 32" non puoi costruire un modello più preciso di qualsiasi altro se non supponi che ci sia un modello sottostante. Un modello che si adatta troppo non sta davvero valutando gli schemi, ma semplicemente modellando ciò che sa è possibile e dandoti le osservazioni. Ottieni potere predittivo supponendo che ci sia qualche funzione sottostante e che se riesci a determinare quale sia quella funzione, puoi prevedere l'esito degli eventi. Ma se davvero non esiste un modello, allora sei sfortunato e tutto ciò che puoi sperare è una tabella di consultazione per dirti ciò che sai è possibile.


1

Stai confondendo erroneamente due entità diverse: (1) la bias-varianza e (2) la complessità del modello.

ϕ^ϕn

|ϕϕ^|eϕ as neϕ

ϕϕ^ϕϕ={m,c}

E[|yM(ϕ^)|]eM as neM

Riepilogo: Sì, sia la distorsione del campione che la complessità del modello contribuiscono alla "qualità" del modello appreso, ma non si influenzano direttamente a vicenda. Se si dispone di dati distorti, indipendentemente dal numero corretto di parametri e dalla formazione infinita, il modello finale appreso avrebbe un errore. Allo stesso modo, se tu avessi meno del numero richiesto di parametri, quindi indipendentemente dal campionamento perfettamente imparziale e dall'allenamento infinito, il modello appreso finale avrebbe un errore.


0

Ci sono state molte buone spiegazioni sull'adattamento eccessivo. Ecco i miei pensieri L'adattamento eccessivo si verifica quando la varianza è troppo elevata e la distorsione è troppo bassa.

Supponiamo che tu abbia dati di allenamento con te, che dividi in N parti. Ora, se ti alleni un modello su ciascuno dei set di dati, avrai N modelli. Ora trova il modello medio e quindi usa la formula della varianza per calcolare quanto ogni modello varia dalla media. Per i modelli sovradimensionati, questa varianza sarà davvero elevata. Questo perché, ogni modello avrebbe parametri stimati che sono molto specifici per il piccolo set di dati che gli abbiamo fornito. Allo stesso modo, se prendi il modello medio e poi scopri quanto è diverso dal modello originale che avrebbe dato la massima precisione, non sarebbe affatto diverso. Questo significa bassa propensione.

Per scoprire se il tuo modello ha funzionato troppo o meno, puoi costruire i grafici menzionati nei post precedenti.

Infine, per evitare un eccesso di adattamento è possibile regolarizzare il modello o utilizzare la convalida incrociata.

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.