当尝试在各种模型或要包括的特征数量中进行选择时,比如说预测,我可以想到两种方法。
- 将数据分为训练集和测试集。更好的是,使用自举或k折交叉验证。每次都在训练集中进行训练,并计算测试集中的误差。绘制测试误差与参数数量的关系图。通常,您会得到以下内容:
- 通过对参数值进行积分来计算模型的可能性。即,计算,并将其与参数数量相对应。然后,我们得到如下内容:
所以我的问题是:
- 这些方法是否适合解决此问题(确定模型中要包含多少参数,或在多个模型中进行选择)?
- 它们相等吗?可能不会。他们会在某些假设下还是在实践中给出相同的最佳模型?
- 除了在贝叶斯模型等中指定先验知识的通常的哲学差异之外,每种方法的优缺点是什么?您会选择哪一个?
更新: 我还发现了有关比较AIC和BIC 的相关问题。看来我的方法1与AIC渐近等效,而方法2与BIC渐近相关。但我在那里也读到,BIC等同于“留一法”简历。这意味着在LOO CV等于K倍CV的情况下,训练误差最小值和贝叶斯似然最大值相等。邵军的一篇也许非常有趣的论文“ 线性模型选择的渐近理论 ”与这些问题有关。