估计误差有助于学习算法进行模型选择,即找到一个具有核实复杂度、不易发生过分拟合的模型。模型一旦建立,就可以应用到检验数据集上,预测未知记录的类标号。
测试模型在检验集上的性能是有用的,因为这样的测量给出模型泛化误差的无偏估计。在检验集上计算出的准确率或错误率可以用来比较不同分类器在相同领域上的性能。然而,为了做到这一点,检验记录的类标号必须是已知的。
常用的评估分类器性能的方法:
1.保持方法。在保持( Holdout)方法中,将被标记的原始数据划分成两个不相交的集合,分别称为训练集和检验集。在训练数据集上归纳分类模型,在检验集上评估模型的性能。训练集和检验集的划分比例通常根据分析家的判断(例如,50-50,或者2/3作为训练集、1/3作为检验集)。分类器的准确率根据模型在检验集上的准确率估计。
保持方法的局限性:一、用于训练的被标记样本较少。二、模型可能高度依赖于训练集和检验集的构成。估计具有很宽的置信区间。三、训练集和检验集不再是独立的。
2.随机二次抽样。可以多次重复保持方法来改进对分类器性能的估计,这种方法称作随机二次抽样( randomsubsampling),设是第i次迭代的模型准确率,总准确率是。随机二次样也会遇到一些与保持方法同样的间题,因为在训练阶段也没有利用尽可能多的数据。并且于它没有控制每个记录用于训练和检验的次数,因此,有些用于训练的记录使用的频率可能比其他记录高很多。
3.交叉验证。替代随机二次抽样的一种方法是交又验证( cross-validation)。在该方法中,每个记录用于训练的次数相同,并且恰好检验一次。为了解释该方法,假设把数据分为相同大小的两个子集,首先,我们选择一个子集作训练集,而另一个作检验集,然后交换两个集合的角色,原先作训练集的现在做检验集,反之亦然,这种方法叫二折交又验证。总误差通过对两次运行的误差求和得到。
在这个例子中,每个样本各作一次训练样本和检验样本。k折交又验证是对该方法的推广,把数据分为大小相同的k份,在每次运行,选择其中一份作检验集,而其余的全作为训练集,该过程重复k次,使得每份数据都用于检验恰好一次。同样,总误差是所有k次运行的误差之和。k折交叉验证方法的一种特殊情况是令k=N,其中N是数据集的大小,在这种所谓留一( leave-one-out)方法中,每个检验集只有一个记录。该方法的优点是使用尽可能多的训练记录,此外检验集之间是互斥的,并且有效地覆盖了整个数据集;该方法的缺点是整个过程重复N次,计算上开销很大,此外,因为每个检验集只有一个记录,性能估计度量的方差偏高。
5.自助法。迄今为止,我们介绍的方法都是假定训练记录采用不放回抽样,因此,训练集和检验集都不包含重复记录。在自助( bootstrap)方法中,训练记录采用有放回抽样,即已经选作训练的记录将放回原来的记录集中,使得它等机率地被重新抽取。如果原始数据有N个记录,可以证明,平均来说,大小为N的自助样本大约包含原始数据中63.2%的纪录。这是因为一个记录被自助抽样抽取的概率是,当N充分大时,该概率逐渐逼近1-e^(-1)=0.632。没有抽中的记录就成为检验集的一部分,将训练集建立的模型应用到检验集上,得到自助样本准确率的一个估计∈。抽样过程重复b次,产生b个自助样本。
按照如何计算分类器的总准确率,有几种不同的自助抽样法。常用的方法之一是.632自助(.632 bootstrap),它通过组合每个自助样本的准确率()和由包含所有标记样本的训练集计算的准确率()计算总准确率( )。