为什么我们要在分类问题中最大化 AUC?
Why do we want to maximize AUC in classification problems?
我想知道为什么我们的 objective 是在最大化准确率时最大化 AUC?
我认为随着最大准确度的主要目标,AUC 会自动变大。
我想我们使用 AUC 是因为它解释了我们的方法能够独立于阈值分离数据的能力。
对于某些应用程序,我们不希望出现误报或漏报。当我们使用准确性时,我们已经先验地确定了最佳阈值来分离数据,而不管特异性和敏感性。
.
在二进制 classification 中,准确度是针对特定阈值的单个模型的性能指标,而 AUC(ROC 曲线下的面积)是针对一系列阈值的一系列模型的性能指标.
感谢这个问题,我在 AUC 和准确率比较方面学到了很多东西。我认为两者之间没有关联,我认为这仍然是一个悬而未决的问题。在此答案的末尾,我添加了一些我认为有用的链接,例如 these。
准确性失败的一种情况:
示例问题
让我们考虑一个二进制 class 化问题,在该问题中,您评估模型在 100 个样本的数据集上的性能(98 class 0
和 2 class 1
).
拿出你复杂的机器学习模型,用一个无论接收到什么输入总是输出 0
的哑系统替换整个模型。
现在准确率是多少?
Accuracy = Correct predictions/Total predictions = 98/100 = 0.98
我们在 "Always 0
" 系统上获得了惊人的 98% 准确率。
现在您将系统转换为癌症诊断系统并开始对一组患者进行预测(0
- 没有癌症,1
- 癌症)。假设会有少数情况对应class1
,你还是会达到很高的准确率。
尽管准确率很高,但如果系统在 class 1
(识别癌症患者)上表现不佳,那它的意义何在?
这一观察结果表明,对于每种 类型的机器学习问题,准确性并不是一个好的评估指标。以上被称为不平衡 class 问题,这种性质的实际问题已经够多了。
关于准确率和AUC的比较,这里有一些我认为有用的链接,
我想知道为什么我们的 objective 是在最大化准确率时最大化 AUC?
我认为随着最大准确度的主要目标,AUC 会自动变大。
我想我们使用 AUC 是因为它解释了我们的方法能够独立于阈值分离数据的能力。 对于某些应用程序,我们不希望出现误报或漏报。当我们使用准确性时,我们已经先验地确定了最佳阈值来分离数据,而不管特异性和敏感性。 .
在二进制 classification 中,准确度是针对特定阈值的单个模型的性能指标,而 AUC(ROC 曲线下的面积)是针对一系列阈值的一系列模型的性能指标.
感谢这个问题,我在 AUC 和准确率比较方面学到了很多东西。我认为两者之间没有关联,我认为这仍然是一个悬而未决的问题。在此答案的末尾,我添加了一些我认为有用的链接,例如 these。
准确性失败的一种情况:
示例问题
让我们考虑一个二进制 class 化问题,在该问题中,您评估模型在 100 个样本的数据集上的性能(98 class 0
和 2 class 1
).
拿出你复杂的机器学习模型,用一个无论接收到什么输入总是输出 0
的哑系统替换整个模型。
现在准确率是多少?
Accuracy = Correct predictions/Total predictions = 98/100 = 0.98
我们在 "Always 0
" 系统上获得了惊人的 98% 准确率。
现在您将系统转换为癌症诊断系统并开始对一组患者进行预测(0
- 没有癌症,1
- 癌症)。假设会有少数情况对应class1
,你还是会达到很高的准确率。
尽管准确率很高,但如果系统在 class 1
(识别癌症患者)上表现不佳,那它的意义何在?
这一观察结果表明,对于每种 类型的机器学习问题,准确性并不是一个好的评估指标。以上被称为不平衡 class 问题,这种性质的实际问题已经够多了。
关于准确率和AUC的比较,这里有一些我认为有用的链接,