为什么朴素贝叶斯需要朴素,如果贝叶斯定理中不包括朴素会发生什么?

数据挖掘 机器学习 可能性 朴素贝叶斯分类器 贝叶斯 高斯
2022-02-21 10:25:55

我试图理解为什么朴素贝叶斯需要朴素,每个人都说朴素贝叶斯假设输入特征(预测变量)不相关,因此它们不相互依赖。

我想了解如果功能依赖会发生什么,即非天真(天真的相反部分)

如果我们有一个句子“你中了 100 万的彩票”,我们需要使用朴素贝叶斯将其分类为垃圾邮件而不是垃圾邮件。

p(y|x)=p(x|y).p(y)

在似然部分,我们将概率建模为 p(x|y)

here x="You won lottery for 1million" and y=spam or not spam

p('You won lottery for 1million'|y=spam)

p('You won lottery for 1million'|y=notspam)

在不考虑 X 中事件的独立性的情况下,编写此概率并找到其值的正确方法是什么?

应该写成

**to find probaiblity of spam given feature are depenent**
p('You |won, lottery, for, 1million,spam) * 
p('won| lottery, for, 1million,spam) *
p('lottery| for, 1million,spam)*
p(for| 1million,spam)*
p( 1million|spam)

**to find probaiblity of not spam given feature are depenent**
p('You |won, lottery, for, 1million,notspam) * 
p('won| lottery, for, 1million,notspam) *
p('lottery| for, 1million,notspam)*
p(for| 1million,notspam)*
p( 1million|notspam)

考虑到它的事件相互依赖,这是找到 X 概率的正确方法吗?垃圾邮件/非垃圾邮件是否也应该包含在依赖部分中?

找到上述 2 个概率的问题是什么,为什么天真的必须投入并使特征独立才能计算概率如此困难。

1个回答

我不认为你的表述是正确的。您所描述的只是句子中每个单词的条件分布,而不是给定特定类的联合条件分布。

在你的情况下,我们有贝叶斯规则:

Pr(spam|X)Pr(X|spam)×Pr(spam)=Pr(you,won,lottery,for,1million|spam)×Pr(spam).

现在,P^r(spam)=# of spam occurences in traintotal observations in train,不使用任何特征的 MLE。

在朴素贝叶斯中,我们假设:

Pr(you,won,lottery,for,1million|spam)×Pr(spam)=Pr(you|spam)Pr(won|spam)Pr(lottery|spam)Pr(for|spam)Pr(1million|spam)Pr(spam).
也就是说,我们假设给定一个类,每个特征都是条件独立的。如果我们不想做这个假设,我们只需离开Pr(you,won,lottery,for,1million|spam)就像上面的表达式一样,并假设某种多元/联合条件分布。

我们做出这个假设的原因是由于难以确定给定特定类别的特征的条件联合分布。联合分布是多元泊松吗?许多复杂的混合物?其他一些多元计数分布?什么是依赖结构,我们应该如何表示它?如果我们有一千个特征呢?我们现在如何以合理的方式表示依赖结构?依赖结构是否如此复杂以至于合理地表示它比仅仅假设独立更烦人和/或耗时?

这些问题并非微不足道,而且即使不是不可能,也很难回答。因此,我们做出独立性假设来简化问题。我们可能不知道联合条件分布,但也许我们可以推导出和/或可视化每个特征的边际条件分布。当然,这是以假设特征之间的独立性为代价的,这极不可能是真的(特别是对于词频),但偶尔对某些问题(有点)有效。