为什么我们要在分类问题中最大化 AUC?

Why do we want to maximize AUC in classification problems?

我想知道为什么我们的 objective 是在最大化准确率时最大化 AUC?

我认为随着最大准确度的主要目标,AUC 会自动变大。

我想我们使用 AUC 是因为它解释了我们的方法能够独立于阈值分离数据的能力。 对于某些应用程序,我们不希望出现误报或漏报。当我们使用准确性时,我们已经先验地确定了最佳阈值来分离数据,而不管特异性和敏感性。 .

在二进制 classification 中,准确度是针对特定阈值的单个模型的性能指标,而 AUC(ROC 曲线下的面积)是针对一系列阈值的一系列模型的性能指标.

感谢这个问题,我在 AUC 和准确率比较方面学到了很多东西。我认为两者之间没有关联,我认为这仍然是一个悬而未决的问题。在此答案的末尾,我添加了一些我认为有用的链接,例如 these


准确性失败的一种情况:


示例问题

让我们考虑一个二进制 class 化问题,在该问题中,您评估模型在 100 个样本的数据集上的性能(98 class 02 class 1).

拿出你复杂的机器学习模型,用一个无论接收到什么输入总是输出 0 的哑系统替换整个模型。 现在准确率是多少?

Accuracy = Correct predictions/Total predictions = 98/100 = 0.98

我们在 "Always 0" 系统上获得了惊人的 98% 准确率。

现在您将系统转换为癌症诊断系统并开始对一组患者进行预测(0 - 没有癌症,1 - 癌症)。假设会有少数情况对应class1,你还是会达到很高的准确率。

尽管准确率很高,但如果系统在 class 1(识别癌症患者)上表现不佳,那它的意义何在?


这一观察结果表明,对于每种 类型的机器学习问题,准确性并不是一个好的评估指标。以上被称为不平衡 class 问题,这种性质的实际问题已经够多了。


关于准确率和AUC的比较,这里有一些我认为有用的链接,

  1. An introduction to ROC analysis
  2. Area under curve of ROC vs. overall accuracy
  3. Why is AUC higher for a classifier that is less accurate than for one that is more accurate?
  4. What does AUC stand for and what is it?
  5. Understanding ROC curve
  6. ROC vs. Accuracy vs. AROC