AUC 与标准精度的优势

数据挖掘 机器学习 准确性
2021-09-17 19:44:10

我开始研究曲线下面积(AUC)并且对其有用性有点困惑。当第一次向我解释时,AUC 似乎是衡量性能的一个很好的指标,但在我的研究中,我发现有些人声称它的优势几乎是微不足道的,因为它最适合捕捉具有高标准精度测量和低 AUC 的“幸运”模型.

那么我应该避免依赖 AUC 来验证模型还是最好的组合?感谢你的帮助。

4个回答

非常好的问题,我发现大多数人在直觉层面上并没有真正理解。AUC事实上,由于许多不同的原因,它通常优于二元分类的准确性。首先,让我们来谈谈究竟是什么AUC老实说,作为最广泛使用的功效指标之一,要弄清楚到底是如何AUC工作的却出人意料地迟钝。

AUC代表Area Under the Curve,你问的是哪条曲线?嗯,那将是ROC曲线。ROC代表Receiver Operating Characteristic,实际上有点不直观。的隐含目标AUC是处理样本分布非常偏斜且不想过度拟合到单个类的情况。

一个很好的例子是垃圾邮件检测。通常,垃圾邮件数据集强烈偏向火腿或非垃圾邮件。如果您的数据集 90% 是 ham,那么您只需说每封电子邮件都是 ham,就可以获得非常好的准确度,这显然表明分类器不理想。让我们从几个对我们更有用的指标开始,特别是真阳性率 ( TPR) 和假阳性率 ( FPR):

ROC 轴

现在在这个图中,TPR具体来说是真阳性与所有阳性FPR的比率,是假阳性与所有阴性的比率。(请记住,这仅适用于二元分类。)在这样的图上,应该非常简单地计算出全 0 或全 1 的预测将分别导致 和 的(0,0)(1,1)如果你通过这些线画一条线,你会得到这样的东西:

有点像三角形

它看起来基本上像一条对角线(它是),并且通过一些简单的几何图形,您可以看到AUC这样的模型的0.5(高度和底部都是 1)。类似地,如果您预测 0 和 1 的随机组合,假设 90% 为 1,您可以得到点(0.9, 0.9),该点再次落在该对角线上。

现在是有趣的部分。如果我们不只是预测 0 和 1 会怎样?如果相反,我们想说的是,理论上我们要设置一个截止值,高于该值的每个结果都是 1,低于该值的每个结果都是 0。这意味着在极端情况下,您会得到原始情况有全 0 和全 1(分别在 0 和 1 的截止点),而且还有一系列中间状态,这些状态落在1x1包含你的ROC. 在实践中,你会得到这样的东西: 由维基百科提供

所以基本上,当你做一个AUC过高的准确性时,你实际上得到的东西会强烈阻止人们去寻找具有代表性但没有区别的模型,因为这实际上只会选择那些实现误报率和真阳性率的模型明显高于随机机会,这不能保证准确性。

AUC 和准确度是完全不同的东西。AUC 适用于在内部具有某种决策阈值概念的二元分类器。例如,逻辑回归返回正/负取决于逻辑函数是否大于/小于阈值,默认情况下通常为 0.5。当您选择阈值时,您就有了一个分类器。你必须选择一个。

对于给定的阈值选择,您可以计算准确率,即整个数据集中真阳性和阴性的比例。

AUC 衡量的是真阳性率(召回率)和假阳性率是如何权衡的,所以从这个意义上说,它已经在衡量其他东西了。更重要的是,AUC 不是阈值的函数。它是对分类器的评估,因为阈值在所有可能的值上变化。从某种意义上说,它是一个更广泛的指标,测试分类器生成的内部值的质量,然后与阈值进行比较。它不是测试特定阈值选择的质量。

AUC 有不同的解释,那就是根据分类器对示例的内部值,随机选择的正例排在随机选择的负例之上的概率也是如此。

即使您有一个仅对示例产生排名的算法,AUC 也是可计算的。如果您真的只有一个黑盒分类器,而不是具有内部阈值的分类器,则 AUC 是不可计算的。这些通常会决定两者中的哪一个甚至可以解决手头的问题。

我认为 AUC 是一个更全面的衡量标准,尽管适用于较少的情况。严格来说,它并不比准确性好;这不一样。这部分取决于您是否更关心真阳性、假阴性等。

F-measure 更像是准确度,因为它是分类器及其阈值设置的函数。但它衡量的是准确率与召回率(真阳性率),这与上述任何一个都不相同。

我想参考一下您应该如何选择绩效衡量标准。在此之前,我将参考准确性和 AUC 的具体问题。

如前所述,在不平衡数据集上使用多数运行作为分类器将导致高精度,这将使其成为误导性度量。AUC 聚合超过置信度阈值,无论好坏。永远,您会得到所有置信水平的权重结果。不好的是,您通常只关心您实际使用的置信水平,其余的无关紧要。

但是,我想谈谈为模型选择合适的性能度量。您应该根据目标来比较模型。模型的目标不是机器学习或统计的问题,而是业务领域及其需求的问题。

如果您正在挖掘金子(在这种情况下,您可以从真阳性中获得巨大收益,而不是误报的成本太高),那么召回是一个很好的衡量标准。

如果您试图决定是否对人执行复杂的医疗程序(假阳性的成本很高,希望假阴性的成本很低),那么您应该使用精确度。

您可以使用很多措施。您还可以通过各种方式组合它们。

但是,没有通用的“最佳”衡量标准。有适合您需求的最佳模型,最大化它将使您的利益最大化。

使用两者都有真正的好处。最大的问题是什么时候。第一个很大的区别是你计算预测类的准确性,而你计算预测分数的 ROC AUC。这意味着您必须为您的问题找到最佳阈值。此外,准确性着眼于正确分配的正类和负类的分数。这意味着如果我们的问题高度不平衡,我们通过简单地预测所有观测值都属于多数类来获得非常高的准确度分数。另一方面,如果您的问题是平衡的并且您同时关心正面和负面预测,那么准确度是一个不错的选择,因为它非常简单且易于解释。但是,在查看准确性时,您应该始终考虑不平衡。要记住的另一件事是 ROC AUC 特别擅长对预测进行排名。正因为如此,如果您有一个问题,即对观察结果进行排序是您所关心的,那么 ROC AUC 可能就是您正在寻找的。

在这里,我们将这些评估指标与一个实际问题进行了比较,因此请随时检查一下以获得更清晰的理解。快乐学习!二元分类的 24 个评估指标(以及何时使用它们) 在此处输入图像描述