量化二元分类不确定性

数据挖掘 机器学习 分类
2022-02-14 03:17:53

我正在设计一个二元分类器,并想了解如何最好地量化最终模型分类中的不确定性。设计过程包括首先训练模型,然后执行 ROC 分析,最后选择一个阈值,使得误报概率约为 0.01。所以,当一个未知样本被传入这个分类器时,它会输出一个介于 0 和 1 之间的数字,如果该数字高于阈值,则将样本分类为 1 类(C1),如果该数字低于阈值,则将样本分类为 C0。临界点。

我的问题是关于如何围绕最终分类设计置信度分数。假设我的阈值是 0.9。所以,如果模型输出分数为 0.91,那么我的样本被分类为 C1,但如果输出分数为 0.89,那么样本被分类为 C0。直观地说,考虑到这些分数,我对标签的信心应该低于模型输出分别为 0.99 或 0.01 的情况。一种可能性是简单地计算从分数到阈值的归一化 [0,1] 距离,例如:|y^T|/(1T)对于高于阈值的预测(即,标记为 C1 的样本),以及|y^T|/T对于低于阈值的预测(其中y^是模型输出和T是阈值)。一个问题是它不是对称的。也就是说,对于 0.9 的阈值,0.91 的模型输出具有 0.1 的“确定性分数”(即上面显示的计算),而 0.89 的模型输出具有 0.011 的确定性分数。

我想到的另一种可能性是漏检的概率或误报的概率,例如y^<T(样品分类为 C0)或y^>T(样本分类为 C1),分别。所以,对于 0.89 的模型输出,我会计算FNR=1sensitivity,而对于 0.91 的模型输出,我会计算FPR=1specificity,并将这些用作最终分类中不确定性的度量。

是否有其他建议的方法来计算这种分类器的不确定性?

1个回答

首先要做的事情:一定要使用验证集来确定最佳阈值,不要使用最终的测试集。

另一个要点:这取决于您所说的“误报”是什么意思,但一般来说,您不应该假设分类器有可能将错误率保持在预定义的值以下(除非您已经进行了表明这一点的实验,当然)。如果“误报”是指仅一种类型的错误,则通常可以将一种类型的错误保持在阈值以下,而以另一种类型的错误为代价。例如,如果目标是最小化误报错误,那么可以让分类器根据需要做出尽可能多的误报错误,以将误报率保持在阈值以下。

现在关于量化不确定性:

  • 您提出的第一种方法是有道理的,但正如您所说,它不是对称的,也不允许以任何实际方式传达不确定性。理想情况下,您希望能够说“预测正确的可能性为 X%”,但您无法从与阈值的差异中获得这一点。
  • 据我了解,您的第二种方法朝着正确的方向发展,但我不确定细节是否清楚。因此,您可以做的是通过实验确定不同预测间隔的误差率(FPR 或 TPR,取决于阈值的哪一侧)y^. 例如,如果T=0.9您可以计算每个间隔的 FNR[0.0,0.1] [0.1,0.2] ... [0.8,0.9]. 这种方式对于任何预测y^您可以提供相应的错误率。