校准预测的类概率以使其代表真实概率?

数据挖掘 机器学习 神经网络 深度学习 分类 概率校准
2022-03-10 02:04:44

假设我们有一个简单的二元分类模型(神经网络——NN),用于将输入图像分类为“狗”()或“非狗”()。让我们假设 NN 有一个“sigmoid 输出”训练后,我们输入一张狗的图像,NN 的输出是例如据我了解,根据模型,“0.8”这个值是特定图像是“狗”的概率(“置信度”),预测是“它是狗”(因为 0.8 > 0.5) .y=1y=0y^y^=0.8

但是真的是(真)概率吗?我的意思是:如果我们为 NN 提供许多不同的图像,并说其中 100 个,模型给出相同的对于这个是一个真实的概率,我预计这些图像中有 80 个实际上是狗,而 20 个不是狗。为了检查这一点,我们将查看(假设它们存在)。在所有 100 张图像实际上都是狗的情况下,我们的模型做出了正确的预测(因为它正确地将所有这些都标记为狗,因为 0.8 > 0.5 对于所有 100 张图像),但不是真实的概率预测,因为它应该是1。这实际上是准确率,y^y^=0.8y^yy^100/100=1. 另一方面,如果 100 张图像中有 80 张实际上是狗,20 张不是狗,那么模型预测的准确度,因为它再次错误地将所有 100 张图像分类为狗,但实际上只有 80 张是狗. 然而,现在代表真实概率。在其他情况下,准确率可以是例如 0.9,这意味着预测的不是正确的概率,但比第一种情况更接近它。80/100=0.8y^=0.8y^=0.8

所以,首先,我说的对吗?其次,“校准”是否解决了这个问题,即使 = accuracy 允许被解释为真实概率?y^y^

1个回答

“并非所有的分类模型都是自然概率的”是本章的第一行 [1]这意味着有些模型会输出概率,有些则不会。这高度依赖于模型结构以及它使用的目标函数。

特别是对于神经网络,一个常用的目标函数是交叉熵。据我了解,交叉熵确实试图接近目标变量的真实分布,以输入变量为条件。这意味着对于一百个相似案例,它们在模型能够理解的信息方面是相似的,如果这些案例中有 80% 是狗,那么预测分数将是概率的下降方法你想估计:Xsimilary^p(dog|Xsimilar)=80/100

对于其他具有较少“统计”行为的模型,例如决策树、SVM,采用 Boosting 或 Bagging 过程的模型,输出分布 ( ) 是倾斜的。在这种二元分类设置中,这些模型会尝试给出尽可能接近目标值的分数。在手头的情况下,他们会将视为一个组,并且该组在将它们都分类为狗的准确性方面的最佳决策,将倾向于 1 值。y^Xsimilary^

所以,我对此的看法:

  • 如果您的目标是获得准确的概率,请使用直接输出概率的模型。如果概率是“完美的”,0.5 的截止值将提供最佳精度(即作为决策规则)y^0.5

  • 如果您的目标是在准确度方面拥有良好的分类器,请使用...具有最佳准确度的模型。请注意,在这种情况下,最佳截止值可能不是 0.5(甚至可能相差甚远)。

  • 如果你有这两个目标,那么我没有答案,因为这取决于数据和模型。如果你的分数不是概率,校准应该让它们看起来更像它。有关校准方法的列表,请参阅分类校准。

[1] 维基百科-概率分类-概率校准

[2] 维基百科-校准(统计)-分类