机器学习实验设计与分析:算法比较方法
在机器学习领域,我们常常需要比较不同算法的性能,以选择最适合特定任务的算法。本文将介绍多种比较算法的方法,包括比较两个分类算法的方法、比较多个算法的方差分析方法,以及在多个数据集上比较算法的非参数检验方法。
1. 比较两个分类算法
1.1 K 折交叉验证配对 t 检验
当我们有两个分类算法,想要比较它们的错误率是否相同时,可以使用 K 折交叉验证配对 t 检验。假设两个算法在每次交叉验证中的错误率差值 $p_i$ 服从正态分布,原假设 $H_0$ 为该分布的均值 $\mu = 0$,备择假设 $H_1$ 为 $\mu \neq 0$。
我们定义:
- 差值的平均值 $m = \frac{\sum_{i=1}^{K} p_i}{K}$
- 差值的样本方差 $S^2 = \frac{\sum_{i=1}^{K} (p_i - m)^2}{K - 1}$
在原假设 $\mu = 0$ 下,统计量 $\frac{\sqrt{K} \cdot m}{S}$ 服从自由度为 $K - 1$ 的 t 分布,即 $\frac{\sqrt{K} \cdot m}{S} \sim t_{K - 1}$。
如果该统计量的值落在区间 $(-t_{\alpha/2, K - 1}, t_{\alpha/2, K - 1})$ 之外,我们就在显著性水平 $\alpha$ 下拒绝两个分类算法具有相同错误率的原假设。例如,当 $\alpha = 0.05$,$K = 10$ 时,$t_{0.025, 9} = 2.26$;当 $K = 30$ 时,$t_{0.025, 29} = 2.05$。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



