- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
朴素贝叶斯分类及R语言实现
数学与科学学院 统计学专业 唐容201721100219
朴素贝叶斯的理论基础
贝叶斯定理便是基于条件概率,通过P(A|B)来求P(B|A):
顺便提一下,上式中的分母P(A),可以根据全概率公式分解为:
朴素贝叶斯的理论基础
分类过程如图所示:
Viagra
频率
Yes
No
总计
垃圾邮件
4
16
20
非垃圾邮件
1
79
80
总计
5
95
100
Viagra
似然
Yes
No
总计
垃圾邮件
4/20
16/20
20
非垃圾邮件
1/80
79/80
80
总计
5/100
95/100
100
似然表
P(Viagra|垃圾邮件)ⅹP(垃圾邮件)=(4/20)ⅹ(20/100)=0.04
朴素贝叶斯分类:
除了对单词Viagra之外,还可增加对Money、Groceries和Unsubscribe
的检测来改善垃圾邮件过滤器。
Viagra
Money
Groceries
Unsubscribe
似然
Yes
No
Yes
No
Yes
No
Yes
No
总计
垃圾邮件
4/20
16/20
10/20
10/20
0/20
20/20
12/20
8/20
20
非垃圾邮件
1/80
79/80
14/80
66/80
8/80
71/80
23/80
57/80
80
总计
5/95
95/100
34/100
76/100
8/100
91/100
35/100
65/100
100
设Viagra=Yes、Money=No、Groceries=No、Unsubscribe=Yes。
垃圾邮件的条件概率:
非垃圾邮件的条件概率:
利用似然表中数据可得垃圾邮件的总似然:
非垃圾邮件的总似然:
因为0.012/0.002=6,所以认为该消息是垃圾邮件的可能性是非垃圾邮件可能的6倍,即更有可能是垃圾邮件。
由于分母被忽视掉,所以还需在结果后除以分母:
垃圾邮件的概率=0.012/(0.012+0.002)=0.857
同样
非垃圾邮件的概率=0.002/(0.012+0.002)=0.143
2、拉普拉斯估计
将朴素贝叶斯应用于更复杂的问题前,有一些细微差别需要考虑。假设我们收到另一条 消息,这次该消息包含所有4个单词:Viagra、Money、Groceries和Unsubscribe。像之前一样使用贝叶斯算法,我们可以如下计算垃圾邮件的似然:
(4/20)ⅹ(10/20) ⅹ (0/20) ⅹ (12/20) ⅹ (20/100)=0
非垃圾邮件的似然为:
(1/80) ⅹ (14/80) ⅹ (8/80) ⅹ (23/80) ⅹ (80/100)=0.00005
该消息是非垃圾邮件的概率为:0.00005/(0+0.00005)=1
这些结果表明该消息是垃圾邮件的概率为0,是非垃圾邮件的概率为100%。
对于类的一个或多个水平,如果一个事件从来没有发生过,那么就有可能出现这样的问题。例如,单词Groceries之前从来没有出现在垃圾邮件消息中,因此,P(垃圾邮件|groceries)=0。
由于在朴素贝叶斯公式中,概率值是链式相乘的,所以概率为0的值将导致垃圾邮件的后验概率为0,及单词Groceries能有效抵消或否定其他的证据。
即该邮件很有可能被预测为垃圾邮件,但是由于垃圾邮件中没有出现单词Groceries就总是否决其他证据,并导致该邮件为垃圾邮件的概率为0。
这个问题的解决涉及使用一种叫做 拉普拉斯估计(Laplace estimator)的方法,该方法是以法国数学家皮埃尔—西蒙斯—拉普拉斯(Pierre-Simon Laplce)的名字命名的。本质上,拉普拉斯估计是频率表中的每个计数加上一个较小的数,这样就保证每类中的每一个特征发生的概率是非零。
通常情况下,拉普拉斯估计中加上的数值设定为1,这样就保证每类—特征组合至少在数据中出现一次。
下面观察拉普拉斯估计如何影响我们对消息的预测结果:
取拉普拉斯值为:1给每个似然函数的分子加上1;给每个条件概率分母加上分子中增加1的总数。
垃圾邮件的似然为:
(5/24)ⅹ(11/24) ⅹ (1/24) ⅹ (13/24) ⅹ (20/24)=0.0004
非垃圾邮件的似然为:
(2/84) ⅹ (15/84) ⅹ (9/84) ⅹ (24/84) ⅹ (80/100)=0.0001
这表明该消息是垃圾邮件的概率为80%,是非垃圾邮件的概率为20%,显然,这个结果比由单词Groceries单独决定的结果更合理。
接下来看一个例子——基于贝叶斯算法的手机垃圾短信过滤
朴素贝
原创力文档


文档评论(0)