评估朴素贝叶斯的问题

机器算法验证 贝叶斯 分类 朴素贝叶斯
2022-04-03 09:24:27

我试图了解朴素贝叶斯及其在文本分类中的应用。我有一个疑问,或者这可能是我的误解。

假设我们有两个类别“新闻”和“体育”,我们需要在其中对任何给定文档进行分类。让字典只包含 3 个关键字,参数如下news,football,tennis

P(news/News)=0.99,P(news/Sports)=0.01,P(tennis/Sports)=0.9,P(tennis/News)=0.1,P(football/Sports)=0.9,P(football/News)=0.1,P(Sports)=0.5,P(News)=0.5,P((news,football,tennis))=k;

我们得到一个包含所有三个关键字的文档。所以当我们评估

P(News/(news,football,tennis))=0.990.10.10.5/k=0.00495/kP(Sports/(news,football,tennis))=0.010.90.90.5/k=0.00405/k

所以文档被归类为“新闻”类别,但直观地我们知道它应该属于“体育”类别。

2个回答

好吧:朴素贝叶斯被称为朴素的原因是:假设的条件独立性通常是值得怀疑的,尽管事实证明它在许多实际情况下都很好用。

除此之外:你已经“选择”了你的条件概率,结果就是这样。P(tennis|News) 和 P(tennis|Sports) 总和为 1 没有(先验的)原因,但在这种情况下,这会导致违反直觉的结果。

顾名思义,朴素贝叶斯分类器是贝叶斯定理的简单应用。基本上,它根据观察到的数据计算感兴趣的数量(通常是未观察到的,称为参数或潜在类别)的概率。在您的情况下,观察到的数据是:新闻、足球和网球。您要计算概率的感兴趣的数量是:新闻和体育。似乎您对计算感兴趣:P(News|news,football,tennis),P(News|news,football,tennis)

现在我们将使用贝叶斯定理得到:

P(News|news,football,tennis)=P(news,football,tennis|News)P(News)P(news,football,tennis)
分子中的第一项使用以下事实计算:你观察潜在类,即News,观察到的数据,即新闻、足球和网球的概率是独立的(这可能是一个有问题的假设,但答案取决于主题)。您可以使用该定律来计算独立事件的概率。
P(news,football,tennis|News)=P(news|News)P(football|News)P(tennis|News)

对 Sports 进行类似的处理,我们得到:

P(Sports|news,football,tennis)=P(news,football,tennis|Sports)P(Sports)P(news,football,tennis)
P(news,football,tennis|Sports)=P(news|Sports)P(football|Sports)P(tennis|Sports)

这两种情况的分母都可以通过使用总概率定律来计算。

P(news,football,tennis)=P(news,football,tennis|News)P(News)+P(news,football,tennis|Sports)P(Sports)

我们现在在每种情况下只剩下一个概率,即分别为如果我们知道这些,就可以计算到现在的每一个概率。这可以根据先验知识确定,或者在您的情况下,它可能已经提供给您。P(News)P(Sports)

插入所有概率会给你感兴趣的概率。

特定类别的高概率值意味着观察到的文档属于该类别(新闻或体育)。但是,您如何决定“多高”,再次取决于主题和许多其他问题。