如何进行假设检验以比较不同的分类器

机器算法验证 机器学习 假设检验 分类 t检验
2022-04-09 09:50:04

我正在尝试将一个小数据集(大约 500 条记录)分为两类。我使用了各种方法,如 SVM、朴素贝叶斯和 k-nn 分类器。现在,我想将其中一个分类器的结果设置为我的基线并执行统计假设检验。我对这个统计测试领域不太熟悉,我想知道如何进行。

我一直在考虑将 SVM 分类器设置为我的基线,但我不确定如何对数据执行 t 检验(或类似检验)。输入数据集有 10 个属性。我应该使用两个分类器的分类结果并对它们进行配对 t 检验吗?例如,我可以从朴素贝叶斯中获取结果,并使用 SVM 结果(这是基线)执行配对 t 检验。这是正确的方法吗?

另外,我对无效假设和替代假设的解释感到困惑。有人愿意就如何修复零假设和替代假设提供一个想法。

3个回答

用一般外行的话(不仅仅是这个问题),

  • 空假设:没有变化或差异(即分类器具有相同的性能,但是你定义它)H0
  • 替代假设:性能存在某种差异

对于分类器性能比较问题,我建议阅读Japkowicz & Shah的第 6 章,其中详细介绍了如何使用显着性检验来评估不同分类器的性能。(其他章节提供了更多关于分类器比较的背景——听起来你可能也会感兴趣。)

在你的情况下,

  1. 要比较 2 个分类器(在单个域上),您可以使用匹配对 t 检验 where,其中是基于应用的绩效测量方法(无论您选择使用什么)的差异两个分类器是试验次数,是平均差的样本标准差t=d¯σ¯d/nd¯=pm¯(f1)pm¯(f2)f1f2nσ¯d
  2. 要比较多个分类器(在单个域上),您可以使用单向方差分析(即 F 检验)来检查多种方法之间是否存在任何差异(尽管它无法判断哪些实际上不同),然后跟进 post -hoc 测试,例如Tukey 的诚实显着差异测试,以确定哪些分类器表现出显着差异。

这本书更详细,所以我推荐阅读那一章。

就基线而言,我提到的测试没有区分基线和非基线。这是一件好事,因为它使您可以灵活地决定在分析中应该更加重视哪些比较。您实际进行的测试数量决定了您应该依赖上面的 1. 还是 2.。

单向方差分析,然后使用 Tukey-Kramer 方法进行多重比较分析的事后检验是一种可能的方法。

结果,生成了各种图,在每个图中,分类器性能测量的平均值和一个区间(95% 置信区间)被清楚地表示。如果它们的区间不相交,则两个均值显着不同,如果它们的区间重叠,则没有显着差异。

在参考文献中,我包含了我们小组的一篇研究文章,我们在其中统计比较了不同分类器的输出,并选出了最好的一个。

参考:

ML McHugh,方差分析中的多重比较分析测试,Biochemia medica 21 (2011) 203–209。http://www.ncbi.nlm.nih.gov/pubmed/22420233

R. Prashanth、S Dutta Roy、PK Mandal、S Ghosh,通过多模式特征和机器学习高精度检测早期帕金森病,90 (2016) 13-21。http://www.sciencedirect.com/science/article/pii/S1386505616300326

我不会做方差分析,因为您的实验设计对应于受试者内的一种方式(算法在相同的测试集折叠上进行测试)。这样的 ANOVA 有一个球形假设,您无法假设您的数据满足该假设。

但这无论如何都不是问题。你真正需要的是那些事后测试。它们告诉你的不仅仅是简单的方差分析。您可以在没有 ANOVA 的情况下执行它们。