周志华《机器学习》(西瓜书)目录
https://editor.csdn.net/md?articleId=106864771
—————————————————————————————————
比较检验
统计假设检验(hypothesis test)为我们进行学习器t性能比较提供了重要依据。
- 假设检验
- 交叉验证 t 检验
- McNemar 检验
- Friedman检验与 Nemenyi后续检验
假设检验
由于泛化错误率与测试错误率比较接近,因此,可根据测试错误率估推出泛化错误率的分布。
泛化错误率为
ϵ
\epsilon
ϵ学习器被测得测试错误率为
ϵ
^
\hat{\epsilon}
ϵ^的概率:
我们可使用"二项检验" (binomial test)来对"
ϵ
<
0.3
\epsilon<0.3
ϵ<0.3"(即"泛化错误率是
否不大于 0.3" )这样的假设进行检验。
其中阴影部分的面积可以表示为:
此时若测试错误率
ϵ
^
\hat{\epsilon}
ϵ^小于临界值
ϵ
‾
\overline{\epsilon}
ϵ。则根据二项检验可得出结论:在 α 的显著度 下,假设"
ϵ
≤
ϵ
0
\epsilon\le\epsilon_0
ϵ≤ϵ0"不能被拒绝,即能以1-α 的置信度认为,学习器的泛化错误 率不大于
ϵ
0
\epsilon_0
ϵ0; 否则该假设可被拒绝,即在 α 的显著度下可认为学习器的泛化错 误率大于
ϵ
0
\epsilon_0
ϵ0。
交叉验证 t 检验
对两个学习器A和B,使用 k 折交叉验证法得到的测试错误率分别为
ϵ
i
A
\epsilon_i^A
ϵiA和
ϵ
i
B
\epsilon_i^B
ϵiB。
对 k 折交叉验证产生的 k 对测试错误率:先对每对结果求差,
Δ
i
=
ϵ
i
A
−
ϵ
i
B
\Delta_i=\epsilon_i^A-\epsilon_i^B
Δi=ϵiA−ϵiB, 若两个学习器性能相同,则差值均值班为零。对"学习器 A 与 B 性能相同"这个假设做 t 检验,在显著度 α 下,若变量为:
小于临界值则假设不能被拒绝,即认为两个学习器的性能没有显著差差别; 否则可认为两个学习器的性能有显著差别,且平均错误率较小的那个学习 器性能较优。
McNemar 检验
学习器 A 和 B 的测试错误率列联表为:
我们可以构建自由度为 1 的 χ2 分布,
Friedman检验与 Nemenyi后续检验
为解决一组数据集上的多个算法比较,我们构建基于算法排序的Friedman 检验。
N是数据集的个数,k是算法的个数。在 k 和 N 都较大时,服从自由度为 k-1 的 χ2 分布.
常用的Friedman 检验为:
若"所有算法的性能相同"这个假设被拒绝,则说明算法的性能显著不同.这时需进行"后续检验" (post-hoc test)来进一步区分各算法.常用的有 Nemenyi 后续检验。
Nemenyi 检验计算出平均序值差别的临界值域:
参考文献
[1] 周志华. 机器学习 : = Machine learning[M]. 清华大学出版社, 2016.