应用贝叶斯定理的错误示例

数据挖掘 统计数据 数据 可能性 贝叶斯
2022-03-15 20:14:17

我一直在阅读“数据科学设计手册”一书(Steven S. Skiena 着),我遇到了一个解释如何应用贝叶斯定理的例子,这让我感到困惑并怀疑它可能是错误的。示例如下:

P(A|B)=P(B|A)P(A)P(B)
假设 A 是人 x 实际上是恐怖分子的事件,而 B 是基于特征的分类器的结果,该分类器决定 x 是否看起来像恐怖分子。在对 1,000 人(其中一半是恐怖分子)的数据集进行训练/评估时,分类器达到了令人羡慕的准确率,例如 90%。分类器现在说 Skiena 看起来像个恐怖分子。Skiena 真的是恐怖分子的概率是多少?这里的关键见解是,“x 是恐怖分子”的先验概率非常非常低。如果有一百个恐怖分子在美国活动,那么 P(A) = 100/300,000,000 = 3.33 × 10−7 。恐怖分子探测器说是的概率 P(B) = 0.5,而探测器说是的概率 P(B|A) = 0.9。乘以这个得出我是坏人的可能性仍然很小,
P(A|B)=P(B|A)P(A)P(B)=(0.9)(3.33x107)0.5=6x107

然而,P(B)=0.5对我来说似乎不正确。P(B)应该是恐怖分子探测器在对从美国人口中随机选择的人(例如Skiena)进行锻炼时说“是”的概率。如果我理解正确,这0.5作者使用的是分类器评估数据集中恐怖分子的百分比,这不是一回事,原因如下:

  • 这是一个样本,不是随机选择与某些人口(斯基纳是从中选择的)相当的,而是专门选择来包含上述恐怖分子比例的。
  • 这个比率不是评估数据集中看起来像恐怖分子的人的比率(即分类器对样本中的随机人说是的概率),而是样本中实际恐怖分子的比率。

我的理解是,为了计算P(B)更恰当地说,必须从美国人口中抽取一个随机样本(假设这是 Skiena 的来源地),然后对它们运行分类器并计算分类器表示同意的人的百分比。

我的想法是正确的还是我错过了什么?

1个回答

P(B) - 观察模型的输出 - 在这种情况下不会改变。该模型对于输入是确定性的。Skiena 可以被多次评分,并且会得到相同的分数。

您在质疑 P(B)=0.5 是否实际上是 50% 的机会。这是个好问题。这称为校准。模型的输出是否经过良好校准。我处理过的许多(大多数)模型都没有得到很好的校准。它们只是排序。0.5 高于 0.4,因此 0.5 更接近事件(Y=1、风险更大、更相似等)。有一些算法可以构建更接近校准良好的模型,并且可以进行一些后处理以进行校准。您的解决方案是确定模型是否经过良好校准,如果没有,如何调整输出以进行良好校准。

这是一个很好的问题——分数实际上意味着什么?它只是等级顺序还是经过良好校准。

在此示例中,作者似乎暗示该模型经过良好校准。因此,P(B) 符号而不是“B 的输出”或一些类似的符号。奥卡姆剃刀。所以阅读这个问题,假设 P(B) = 50% 的机会。

不同的指标用于校准与排序。很多人喜欢 AUROC,它用于排序。AUROC 对校准没有任何见解。