Quando provo a scegliere tra vari modelli o il numero di funzioni da includere, diciamo che posso pensare a due approcci.
- 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:
- 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:
Quindi le mie domande sono:
- Questi approcci sono adatti per risolvere questo problema (decidere quanti parametri includere nel modello o selezionare tra un numero di modelli)?
- Sono equivalenti? Probabilmente no. Daranno lo stesso modello ottimale sotto certe ipotesi o in pratica?
- 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.