Il miglior approccio per la selezione del modello bayesiano o cross-validation?


22

Quando provo a scegliere tra vari modelli o il numero di funzioni da includere, diciamo che posso pensare a due approcci.

  1. Dividi i dati in training e set di test. Meglio ancora, usa bootstrap o k-fold cross-validation. Allenarsi sul set di allenamento ogni volta e calcolare l'errore sul set di test. Traccia errore di test vs. numero di parametri. Di solito, ottieni qualcosa del genere:inserisci qui la descrizione dell'immagine
  2. Calcola la probabilità del modello integrando i valori dei parametri. vale a dire, calcolare , e tracciare questo con il numero di parametri. Quindi otteniamo qualcosa del genere:θP(D|θ)P(θ)dθinserisci qui la descrizione dell'immagine

Quindi le mie domande sono:

  1. Questi approcci sono adatti per risolvere questo problema (decidere quanti parametri includere nel modello o selezionare tra un numero di modelli)?
  2. Sono equivalenti? Probabilmente no. Daranno lo stesso modello ottimale sotto certe ipotesi o in pratica?
  3. A parte la solita differenza filosofica di specificare le conoscenze pregresse nei modelli bayesiani ecc., Quali sono i pro e i contro di ogni approccio? Quale sceglieresti?

Aggiornamento: ho anche trovato la domanda correlata sul confronto tra AIC e BIC. Sembra che il mio metodo 1 sia asintoticamente equivalente all'AIC e il metodo 2 sia asintoticamente correlato al BIC. Ma ho anche letto lì che BIC è equivalente al CV Leave-One-Out. Ciò significherebbe che il minimo dell'errore di addestramento e il massimo della probabilità bayesiana sono equivalenti quando il CV LOO è equivalente al CV K-fold. Un articolo forse molto interessante " Una teoria asintotica per la selezione di modelli lineari " di Jun Shao si riferisce a questi temi.


Non ho davvero una risposta completa, ma menzionerò che di solito non penserei di usare nessuno dei due metodi per "scegliere il numero di funzionalità". In generale, interpreto Machine Learning e le statistiche bayesiane per includere solo tutte le funzionalità poiché probabilmente hanno un certo livello di impatto minimo. Tuttavia, penso che la questione della complessità relativa del modello sia ancora appropriata. Dirò anche che non ho mai eseguito l'inferenza bayesiana a cui alludi; sembra solo diventare troppo disordinato in pratica rispetto alla semplicità di k-fold o bootstrap.
Shea Parkes

Si noti che la carta Shao funziona solo per i modelli lineari; infatti solo la loro semplice struttura rende il numero di funzionalità utilizzabile come misura di complessità e quindi alimenta tutti quei criteri informativi.

1
L'AIC ( non BIC! ) È asintoticamente equivalente alla validazione incrociata univoca in base a ipotesi deboli (dovuta a Stone "Un'equivalenza asintotica della scelta del modello mediante validazione incrociata e criterio di Akaike" (1977) ). La fonte nella domanda a cui ti riferisci era errata ed è stata corretta da Rob Hyndman in un commento. Ho pensato che potrebbe essere una buona idea correggerlo anche qui, per smettere di diffondere l'idea sbagliata.
Richard Hardy,

Risposte:


13
  1. Questi approcci sono adatti per risolvere questo problema (decidere quanti parametri includere nel modello o selezionare tra un numero di modelli)?

O uno potrebbe essere, sì. Se sei interessato ad ottenere un modello che predice meglio, dall'elenco dei modelli che consideri, l'approccio di suddivisione / convalida incrociata può fare altrettanto. Se sei interessato a sapere quale dei modelli (nel tuo elenco di modelli putativi) è in realtà quello che genera i tuoi dati, allora il secondo approccio (valutare la probabilità posteriore dei modelli) è quello che desideri.

  1. Sono equivalenti? Probabilmente no. Daranno lo stesso modello ottimale sotto certe ipotesi o in pratica?

No, non sono generalmente equivalenti. Ad esempio, l'utilizzo di AIC (An Information Criterion, di Akaike) per scegliere il modello "migliore" corrisponde approssimativamente alla validazione incrociata. L'uso del BIC (Bayesian Information Criterion) corrisponde all'utilizzo delle probabilità posteriori, ancora approssimativamente. Questi non sono lo stesso criterio, quindi ci si dovrebbe aspettare che conducano a scelte diverse, in generale. Essi possono dare le stesse risposte - ogni volta che il modello che predice meglio anche sembra essere la verità - ma in molte situazioni il modello che meglio si adatta in realtà è uno che overfits, che porta al disaccordo tra gli approcci.

