检查准确性提高是否显着

机器算法验证 统计学意义 分类
2022-01-18 05:34:05

假设我有一个算法将事物分为两类。我可以测量算法在 1000 个测试事物上的准确性——假设 80% 的事物被正确分类。

假设我以某种方式修改了算法,以便正确分类 81% 的事物。

统计数据能否告诉我我对算法的改进是否具有统计学意义?在这种情况下,统计显着性的概念是否相关?请指出一些可能相关的资源的方向。

非常感谢。

4个回答

简而言之,是的。统计学意义在这里是相关的。您正在查看分类错误(或者,正如您在此处给出的准确度 = 1- 分类错误)。如果您在不同的 1000 个样本上比较分类器,则可以简单地使用二项式检验,如果是相同的 1000 个样本,则需要使用 McNemar 检验。请注意,以这种方式简单地测试分类错误是次优的,因为您要么假设分类错误独立于真实类,要么假设真实类的比例在您的潜在应用程序中是相同的。

这意味着您应该查看真阳性率、假阳性率或 AUC 等指标。使用什么度量以及如何测试它,取决于您的分类器的输出。它可能只是一个类别,也可能是一个连续数字,给出属于某个类别的概率。

正如Erik 所说,是的,您可以检查它的统计意义。但是,请考虑一下您要检查的确切内容。我认为一个更有趣的问题可能是询问所谓的“改进”算法比原始算法更好(或有意义地更好)的可能性有多大,给定观察到的 1% 差异的数据。根据“统计意义”提出问题往往会导致相反类型的问题:鉴于两种算法相同,观察到至少有这么多改进的可能性是否小于 5%?

对我来说,后一个问题是倒退的,但它已成为标准。你可以查看维基百科关于统计假设检验的争议您可能随后会对贝叶斯推理感兴趣如果您真的想进入贝叶斯数据分析,您可以查看 Gelman 等人的“贝叶斯数据分析”或查看此问题

Erik 的答案应用于 Michael 的

在选择绩效衡量标准时,您可以采用 Erik 所指的相同思维方式。

我发现通过他们回答的问题来参考不同的此类措施很有帮助(这里是我最熟悉的医学诊断语言 - 但也许你可以用文本替换病人,用垃圾邮件替换疾病;-)):

  • 敏感性:假设患者确实患有这种疾病,分类器意识到这一点的可能性有多大?

  • 特异性:鉴于患者确实没有疾病,分类器意识到这一点的可能性有多大?

  • 阳性预测值:给定分类器声称患者患病,患者真正患病的可能性有多大?

  • 负预测值:给定分类器声称患者没有患病,患者真正没有患病的可能性有多大?

如您所见,预测值是医生和患者真正感兴趣的。然而,几乎每个人都用敏感性和特异性来描述他的分类器。原因是预测值需要考虑疾病的患病率,并且对于不同类型的患者来说可能会有很大差异(数量级!)。

更多关于您的问题的主题:

我敢打赌,你的担心是对的。

以 Erik 的两个场景为例:

以下是独立测试样本:

> binom.test (x = 810, n = 1000, p = 0.8)

    Exact binomial test

data:  810 and 1000 
number of successes = 810, number of trials = 1000, p-value = 0.4526
alternative hypothesis: true probability of success is not equal to 0.8 
95 percent confidence interval:
 0.7842863 0.8338735 
sample estimates:
probability of success 
                  0.81 

(请注意,这个测试是双向的,假设即使结果相反,两个分类器也会被发布......)

这是最好的情况:配对测试,新分类器适用于所有样本,旧分类器也正确,再加上 10 个:

> ## mc.nemar: best possible case
> oldclassif <- c (rep ("correct", 800), rep ("wrong", 200))
> newclassif <- c (rep ("correct", 810), rep ("wrong", 190))
> table (oldclassif, newclassif)
          newclassif
oldclassif correct wrong
   correct     800     0
   wrong        10   190
> mcnemar.test (oldclassif, newclassif)

    McNemar's Chi-squared test with continuity correction

data:  oldclassif and newclassif 
McNemar's chi-squared = 8.1, df = 1, p-value = 0.004427

(只要1000 个样本中不超过 10 个样本被两个分类器以不同方式预测,p 值就会保持在神奇的 0.05 以下)。

即使 p 值是对错误问题的正确答案,也有迹象表明它有点紧张。

然而,考虑到通常的科学实践,即测试了未知(未发布)数量的新功能,并且只发布了效果稍好一些的功能,这个地方变得更加紧张。然后,80% 分类器可能只是某些 79% 分类器的继承者......

如果您喜欢阅读德语,Beck-Bornhold 和 Dubben 的书籍非常好。如果我没记错的话,Mit an Wahrscheinlichkeit grenzender Sicherheit对这些问题进行了很好的讨论。(不知道有没有英文版,书名比较直译是“With a certainty bounding on probability”)

我强烈反对使用任何不连续的不正确评分规则(准确度得分,如敏感性、特异性、分类正确的比例,当优化导致虚假模型时),而是使用似然比检验或部分 F 检验来增加新的价值变量。

查看正确分类比例问题的几种方法之一是,如果一个类别中的总体比例为 0.9,则通过忽略数据并将每个观察值归类为该类别,您将有 0.9 的时间是正确的。