Domanda:
Perché ci preoccupiamo dell'overfitting anche se "tutti i modelli sono sbagliati"?
Gillian
2019-10-31 18:27:31 UTC
view on stackexchange narkive permalink

Mi chiedo perché ci preoccupiamo così tanto dell'overfitting.Sappiamo che i modelli statistici sono strumenti per comunicarci alcune informazioni, ma non sono nemmeno completamente accurati.

Nessun abito ha esattamente la forma di chi lo indossa.Perché allora dovremmo preoccuparci di una buona sartoria?
"Tutti" i modelli in realtà significa * tutti * i modelli.Compreso il modello dell'ambiente circostante che il cervello forma quando interpreta i segnali luminosi che riceve.Quindi chiudi gli occhi, non puoi comunque fidarti di loro.
> [...] ma non sono nemmeno del tutto accurati.Non devono essere completamente accurati per essere utili.
Benvenuto in CV, Gillian."Tutte le teorie vengono infine smentite e scartate, ma alcune non sono nemmeno temporaneamente corrette." - Richard Levins
Una ragione diversa "per cui [dobbiamo] preoccuparci così tanto dell'overfitting" potrebbe essere nel modo in cui funziona il nostro cervello: noi esseri umani forse siamo piuttosto cattivi nel rilevare l'overfitting, cioè tendiamo a overfit anche i modelli nel nostro cervello.Per questo motivo dobbiamo porre particolare attenzione all'argomento, sia per i nostri modelli in vivo che per quelli in silico.
"È meglio avere approssimativamente ragione che esattamente sbagliato" - varie attribuzioni
-1.C'è molta letteratura su questo argomento, in gran parte facilmente accessibile a non esperti (come me).Non è chiaro quale sia la domanda o che ci sia addirittura una domanda.
Tutti i modelli sono sbagliati, ma alcuni sono molto meno sbagliati di altri.
Sette risposte:
Dave
2019-10-31 18:31:58 UTC
view on stackexchange narkive permalink

La citazione di Box è sulla falsariga di "Tutti i modelli sono sbagliati, ma alcuni sono utili".

Se abbiamo un overfitting errato, il nostro modello non sarà utile per fare previsioni su nuovi dati.

Dovrebbe essere "Tutti i modelli sono sbagliati, ma alcuni sono più utili di altri".
Attualmente, questa è la risposta con i voti più positivi.Penso che questa domanda meriti una risposta più lunga, ad es.uno che spiega perché l'overfitting implica una scarsa generalizzazione, cosa causa l'overfitting e forse anche cos'è l'overfitting e cosa no.
Ad esempio: se l'overfitting venisse definito come ottenere un errore di previsione campione che è molto al di sotto dell'errore nei dati, allora non vedo come o perché ciò implichi una scarsa generalizzazione.
Ben
2019-11-01 08:32:36 UTC
view on stackexchange narkive permalink

Perché ci preoccupiamo dell'overfitting anche se "tutti i modelli sono sbagliati"?

La tua domanda sembra essere una variazione dell ' errore del Nirvana, che suggerisce implicitamente che se non esiste un modello perfetto, ogni modello è ugualmente soddisfacente (e quindi i difetti nei modelli sono irrilevanti). Tieni presente che potresti fare altrettanto facilmente la stessa domanda su qualsiasi difetto in un modello:

  • Perché ci preoccupiamo della stima della massima verosimiglianza anche se "tutti i modelli sono sbagliati"?

  • Perché ci preoccupiamo degli errori standard anche se "tutti i modelli sono sbagliati"?

  • Perché ci preoccupiamo di pulire i nostri dati anche se "tutti i modelli sono sbagliati"?

  • Perché ci preoccupiamo della corretta aritmetica anche se "tutti i modelli sono sbagliati"?

La risposta corretta a tutte queste domande è che non dovremmo rendere il perfetto nemico del bene, anche se "tutti i modelli sono sbagliati", un modello che è meno sbagliato è ancora preferibile a un modello più sbagliato .

Cliff AB
2019-11-01 05:47:41 UTC
view on stackexchange narkive permalink

La citazione completa è "Tutti i modelli sono sbagliati, ma alcuni sono utili".Ci preoccupiamo dell'overfitting, perché vogliamo comunque che i nostri modelli siano utili.

