Qual è la definizione di "migliore" utilizzata nel termine "migliore adattamento" e convalida incrociata?


16

Se si adatta una funzione non lineare a un insieme di punti (supponendo che vi sia una sola ordinata per ogni ascissa) il risultato può essere:

  1. una funzione molto complessa con piccoli residui
  2. una funzione molto semplice con grandi residui

La validazione incrociata è comunemente usata per trovare il "miglior" compromesso tra questi due estremi. Ma cosa significa "migliore"? È "molto probabilmente"? Come inizieresti a provare qual è la soluzione più probabile?

La mia voce interiore mi sta dicendo che il CV sta trovando una sorta di soluzione energetica minima. Questo mi fa pensare all'entropia, che so vagamente che si verifica sia in statistica che in fisica.

Mi sembra che la misura "migliore" sia generata minimizzando la somma delle funzioni di complessità ed errore, ad es

minimising m where m = c(Complexity) + e(Error)

Questo ha senso? Quali sarebbero le funzioni c ed e?

Per favore, puoi spiegare usando un linguaggio non matematico, perché non capirò molti calcoli matematici.


1
Il migliore è il modello con l'errore futuro più basso e la convalida incrociata fornisce tale stima. Il motivo delle formule c (Complessità) + e (Errore) è perché potresti usare l'errore sui dati di allenamento come stima dell'errore futuro, ma questo è eccessivamente ottimistico, quindi aggiungi un termine per rendere imparziale questa stima, che di solito è una funzione di complessità del modello
Yaroslav Bulatov,

D'altra parte, il ragionamento alla luce del fenomeno Runge (ispirazioni fisiche di nuovo) porta alla conclusione che l'errore futuro è qualcosa che riguarda la complessità / Train_Error.

Matt Krause ha dato un'ottima risposta a una domanda simile qui: stats.stackexchange.com/a/21925/14640 Parafrasando dalla sua risposta: l'obiettivo è bilanciare la complessità del modello con il potere esplicativo del modello e quindi il concetto di parsimonia è migliore misura dell'adeguatezza di un modello rispetto al concetto di miglior adattamento all'errore. Ciò è dovuto al fatto che un modello estremamente complesso può sovralimentare i dati senza essere in grado di prevedere o spiegare nuovi risultati.
Assad Ebrahim,

Risposte:


6

Penso che questa sia un'ottima domanda. Lo parafaserò solo per essere sicuro di aver capito bene:

Sembrerebbe che ci siano molti modi per scegliere la funzione di penalità di complessità e la funzione di penalità di errore e . Quale scelta è "migliore". Cosa dovrebbe anche significare meglio ?ce

Penso che la risposta (se ce n'è una) ti porterà ben oltre la semplice validazione incrociata. Mi piace come questa domanda (e l'argomento in generale) si leghi bene al Rasoio di Occam e al concetto generale di parsimonia che è fondamentale per la scienza. Non sono affatto un esperto in questo settore, ma trovo questa domanda estremamente interessante. Il miglior testo che conosco su questo tipo di domande è l'Intelligenza Artificiale Universale di Marcus Hutter (non farmi domande a riguardo, non ne ho letto la maggior parte). Sono andato a un discorso di Hutter e un paio di anni fa e sono rimasto molto colpito.

Hai ragione nel pensare che ci sia un argomento di entropia minimo lì dentro da qualche parte (usato per la funzione di penalità di complessità in qualche modo). Hutter sostiene l'uso della complessità di Kolmogorov invece dell'entropia. Inoltre, la definizione di `` migliore '' di Hutter (per quanto mi ricordo) è (informalmente) il modello che predice meglio il futuro (ovvero predice meglio i dati che saranno osservati in futuro). Non ricordo come formalizzi questa nozione.c


Capisci la domanda. Seguirò i collegamenti.
Bart il