Sono d'accordo nella pratica? Dipende da cosa comporta la tua "pratica". Provalo in entrambi i modi e scoprilo.

  1. A parte la solita differenza filosofica di specificare le conoscenze pregresse nei modelli bayesiani ecc., Quali sono i pro e i contro di ogni approccio? Quale sceglieresti?
  • In genere è molto più semplice eseguire i calcoli per la convalida incrociata, piuttosto che calcolare le probabilità posteriori
  • Spesso è difficile dimostrare in modo convincente che il modello "vero" è compreso nell'elenco da cui si sta scegliendo. Questo è un problema per l'uso delle probabilità posteriori, ma non per la convalida incrociata
  • Entrambi i metodi tendono a comportare l'uso di costanti abbastanza arbitrarie; quanto vale un'unità aggiuntiva di previsione, in termini di numero di variabili? Quanto crediamo a ciascuno dei modelli, a priori ?
    • Probabilmente sceglierei la convalida incrociata. Ma prima di impegnarmi, vorrei sapere molto sul motivo per cui questa selezione del modello era in corso, vale a dire per cosa doveva essere utilizzato il modello scelto. Nessuna delle due forme di selezione dei modelli può essere appropriata, se per esempio è richiesta l'inferenza causale.

16

L'ottimizzazione è la radice di tutto il male nelle statistiche! ; O)

Ogni volta che si tenta di selezionare un modello basato su un criterio che viene valutato su un campione finito di dati, si introduce il rischio di un eccesso di adattamento del criterio di selezione del modello e si finisce con un modello peggiore di quello che si è iniziato. Sia la convalida incrociata che la probabilità marginale sono criteri di selezione dei modelli sensibili, ma dipendono entrambi da un campione finito di dati (come lo sono AIC e BIC: la penalità di complessità può aiutare, ma non risolve questo problema). Ho trovato che questo è un problema sostanziale nell'apprendimento automatico, vedi

GC Cawley e NLC Talbot, Over-fitting nella selezione dei modelli e conseguente bias nella selezione delle prestazioni, Journal of Machine Learning Research, 2010. Research, vol. 11, pp. 2079-2107, luglio 2010. ( www )

Da un punto di vista bayesiano, è meglio integrarsi su tutte le scelte e i parametri del modello. Se non ottimizzi o scegli nulla, diventa più difficile adattarsi troppo. Il rovescio della medaglia è che si finisce con integrali difficili, che spesso devono essere risolti con MCMC. Se si desidera la migliore performance predittiva, suggerirei un approccio completamente bayesiano; se vuoi capire i dati, spesso è utile scegliere un modello migliore. Tuttavia, se si ricampionano i dati e si finisce con un modello diverso ogni volta, significa che la procedura di adattamento è instabile e nessuno dei modelli è affidabile per la comprensione dei dati.

Si noti che un'importante differenza tra convalida incrociata e prove è che il valore della probabilità marginale presuppone che il modello non sia erroneamente specificato (essenzialmente la forma di base del modello è appropriata) e può dare risultati fuorvianti se lo è. La convalida incrociata non fa tale ipotesi, il che significa che può essere un po 'più robusto.


L'integrazione bayesiana è un approccio forte. Ma chiediti sempre se la selezione del modello è anche il modo giusto di procedere. Qual è la motivazione? Perché non posizionare un modello completo che sia flessibile e si adatti perfettamente?
Frank Harrell,

@FrankHarrell molti modelli flessibili includono termini di regolarizzazione e altri iperparametri, e la messa a punto di questi è anche la selezione del modello e soggetta agli stessi problemi di sovra-adattamento al criterio di selezione. Il montaggio comporta il rischio di un montaggio eccessivo e questo vale a tutti i livelli. Tuttavia, se si conosce a priori sulla struttura del modello, è necessario utilizzare le conoscenze degli esperti.
Dikran Marsupial,

1
È meglio cercare un metodo che non richiede l'ottimizzazione, ma ciò non è sempre possibile. Il mio punto principale è che le specifiche del modello funzionano meglio della selezione del modello e non presumo che la selezione delle caratteristiche sia un obiettivo nobile.
Frank Harrell,

La selezione delle funzionalità di @FrankHarrell è molto raramente utile. Laddove possibile, l'ottimizzazione dovrebbe essere evitata, il che implica la scelta di un modello / messa a punto basata su un campione finito di dati (ovviamente più grande è il campione, minore è il rischio).
Dikran Marsupial,
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.