Lorsque vous essayez de sélectionner parmi différents modèles ou le nombre de fonctionnalités à inclure, disons la prédiction, je peux penser à deux approches.
- Divisez les données en ensembles de formation et de test. Mieux encore, utilisez le bootstrapping ou la validation croisée k-fold. Entraînez-vous à chaque fois sur l'ensemble d'entraînement et calculez l'erreur sur l'ensemble d'essai. Tracer l'erreur de test par rapport au nombre de paramètres. Habituellement, vous obtenez quelque chose comme ceci:
- Calculez la probabilité du modèle en intégrant sur les valeurs des paramètres. c'est-à-dire, calculer , et tracer cela en fonction du nombre de paramètres. Nous obtenons alors quelque chose comme ceci:
Mes questions sont donc:
- Ces approches sont-elles adaptées pour résoudre ce problème (décider du nombre de paramètres à inclure dans votre modèle ou sélectionner parmi un certain nombre de modèles)?
- Sont-ils équivalents? Probablement pas. Donneront-ils le même modèle optimal sous certaines hypothèses ou dans la pratique?
- Outre la différence philosophique habituelle de spécification des connaissances antérieures dans les modèles bayésiens, etc., quels sont les avantages et les inconvénients de chaque approche? Lequel choisiriez-vous?
Mise à jour: J'ai également trouvé la question connexe sur la comparaison de l'AIC et du BIC. Il semble que ma méthode 1 est asymptotiquement équivalente à AIC et la méthode 2 est asymptotiquement liée à BIC. Mais j'y lis également que le BIC est équivalent au CV Leave-One-Out. Cela signifierait que le minimum d'erreur d'apprentissage et le maximum de vraisemblance bayésienne sont équivalents lorsque LOO CV est équivalent à K-fold CV. Un article peut-être très intéressant " Une théorie asymptotique pour la sélection de modèle linéaire " par Jun Shao se rapporte à ces questions.