学习器利用错误率性能比较检验方法

比较检验是为了对机器学习器性能值进行评估的方法:
一般的我们都有F1-score值,ROC值
如果进行泛化比较,一般含有不同样本值、样本大小和重复测试都会造成最终性能度量值的不同。所以要寻求新的检验方法:
hypothesis test提供了,前提:测试集观察结果A如果优于B,则A的泛化性能在统计意义上是否也会优于B,以及这个结论的把握程度(置信度),性能度量指标为∈

一:假设检验(两种)
假设检验中的"假设"是对学习器错误率分布的某种判断或猜想,比如: ϵ \epsilon ϵ= ϵ 0 \epsilon_0 ϵ0
实际上我们不知道泛化误差率,只有测试误差率,在我们认知中,两者接近的可能性比较大,相差很远的可能性比较小,可以根据测试误差错误率来推测泛化误差错误率;
实际上就是对于一个样本犯错误的概率。在一个样本个数为m,其中个样本进行误分类的的概率为:
P ( ϵ ⌢ ; ϵ ) P(\stackrel\frown{\epsilon}; \epsilon) P(ϵ;ϵ)= ( m ϵ ⌢ ∗ m ) \left( \begin{array}{c} m \\ \stackrel\frown{\epsilon} * m \end{array} \right) (mϵm) ϵ ϵ ⌢ ∗ m {\epsilon^{\stackrel\frown{\epsilon}*m}} ϵϵm ( 1 − ϵ ) m − ϵ ⌢ ∗ m {(1-\epsilon)^{m{-\stackrel\frown{\epsilon} * m}}} (1ϵ)mϵm
这个式子也表明在m个测试集上,泛化错误率为的学习器被测得错误率为 ϵ ⌢ \stackrel\frown{\epsilon} ϵ的概率
这样就给定了测试错误率;通过解 P ( ϵ ⌢ ; ϵ ) P(\stackrel\frown{\epsilon}; \epsilon) P(ϵ;ϵ),可知在 ϵ = ϵ ⌢ \epsilon=\stackrel\frown{\epsilon} ϵ=ϵ
时,取的最大。
增大时,减小,这符合二项分布。我们可以利用置信度进行检验,
在这里插入图片描述
在整个分布中,α点的左边为可接受的错误率,左边的错误率后的累加值是置信区间(confidence),即为1-α;
更一般的描述为:
ϵ ⌢ \stackrel\frown\epsilon ϵ= m a x ϵ max\epsilon maxϵ s . t . ∑ i = ϵ 0 × m + 1 m s.t. \sum_{i=\epsilon_0×m+1}^m s.t.i=ϵ0×m+1m ( m i ) \left( \begin{array}{c} m \\ i \end{array} \right) (mi) ϵ i ( 1 − ϵ ) m − i \epsilon^i(1-\epsilon)^{m-i} ϵi(1ϵ)mi
此时若测试错误率 ϵ ⌢ \stackrel\frown\epsilon ϵ小于临界值 ϵ ˉ \bar{\epsilon} ϵˉ,在α的显著度下(即犯错误的概率),假设" ϵ ⩽ ϵ 0 \epsilon\leqslant\epsilon_0 ϵϵ0“不能被拒绝,否则该假设可被拒绝。
很多时候在操作的时候,我们重复多次留出法或是交叉验证法等进行多次的训练,这样我们可以得到多次的测试错误率,此时可以使用” t 检 验 t检验 t",假定我们得到多个测试错误率, ϵ ^ 1 \hat\epsilon_1 ϵ^1 ϵ ^ 2 \hat\epsilon_2 ϵ^2 ϵ ^ 3 \hat\epsilon_3 ϵ^3 ϵ ^ 4 \hat\epsilon_4 ϵ^4 ϵ ^ k \hat\epsilon_k ϵ^k
变量 τ t \tau_t τt= k ( μ − ϵ 0 ) σ \frac{\sqrt{k}(\mu-\epsilon_0)}{\sigma} σk (μϵ0)服从自由度为k-1的t分布。
对于假设" μ \mu μ= ϵ 0 \epsilon_0 ϵ0“和显著度” α \alpha α",可以计算出当测试错误率均值" ϵ 0 \epsilon_0 ϵ0"时,在1- α \alpha α概率内能观测到的最大错误率,即临界值,所以我们可以知道均值 μ \mu μ
我们考虑双边检验(two_tailed)假设(因为最后的结果值可能为负数),即两边的 α \alpha α都是显著度,在置信区间之外,假定阴影范围在(- ∞ \infty ,- t α / 2 t_{\alpha/2} tα/2]和[ t α / 2 t_{\alpha/2} tα/2, ∞ \infty ).若平均错误率 μ \mu μ ϵ 0 \epsilon_0 ϵ0之差| μ \mu μ- ϵ 0 \epsilon_0 ϵ0|位于临界值范围内,则不能拒绝假设 μ = ϵ 0 \mu=\epsilon_0 μ=ϵ0,置信度为1- α \alpha α; α \alpha α常用取值为0.05和0.1。
这个双边假设检验,是针对单个学习器和理论差别的对比。