Se hai familiarità con il compromesso bias-varianza, l'affermazione "tutti i modelli sono sbagliati" equivale all'incirca a dire "tutti i modelli hanno un bias diverso da zero".L'overfitting è il problema che mentre possiamo aumentare il numero di parametri in un modello per ridurre il bias, in genere più parametri abbiamo, maggiore sarà la varianza nella nostra stima.Un modello utile è quello che bilancia tra l'essere abbastanza flessibili da ridurre il bias, ma non così flessibile da rendere la varianza troppo alta.

@CagdasOzgenc, questo è interessante.Come definisci esattamente il bias del modello?(Un esempio banale che integra la risposta teorica potrebbe essere utile.) Un thread correlato è [Qual è la variabile casuale quando parliamo di modello ad alta varianza o modello ad alta polarizzazione?] (Https://stats.stackexchange.com/questions/433972/ qual-è-la-variabile-casuale-quando-parliamo-di-modello-a-varianza-alta-o-bias-alto / 433988 # 433988).Anche la tua risposta potrebbe essere apprezzata;Sto ancora lottando con la mia formulazione.
"La letteratura standard presume che il modello parametrico sussuma la verità, quindi possiamo parlare di un vettore di bias che si avvicina allo zero".Il punto della citazione "Tutti i modelli sono sbagliati" è che, sebbene spesso partiamo da questo presupposto perché semplifica la matematica, è un presupposto fondamentalmente errato.
@CagdasOzgenc, è la tua definizione di bias di modello in linea con la seguente caratterizzazione?L'errore di previsione al quadrato atteso può essere scomposto in modo additivo in bias quadrato, varianza ed errore irriducibile.La parte deterministica del modello si traduce in un errore quadrato atteso uguale a bias quadrato + varianza.In perfetta precisione di stima, la varianza è zero.Quindi, il bias al quadrato è l'errore quadrato atteso nella stima della parte deterministica del risultato quando la precisione della stima è perfetta.Pertanto, il bias riflette la migliore approssimazione possibile del DGP consentito dal modello.
@CagdasOzgenc: Penso che il tuo argomento sia "ci sono modelli che non sono sbagliati".Vale la pena discuterne, ma diventa notevolmente più complicato.Inoltre, tipicamente * introduciamo * ** bias ** a tali modelli senza limitare la flessibilità (cioè la regolarizzazione) al fine di domare la varianza.Ci sono molti modi diversi in cui si potrebbe discuterne, quindi direi che va oltre lo scopo di questa domanda.
La regolarizzazione di @CliffAB, introduce bias in uno stimatore di parametri, non in un modello.Ad esempio, se il modello (la forma funzionale) coincide con il DGP (per quanto improbabile, supponiamo che per il bene dell'illustrazione), non vi è alcun bias del modello.Tuttavia, possiamo ancora introdurre bias in uno stimatore di parametri di quel modello eseguendo una certa regolarizzazione.
@CagdasOzgenc, grazie.La figura inoltre è anche utile;Me ne ero dimenticato, ma ora sono felice di riscoprirlo.
James
2019-10-31 19:19:39 UTC
view on stackexchange narkive permalink

Una Citroën 2CV è, per molti aspetti, un'auto scadente. Lento, non raffinato ed economico. Ma è versatile e può operare efficacemente sia su strade asfaltate che su campi appena arati.

Una macchina di F1 al confronto è considerata l'apice dell'ingegneria automobilistica. Veloce, preciso e utilizzando solo i migliori componenti. Però non mi piacerebbe guidarne uno in campo aperto.

La 2CV ha un'applicabilità generale, mentre l'auto di F1 ha un'applicabilità molto specifica. L'auto di F1 è stata adattata al problema specifico di girare in pista il più rapidamente possibile con il vantaggio di un team di ingegneri professionisti per monitorare, valutare e risolvere eventuali problemi che possono derivare da operazioni ad alte prestazioni.

Allo stesso modo, un modello overfitted funzionerà bene in situazioni in cui è overfit, ma scarsamente (o per niente) altrove. Un modello con applicabilità generale sarà più utile se sarà esposto a diversi ambienti fuori dal tuo controllo anche se non è buono come i modelli specifici.

L'avvocato del diavolo: il problema con la guida di una F1 su un campo aperto non è che la F1 sia così adatta per le piste da corsa, (potrei immaginare che potrebbe esserci un'auto che è perfetta sia per i campi aperti che per i circuiti),ma che la F1 è solo una cattiva misura per i campi aperti.
@Dirk in realtà sì, letteralmente, il problema con la guida di una F1 su un campo aperto è che è così adatto per le piste da corsa.Vale a dire, si _adatta_ molto bene al suolo di una pista di rotolamento piatta (altezza da terra ridotta), ma quindi non è così flessibile per adattarsi anche a qualsiasi cosa non piatta.Un'auto normale ha sospensioni più flessibili, il che significa che non "aderisce al marciapiede" ma in cambio gestisce anche altri compiti.- "Potrebbe esserci un'auto che si adatta perfettamente sia ai campi aperti che ai circuiti" - che richiederebbe ottime sospensioni attive, probabilmente pesanti e quindi più lente.
Non trovo questa un'analogia molto buona.Un modello fortemente sovradimensionato (come un polinomio di n gradi adattato a n + 1 punti) non è utile per nulla.Una F1 non è overfitting, è solo uno strumento altamente specializzato utile per un ruolo ben preciso.L'analogia statistica sarebbe un modello addestrato e utile per un tipo molto specifico di previsione, ma non utile per altri ruoli;un tale modello non è sovradimensionato, ma solo di portata molto limitata.
@gerrit il modello overfitted prevede esattamente n + 1 punti.È inutile solo altrove.
@Caleth I punti di allenamento non sono una previsione / previsione, sono una misura.
I modelli @gerrit Overfitted sono utili in attività come la compressione dei dati, dove l'obiettivo è la ricostruzione dei dati di test.Le vetture di F1 ricostruiscono la pista.Questo è il motivo per cui cambiano il setup per ogni traccia piuttosto che usare un setup generale per l'intera stagione.
@James Ammetto di non sapere molto sulla compressione o su cosa implica l'overfitting, anche se mi sembra che memorizzare un polinomio n-grado invece di (n + 1) punti dati non fa risparmiare molto o nessuno spazio.
@gerrit Posso darti 10.000 punti dati da una curva quadratica, ma puoi descriverlo interamente con solo 3 parametri.
@James Sì, ma allora non stai overfitting.Posso vedere come i modelli possono essere usati per la compressione, ma non sono sicuro di come l'overfitting si adatti a questo.Nel tuo esempio, una compressione senza perdita funzionerà solo se i punti dati rimanenti si adattano perfettamente al modello e per una compressione con perdita (forse c'è rumore sulla curva quadratica) è necessario di nuovo un modello che generalizzi (interpoli) bene in modo tale che anche l'usomolti parametri peggiorerebbero la vestibilità, non è vero?L'eccessivo adattamento non porta sempre a una generalizzazione impropria.
@gerrit Il rumore è il segnale.Esegui l'overfit fino a catturare tutto il rumore in modo da recuperare i dati originali con l'ingresso specifico (del segnale compresso) e non ti interessa che non sarà di alcuna utilità con un ingresso diverso (e in effetti preferisci quello).
Cerchiamo di [continuare questa discussione in chat] (https://chat.stackexchange.com/rooms/100584/discussion-between-gerrit-and-james).
Peter Flom
2019-11-01 16:57:29 UTC
view on stackexchange narkive permalink

Come altri hanno notato, la citazione completa è "tutti i modelli sono sbagliati, ma alcuni sono utili".

Quando adattiamo eccessivamente un set di dati, creiamo un modello che non è utile. Ad esempio, creiamo alcuni dati: set.seed (123)

  x1 <- rnorm (6)
x2 <- rnorm (6)
x3 <- rnorm (6)
x4 <- rnorm (6)
y <- rnorm (6)
 

che crea 5 variabili, ciascuna normale standard, ciascuna con N = 6.

Ora, adattiamo un modello:

  overfit <- lm (y ~ x1 + x2 + x3 + x4)
 

Il modello ha $ R ^ 2 $ di 0,996. x2 ha un valore p significativo e x4 è quasi sig. (al solito livello di 0,05).

  Coefficienti:
            Stima Std. Errore valore t Pr (> | t |)
(Intercetta) -0,54317 0,08887 -6,112 0,1032
x1 2,01199 0,14595 13,785 0,0461 *
x2 0,14325 0,08022 1,786 0,3250
x3 0,45653 0,08997 5,074 0,1239
x4 1,21557 0,15086 8,058 0,0786.
---
Signif. codici: 0 "***" 0,001 "**" 0,01 "*" 0,05 "." 0,1 "" 1

Errore standard residuo: 0,1601 su 1 gradi di libertà
R quadrato multiplo: 0,9961, R quadrato rettificato: 0,9805
Statistica F: 64,01 su 4 e 1 DF, valore p: 0,09344
 

Si adatta ai dati quasi perfettamente, ad es. prova

trama (predire (overfit), y)

Ma è tutto rumore casuale.

Se proviamo ad applicare questo modello ad altri dati, otterremo spazzatura.

Carl
2019-11-01 16:46:54 UTC
view on stackexchange narkive permalink

Ogni modello presenta un errore. Il modello migliore è quello che minimizza l'errore associato alle sue previsioni. Questo è il motivo per cui i modelli vengono generalmente costruiti utilizzando solo una parte dei dati (nel campione) e quindi applicati al set di dati "fuori campione" rimanente. Un modello sovradimensionato avrà in genere un errore di previsione maggiore nella pratica rispetto a uno ben formulato. Inoltre, un modello dovrebbe essere intellettualmente robusto: non ha senso costruire un modello che funzioni in un "regime" se non funziona affatto in caso di cambio di regime. Un tale modello potrebbe sembrare molto ben formato fino al momento in cui il regime non cambia, perché essenzialmente un tale modello è stato costruito "nel campione". Un altro modo per dirlo è che anche l'errore atteso del modello deve essere ben formulato. C'è anche la questione del "Rasoio di Occam", che è un'idea filosofica secondo cui essenzialmente il modello dovrebbe essere il più semplice possibile, utilizzando il minor numero di variabili richieste per descrivere il sistema che viene modellato. Questo serve come una guida utile, piuttosto che una regola incastonata, ma credo che questa sia l'idea alla base dell'utilizzo della "R quadrata regolata" anziché della R quadrata, per regolare il miglioramento naturale dell'adattamento associato all'uso più variabili (ad es. avresti un adattamento perfetto, una R al quadrato del 100% se avessi una variabile separata per ogni dato!). È anche un'idea che dovrebbe essere applicata alle moderne tecniche di ML: lanciare ad es. migliaia di variabili in un algoritmo ML sono pericolose a meno che tu non abbia milioni di dati (e anche allora ... potresti essere meglio trasformare i tuoi dati per ridurre prima il numero di variabili). Un ultimo punto: ogni modello richiede credenza. Anche le nostre leggi della fisica si basano sull'osservazione, e in effetti hanno richiesto modifiche man mano che ci siamo spostati dalla fisica newtoniana ai regni del molto piccolo (meccanica quantistica) e del molto grande (relatività generale). Non possiamo dire con assoluta certezza che le nostre attuali leggi della Fisica rimarranno valide in futuro, o anche nel passato (ad es. Intorno al periodo del big bang). Ma fare appello alla nostra fede filosofica nel rasoio di Occam ci porta ad accettare questi modelli e idee perché sono i modelli più semplici mai concepiti che si adattano alle nostre osservazioni e dati.

In sintesi, non ci sono regole rigide e veloci.Immagina un sistema dinamico complesso (caotico?), Ad esempio l'economia globale.Potresti costruire un modello ben formato che funzioni bene per un breve periodo di tempo.Ma il 'cambio di regime' è una questione molto reale: il sistema economico è altamente complesso e non lineare, e ci sono molte più variabili di quante tu possa misurare, che potrebbero non avere conseguenze nel regime in-campione, ma di enorme importanzain un altro "regime".Ma nel tuo breve periodo, essenzialmente in-sample, potresti scoprire che la regressione lineare funziona abbastanza bene.Il buon senso dovrebbe prevalere: a volte è necessario un modello molto complesso, ma dovrebbe essere severamente avvertito se l'errore associato alle sue previsioni è sconosciuto.

Sono sicuro che uno statistico adeguato possa dare una risposta molto migliore di questa, ma poiché nessuno dei punti precedenti sembra essere stato ancora chiarito, ho pensato che avrei tirato fuori il collo ...

NotThatGuy
2019-11-01 20:27:51 UTC
view on stackexchange narkive permalink

Tutti i modelli sono sbagliati, ma alcuni sono meno sbagliati di altri.

L'overfitting generalmente rende il tuo modello più sbagliato nella gestione dei dati del mondo reale.

Se un medico dovesse provare a diagnosticare se hai un cancro, preferiresti che si sbagliasse il 50% delle volte ( molto sbagliato) o lo 0,1% delle volte (molto meno sbagliato)?

Oppure, supponiamo che tu offra qualcosa gratuitamente se il tuo modello prevede che ciò porterà il cliente ad acquistare qualcosa in un secondo momento.Preferiresti regalare molte cose gratuitamente senza che questo faccia la differenza se i clienti acquistano le cose in un secondo momento (abbastanza sbagliato) o se la maggior parte dei clienti torni a comprare le cose più tardi (meno sbagliato)?

Chiaramente meno sbagliato è meglio.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...