Dovresti sapere che è improbabile che questi collegamenti ti portino ovunque `pratici '. Se stai cercando di costruire qualcosa usando la validazione incrociata (o qualche altro tipo di selezione del modello), in pratica è probabile che si verifichi sempre qualcosa di euristico e un po 'ad hoc (anche se sono d'accordo che questo non è soddisfacente).
Robby McKilliam,

Adesso stiamo andando da qualche parte. en.wikipedia.org/wiki/Minimum_message_length sembra essere quello che stavo pensando. Grazie!
Bart il

Nessun problema. Questa è solo una riflessione, non pratica.
Bart

9

Offrirò una breve risposta intuitiva (a un livello abbastanza astratto) fino a quando non verrà offerta una risposta migliore da qualcun altro:

In primo luogo, si noti che funzioni / modelli complessi ottengono un migliore adattamento (ad esempio, hanno residui più bassi) in quanto sfruttano alcune caratteristiche locali (si pensi al rumore) dell'insieme di dati che non sono presenti a livello globale (si pensi a schemi sistematici).

In secondo luogo, quando eseguiamo la validazione incrociata dividiamo i dati in due set: il set di training e il set di validazione.

Pertanto, quando eseguiamo la validazione incrociata, un modello complesso potrebbe non prevedere molto bene perché, per definizione, un modello complesso sfrutterà le caratteristiche locali dell'insieme di addestramento. Tuttavia, le funzionalità locali del set di training potrebbero essere molto diverse rispetto alle funzionalità locali del set di convalida con conseguenti scarse prestazioni predittive. Pertanto, abbiamo la tendenza a selezionare il modello che acquisisce le caratteristiche globali della formazione e dei set di dati di convalida.

In breve, la convalida incrociata protegge dal overfitting selezionando il modello che acquisisce i modelli globali del set di dati ed evitando i modelli che sfruttano alcune funzionalità locali di un set di dati.


@Srikant Conosco tutto questo. CV è un mezzo per trovare il "migliore". Qual è la definizione di "migliore"?
Bart

@bart 'best model' = un modello che 'best' cattura modelli globali evitando le funzionalità locali di un dato. Questo è il meglio che posso fare per una descrizione non matematica. Forse qualcun altro può elaborare un po 'di più o essere più specifico.

@bart: "migliore" indica la funzione che si adatta meglio ai dati di allenamento e che "generalizza" bene con i dati del set di test di validazione / non visto. Penso che questo sia abbastanza chiaro dalla risposta di Srikant. Esistono molti modi per definire formalmente un buon comportamento di generalizzazione. In un senso non formale, puoi pensarlo come trovare una funzione che sia "liscia" e poco agitata. Cercare di adattarsi esclusivamente ai dati di allenamento può portare alla funzione di aspetto sinuoso, mentre la fluidità di solito assicura che la funzione si comporti ragionevolmente bene sia sui dati di allenamento sia su quelli di validazione / test.
ebony1,

@ebony: ti manca il punto. Ho riformulato la domanda per renderlo più chiaro
bart

5

In una visione generale dell'apprendimento automatico, la risposta è abbastanza semplice: vogliamo costruire un modello che abbia la massima precisione nella previsione di nuovi dati (invisibile durante l'allenamento). Poiché non possiamo testarlo direttamente (non abbiamo dati dal futuro) facciamo una simulazione Monte Carlo di tale test - e questa è fondamentalmente l'idea alla base della validazione incrociata.

Potrebbero esserci alcuni problemi su ciò che è accuratezza (ad esempio un cliente aziendale può affermare che il superamento costa 5 € per unità e lo scarto 0,01 € per unità, quindi è meglio costruire un modello meno preciso ma più scarso), ma in generale è abbastanza intuitivo per cento delle risposte vere nella classificazione e varianza ampiamente spiegata nella regressione.


3

Molte persone hanno risposte eccellenti, ecco i miei $ 0,02.

Esistono due modi per esaminare il "miglior modello", o "selezione del modello", parlando statisticamente:

1 Una spiegazione il più semplice possibile, ma non più semplice (Attrib. Einstein)

- This is also called Occam's Razor, as explanation applies here.
- Have a concept of True model or a model which approximates the truth
- Explanation is like doing scientific research


2 La previsione è l'interesse, simile allo sviluppo ingegneristico.

- Prediction is the aim, and all that matters is that the model works
- Model choice should be based on quality of predictions
- Cf: Ein-Dor, P. & Feldmesser, J. (1987) Attributes of the performance of central processing units: a relative performance prediction model. Communications of the ACM 30, 308–317.

Concezione diffusa (errata):

La scelta del modello equivale a scegliere il modello migliore

Per una spiegazione dovremmo essere attenti all'eventualità che esistano diversi modelli esplicativi (approssimativamente) ugualmente validi. La semplicità aiuta sia a comunicare i concetti incarnati nel modello sia in ciò che gli psicologi chiamano generalizzazione, la capacità di "lavorare" in scenari molto diversi da quelli in cui il modello è stato studiato. Quindi c'è un premio su alcuni modelli.

Per la previsione: la buona analogia (del dott. Ripley) è quella di scegliere tra le opinioni degli esperti: se si avesse accesso a un ampio gruppo di esperti, come usereste le loro opinioni?

La convalida incrociata si occupa dell'aspetto della previsione. Per i dettagli sul CV, fare riferimento a questa presentazione del Dr. BD Ripley . Presentazione del Dr. Brian D. Ripley sulla selezione del modello

Citazione: si noti che tutto in questa risposta proviene dalla presentazione sopra citata. Sono un grande fan di questa presentazione e mi piace. Altre opinioni possono variare. Il titolo della presentazione è: "Selezione tra grandi classi di modelli" ed è stato consegnato al Simposio in onore dell'ottantesimo compleanno di John Nelder, Imperial College, 29/30 marzo 2004, dal Dr. Brian D. Ripley.


3

Grande discussione qui, ma penso alla convalida incrociata in modo diverso dalle risposte finora (mbq e io siamo nella stessa pagina che penso). Quindi, metterò i miei due centesimi a rischio di confondere le acque ...

La convalida incrociata è una tecnica statistica per valutare la variabilità e la distorsione, a causa dell'errore di campionamento, nella capacità di un modello di adattare e prevedere i dati. Pertanto, "migliore" sarebbe il modello che fornisce l'errore di generalizzazione più basso, che sarebbe in unità di variabilità e distorsione. Tecniche come Bayesian e Bootstrap Model Averaging possono essere utilizzate per aggiornare un modello in modo algoritmico in base ai risultati dello sforzo di validazione incrociata.

Questa FAQ fornisce buone informazioni per più contesto di ciò che informa la mia opinione.


1

La funzione di errore è l'errore del modello (funzione) sui dati di allenamento. La complessità è una norma (ad esempio, norma quadrata l2) della funzione che si sta tentando di apprendere. Ridurre al minimo il termine della complessità favorisce essenzialmente le funzioni regolari, che fanno bene non solo sui dati di allenamento ma anche sui dati di test. Se rappresenti la tua funzione con un insieme di coefficienti (diciamo, se stai facendo una regressione lineare), penalizzare la complessità con la norma quadrata porterebbe a valori di coefficienti piccoli nella tua funzione (penalizzare altre norme porta a diverse nozioni di controllo della complessità).


1

(p,q)1,λ>0

(1)Argmin.β|λ,x,y||ym(x,β)||p+λ||β||q

è equivalente a

(2)Argmin.β|λ,x,y||ym(x,β)||p

s.t. ||β||qλ

||β||qλq=1,2β^β^

λλ=(x,y)(1)(2)λβ^|λ

e()=||ym(x,β)||pp=1p=2m()


1
λ

@Robby:> grazie. Ho leggermente aggiunto il testo per chiarire la distinzione tra parametri e iperparametri.
user603

@kwak: mi dispiace dire che non ho idea di cosa significhi. Cosa significano i simboli p, q, lambda, x, y, m e beta?
Bart il

@bart:> La mia risposta è essenzialmente la stessa di Srikant. Laddove egli fornisce una spiegazione intuitiva, volevo aggiungerne uno più rigoroso per i benefici dei futuri visitatori che potrebbero avere la stessa domanda, ma che sono più familiari con la matematica che con il linguaggio non formale. Tutti i simboli che menzioni sono definiti nella mia risposta (anche se, di nuovo, questo è fatto formalmente).
user603

@kwak: dove, ad esempio, è definito p?
Bart il
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.