可信度,评估学习结果
评估是数据挖掘关键的一环,我们需要能预测在实际中的性能的评估方法,即在任何能得到的数据集上的能力。
1.训练和测试
一般学习方法包括两个阶段,第一阶段建立基本结构,第二阶段对结构包含参数进行优化(超参数调参)。这两阶段需要用不同的数据集。但是,所有数据都不可用于估计误差率。training data, validation data,test data。
2.预测的 性能
测试集的误差率同样也是对真实误差的一个逼近,二者有多相似取决于测试数据集的规模。在一定置信度下,可以计算出真是误差率的执行区间,测试集越大置信区间越小。因此,测试集越大,得到的测试集误差率越可信。
3.交叉验证
K-折交叉验证,分层设置训练集和测试集。10-折交叉验证通常被认为是标准方法。
4.其他评估方法
- 留一交叉验证
留一交叉验证实际上就是N-折交叉验证,N为测试集样本总数。
缺点:不能分层,使估计结果失效。
优点:在小样本上获得尽可能正确的估计。 - 自助法
类似baging,有放回抽样数据集,抽出来的样本作为训练集,剩余样本作为测试集。极限情况下样本不被抽到的概率是0.368,也就是,对一个相当大的数据集来说,测试集讲包含36.8%的样本,训练集将包含63.2%的样本。
将这个过程反复多次,然后将训练误差和测试误差加权和作为真实误差的估计。
5.数据挖掘方法比较
要确定一个学习方法是否真的优于另一方法,需要证明该方法对于问题解决有改进,而且并不是估计过程的偶然导致的。
这个问题就是试图判断一组样本的均值是否高于或低于另一组样本的均值,这在统计学中被称为t检验。可以在两个学习方法上使用同样的测试集测试,使得每个数据集上的实验都能获得配对的结果,因此可以使用t检验的另一种形式,假设配对t检验。要判断k个配对样本的均值
x
ˉ
\bar{x}
xˉ,
y
ˉ
\bar{y}
yˉ是否相等,考虑每组对应样本之间的差值
d
i
d_{i}
di,
d
i
=
x
i
−
y
i
d_{i} = x_{i} - y{i}
di=xi−yi。因为样本成对出现,差值的平均值正是两个平均值之间的差
d
ˉ
=
x
ˉ
−
y
ˉ
\bar{d} = \bar{x} - \bar{y}
dˉ=xˉ−yˉ。和平均值一样,差值的平均值也是
k
−
1
k-1
k−1自由度的学生分布。
将差值的均值变为零,方差变为1,得到t统计量:
t
=
d
ˉ
σ
d
2
/
k
t = \frac{\bar{d}}{\sqrt{{\sigma^{2}_{d}/k}}}
t=σd2/kdˉ
σ
d
2
\sigma^{2}_{d}
σd2是样本差值的方差。