PRML Notes - 1.3 Model Selection

对于多项式模型中阶数的选择可以看作是一种模型选择的过程,然而,更一般地,我们可能需要从更多种类的模型(即不限于多项式模型,例如人工神经网络模型等)中来进行选择,挑出最合适当前数据的模型。

如果数据量是足够大的,那么我们可以取出一部分数据(训练集),对所有的候选模型进行训练,再使用一组验证集(validation set)来评估哪个模型才是最优的。如果模型本身的设计是迭代式的,即需要验证集的反馈来不断地调整模型参数,那么上面的方法就有过拟合的危险。这种情况下,就需要再从数据中独立地分离出一部分,称为测试集(test set),使用这部分数据来进行最终的模型评估和选择。

交叉验证

然后在实际的多数情况下,数据量是有限的。一种解决方案是使用交叉验证(cross-validation),将数据进行切分成相等的S份,每次迭代均使用其中的S-1份来进行训练,余下的一份来做测试。因此,一共需要进行S次的“训练-测试”,并取这S次的测试结果的均值来作为模型评估的标准。特别地,当S=N时,这种方法被称为leave-one-out技术。

交叉验证方法也是有缺陷的。当S较大时,交叉验证方法的计算消耗是很大的。另外,如果模型中有多个模型的复杂度参数(例如,多个规则化参数),那么交叉验证的计算量将随参数个数而指数级增长。

信息标准

信息标准的提出目的是使用每个模型对数据的拟合程度作为标准,来做模型的比较。然而,使用最大似然性来作为这个拟合程度是很自然的,但是使用其来评估模型已经被证明是有偏的(由于过拟合的原因)。各信息标准都在最大似然性的基础上增加了一个惩罚项(penalty term)克服过拟合问题。已存在方法包括AIC, BIC等,然而这些方法的缺陷在于它们都更偏向于选择简单的模型

 

Posted by Chilly_Rain 2012年1月25日 17:16