2.1 经验误差与过拟合
- 错误率:分类错误的样本数占样本总数的比例
- 精度 = 1 - 错误率
- 误差
2.2 评估方法
- 以测试集上的测试误差作为泛化误差的近似
- 测试样本尽量不在训练集中出现、未在训练集中使用过
2.2.1 留出法
- 直接将数据集D划分为两个互斥的集合,一个是训练集S,另一个是测试集T,即。
- 数据集的划分要尽可能保持数据分布的一致性,避免引入额外偏差。比如,在分类任务中,至少要保持样本的类别比例相似。从采样的角度,称其作分层采样。
- 然而,即使给定比例,仍然存在多种划分方式。比如,可以对数据集排序,选取最前面或最后面的|S|个作为正例。因此,单次使用留出法得到的估计结果往往不够稳定可靠,一般采用若干次随机划分、重复进行实验评估后取平均值。
- 测试集较小时,评估结果方差较大;训练集较小时,偏差较大。常见做法是将大约2 / 3 ~ 4 / 5 的样本用于训练,剩余样本用于测试。
2.2.2 交叉验证法
- 将数据集D划分为k个大小相似的互斥子集,即每个子集从样本中分层采样得到。
- 每次用k - 1个子集的并集作为训练集,余下的那个子集作为测试集,这样可以进行k次训练和测试,最终返回的是这k个测试结果的均值。
- 通常把交叉验证法称为“k折交叉验证”,k最常用的取值是10、5、20。
- 为了减小因样本划分不同而引入的差别,k折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值,常见的有“10次10折交叉验证”。
- 若k = |D|,则得到了交叉验证法的特例:留一法。
- 优点:划分方式唯一,不受随机样本划分的影响;训练集与初始数据集相比只少了一个样本,训练出的模型与期望得到的很相似,评估结果准确。
- 缺点:数据集较大时,训练m个模型的计算开销难以忍受;评估结果也未必永远比其他方法准确,“没有免费的午餐”定理对实验评估方法同样适用。
2.2.3 自助法
- 留出法和交叉验证法由于保留了一部分样本用于测试,因此实际评估的模型所使用的训练集比D小,必然会引入一些因训练样本规模不同而导致的估计偏差。
- 自助法:给定包含m个样本的数据集D,每次随机从D中挑选一个样本,将其拷贝放入采样数据集后放回D,重复该过程m次。
- 样本在m次采集中始终不被采到的概率是,取极限,有,即数据集D中约有36.8%的样本未出现在中,将其作为测试集即可。
- 自助法在数据集较小、难以有效划分训练/测试集时很有用;由于能从初始数据集中产生多个不同的训练集,该法对于集成学习很用帮助。缺点在于改变了初始数据集的分布(不是分层采样),会引入估计偏差。因此,数据量足够时,常用留出法和交叉验证法。
2.2.4 调参与最终模型
- 通常对每个参数选定一个范围和变化步长。
- 注意:模型评估与选择中只用了一部分数据训练模型,因此,模型选定后,应该使用所用m个样本重新训练模型。
- 通常把学得模型在实际使用中遇到的数据称为测试数据,模型评估与选择中用于评估测试的数据集常称为“验证集”。