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.
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.
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.
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 .
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.
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.
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.
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 ...
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.