学习内容
- 评估方法
- 评估指标
- 比较检验
三. 比较检验
1. 如何进行比较检验
有了实验评估方法和评估指标,看似可以对分类器的性能进行评估比较了:先使用某种试验评估方法测得分类器的某个评估指标结果,然后对这些结果进行比较。但怎么来做这个“比较”呢?
直接选取相应评估方法在相应度量下比大小的方法不可取!
因为关于性能比较:
- 测试性能并不等于泛化性能
- 测试性能会随着测试集的变化而变化
- 很多机器学习算法本身有一定的随机性
统计假设检验
统计假设检验为分类器的性能比较提供了重要依据,基于其结果我们可以推断出,若在测试集上观察到分类器A比B好,则A的泛化性能是否在统计意义上优于B,以及这个结论的把握有多大。
假设检验是数理统计学中根据一定条件由样本推断总体的一种方法。假设检验定义如下:
- 在总体的分布函数完全未知或已知其形式,但不知其参数的情况,为了推断总体的某些未知特性,提出一些关于总体的假设。我们要根据样本对所提出的的假设做出是接受还是拒绝的决策。
我们对这个定义分解来看:
- 条件:满足情况。(总体的分布函数完全未知或已知其形式,但不知其参数)
- 目标:以推断总体的某些未知特性为目标
- 方法:提出某些关于总体的假设
- 行动:根据样本所提出的的假设做出是接受还是拒绝的决策。
我们来结合一个例子来理解假设检验的定义,以分类任务的【错误率】为例
- 条件:现实中我们不知道学习器的泛化错误率,只能获知其测试错误率。但是二者的分布情况极有可能相似。这就符合了 定义中“分布函数完全未知或已知其形式但不知其参数”的情况。
- 目标:要推断的未知特性:若在测试集上观察到分类器A比B好,则A的泛化性能是否在统计意义上优于B,以及这个结论 的把握有多大。
- 方法:以书中的例子为例,“ ”,将泛化错误率假设为某数值 。
- 行动:通过显著度来判断做出的假设该被接受还是被拒绝。
2.对单个学习器泛化性能的假设的检验方法:二项检验 和 t 检验
二项检验(对于一个测试误差率)
在包含了 个样本的测试集上,【泛化错误率为 的学习器】被测得测试错误率为 的概率为:
(因为测试错误率为意味着在个测试样本中恰有X个被误分类。)
可见,这个概率服从二项分布。
作出假设:假设泛化错误率不大于
如何检验:实际上我们只能通过测试错误率来判断是否接受这个假设。那么需要设定一个临界值,(最大错误率)
观测值不超过这个临界值,则接受;观测值超过这个临界值,则不接受。
这里临界值的设定,要涉及显著度(也叫显著性水平)
- 显著性水平是估计总体参数落在某一区间内,可能犯错误的概率,用表示,即原假设为真时,拒绝原假设的概率。它是进行假设检验时事先确定一个可允许的作为判断界限的小概率标准。相应地,为置信度或置信水平,其表明了区间估计的可靠性。
- 通常取0.1、0.05、0.01,此时分别代表原假设为真时,拒绝原假设的概率为10%、5%、1%,说明对该假设做出的判断有90%、95%、99%的可靠性。
确定显著度,设定临界值:
在的概率内所能观测到的最大错误率为:(临界值)
(即大于的概率小于)
进行检验判断:
若测试错误率小于临界值,那么可得出结论:
- 在的显著度下,假设 “泛化错误率不大于” 不能被拒绝。
- 也即,能以的置信度认为,学习器的泛化错误率不大于。
否则该假设可被拒绝,即在在的显著度下可认为学习器的泛化错误率大于。
t 检验(对应于多个测试误差率)
- 学生t-分布(t-distribution),可简称为t分布,用于根据小样本来估计呈正态分布且方差未知的总体的均值。
- 定义:假设X服从标准正态分布N(0,1),Y服从 分布,那么 的分布称为*度为n的t分布,记为
我们往往是通过多次重复留出法或是交叉验证法等进行多次训练/测试,从而得到多个测试错误率。
假定我们得到了k个测试错误率,, 平均测试错误率和方差为
考虑到这k个测试错误率可以看作泛化错误率的独立采样,由于 服从正态分布, 服从*度为 的 分布
则变量变量 服从*度为 的 分布。(备注:还不是太懂)
接下来就是继续确定显著度 ,确定临界值(此处用双边假设),最后进行在置信度为 下的判断了。
3. 对不同学习器的性能比较检验方法:交叉验证 t 检验、McNemar检验、Friedman检验与Nemenyi检验
现在有两个学习器A和B,使用 折交叉验证法得到测试错误率分别为 和 。其中 和 是在相同的第 折训练/测试集上得到的结果。
假设:学习器A与B性能相同
检验:对这个假设做 t 检验。
基本思想:若两个学习器的性能相同,则它们使用的训练/测试集得到的测试错误率应相同,即 。
1、先对每一对结果求差,
2、计算出这k个差值的均值 和方差
3、根据 检验的公式 ,得 ,满足*度为 的 分布,故在显著度 ,若其小于临界值 ,则假设不能被拒绝,即认为两个学习器性能没有显著的差别。反之则认为平均错误率小的性能更优。
这里 是分布上尾部累积分布为 的临界值。
但是这样使用 折交叉验证法,通常情况下会因为样本有限,使得不同轮次的训练集产生一定程度的重叠。这样训练出来的学习器,会让得出的这组测试错误率无法做到彼此完全独立。
而进行有效的假设检验的一个重要的前提就是:测试错误率均为泛化错误率的独立采样。(例如 分布就需要随机变量X和Y相互独立。)
所以为了缓解这个问题,可采用“5×2交叉验证”法。
未完待续。。。