交叉验证t检验:

对两个学习器,使用k折交叉验证得到的测试错误率分别为 ϵ 1 A {\epsilon_1}^A ϵ1A, ϵ 2 A {\epsilon_2}^A ϵ2A, ϵ 3 A {\epsilon_3}^A ϵ3A,…, ϵ k A {\epsilon_k}^A ϵkA ϵ 1 B {\epsilon_1}^B ϵ1B, ϵ 2 B {\epsilon_2}^B ϵ2B, ϵ 3 i B {\epsilon_3}^iB ϵ3iB,…, ϵ k B {\epsilon_k}^B ϵkB,其中 ϵ i A {\epsilon_i}^A ϵiA ϵ i B {\epsilon_i}^B ϵiB是在相同的第i折训练/测试集上得到的结果,则可以用k折交叉验证"成对t检验"(paired t-tests)来进行比较检验。(以上表述的基本思想,若两个机器学习的性能相同,则它们使用的训练集/测试集得到的测试错误率应相同,即 ϵ i A {\epsilon_i}^A ϵiA= ϵ i B {\epsilon_i}^B ϵiB

对这"两个学习器A与B性能相同"这个假设做t检验,计算出差值的均值 μ \mu μ和方差 σ 2 \sigma^2 σ2
在k折交叉验证产生的k对测试测试错误率:先对每对结果求差,用两个学习器之间测试错误率之差, △ i \vartriangle_i i= △ ϵ i A \vartriangle\epsilon_i^A ϵiA- △ ϵ i B \vartriangle\epsilon_i^B ϵiB,t检验就是对两个学习器的差值做假设t检验,在显著度 α \alpha α下,若变量 τ t \tau_t τt=| k μ σ \frac{\sqrt{k}\mu}{\sigma} σk μ|小于临界值,则假设不能被拒绝;否则认为两个学习器有绝对差异,且平均值最小的学习器性能最优。

问题

有效检验的前提是:测试误差率为泛化误差率的独立采样,但一般样本有限,使用交叉验证时,不同轮次会有一定的重叠,这就使得测试错误率并不独立,会导致过高的估计假设成立的概率

解决方法
采用"5*2交叉检验":每次用2折交叉检验的平均值,来作为错误率的平均: μ \mu μ=0.5( △ i 1 + △ i 2 \vartriangle_i^1+\vartriangle_i^2 i1+i2),每2折试验的结果都计算出其方差 σ i 2 \sigma_i^2 σi2=( △ i 1 − △ i 1 + △ i 2 2 2 {\vartriangle_i^1-\frac{\vartriangle_i^1+\vartriangle_i^2}{2}}^2 i12i1+i22)+( △ i 2 − △ i 1 + △ i 2 2 2 {\vartriangle_i^2-\frac{\vartriangle_i^1+\vartriangle_i^2}{2}}^2 i22i1+i22);
变量: τ t \tau_t τt= μ 0.2 ∑ i = 1 5 σ i 2 \frac{\mu}{\sqrt{0.2\sum_{i=1}^5{\sigma_i^2}}} 0.2i=15σi2 μ服从自由度为5的 t 分 布 t分布 t

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值