使用测试集,测试学习器对新样本的判别能力。后以测试集上的“测试误差”作为泛化误差的近似。
注意:测试集应该尽可能与训练集互斥。
为得到泛化性能强的模型,且当只有1个包含m个样例的数据集D(如下图2.2-1),既要训练也要测试,需要通过对D进行适当处理,从中产生训练集S和测试集T。
D
=
{
(
x
1
,
y
1
)
,
.
.
.
,
(
x
m
,
y
m
)
}
2.2
−
1
D=\{(x_1,y_1),...,(x_m,y_m)\}\qquad2.2-1
D={(x1,y1),...,(xm,ym)}2.2−1
方法如下:
直接将数据集D划分为2个互斥的集合,一个作为训练集S,一个作为测试集T。
注意:
训练集和测试集的划分要尽可能保持数据分布的一致性。
对于分类任务,至少保持样本的类别比例相似,若从采样的角度来看,则保留类别比例的采样方式称为分层采样。
即使在给定训练集、测试集的样本比例后,仍存在多种划分方式对初始数据集D进行分割。
结论:
问题&解法:
先将数据集D划分为k个大小相似的互斥子集,每个子集Di都尽可能保持数据分布的一致性(即从D中通过分层采样得到),然后每次用k-1个子集的并集作为训练集,余下的1个子集作为测试集;如此可获得k组训练/测试集,从而可进行k次训练和测试,最终返回这k个测试结果的均值。
交叉验证法评估结果的稳定性和保真性很大程度上取决于k,故又称k折交叉验证、k倍交叉验证。
k最常用的取值为10,其他常用有5、20。
使用细节:
上述方法都会出现实际评估的模型所使用的训练集比D小,导致因训练样本规模不同而导致的估计偏差。
自助法:以自助采样法为基础。
给定包含m个样本的数据集D,对其进行采样产生的数据集D‘:每次随机从D中挑选1个样本,将其拷贝放入D’,然后将该样本放回D中,使得其下次采样仍可能被采样;上述过程重复执行m次,可得到包含m个样本的数据集D‘,为结果。
由于随机采样存在概率问题,样本在m次采样中不被采到的概率为:
(
1
−
1
m
)
m
(1\quad-\quad\frac{1}{m})^m
(1−m1)m
m取无穷时存在极限,则数据集D中约有**36.8%**的样本未出现在采样数据集D’中。
因此将D‘用作训练集,D\D’(\表示集合减法)用作测试集;
如此实际评估的模型与期望评估的模型都使用m个训练样本,且仍有数据总量约1/3的、没在训练集中出现的样本用于测试,如此的测试结果称为“包外估计”。
使用细节:
缺陷:
介绍:
意义:
解决:
划分: