贝叶斯的概率推到,朴素贝叶斯分类器及Python实现

在了解贝叶算法前:要有一定的概率与数理统计基础以及注意事项

条件概率

首先,理解这两个公式的前提是理解条件概率,因此先复习条件概率。 P(A|B)=P(AB)P(B)P(A|B)=P(AB)P(B)P(A|B) ={ P(AB)\over P(B)}

那么由条件概率出发,看一下变形出来的乘法公式: P(AB)=P(A)⋅P(B|A)=P(B)⋅P(A|B)P(AB)=P(A)⋅P(B|A)=P(B)⋅P(A|B)P(AB) = P(A)\cdot P(B|A) = P(B)\cdot P(A|B)

理解上面公式比较好的方法是看韦恩图。像了解可以先百度。

事件的独立性和概率的乘法定理

有两个事件A和B,若P(A)=P(A|B),即B的发生与否对A发生的可能性毫无影响,则称A,B两事件独立。

若干个独立事件A1,A1,……An之积的概率,等于各事件概率的乘积

P(A1…An)=P(A1)…P(An)

它被称为概率的乘法定理,其重要条件是两事件相互独立。相加是互斥,相乘是独立。

全概率

景点案例: 一个村子与三个小偷,小偷偷村子的事件两两互斥,求村子被偷的概率。 解释:假设这三个小偷编号为A1,A2,A2A1,A2,A2A1,A2,A2; 偷东西的事件标记为BBB,不偷的话标记为:B¯¯¯¯B¯\overline B 那么被偷的概率就是:要么是A1A1A1,要么是A2A2A2,要么是A3A3A3, 如果是A1A1A1, 概率是什么呢?首先得是A1A1A1,其次是村子被偷,也即是两个事件都满足,所以是P(A1B)P(A1B)P(A1B) 同理,可以得到P(A2B),P(A3B)P(A2B),P(A3B)P(A2B),P(A3B) 又因这三个小偷两两互斥,表示不会同时去偷。所以被偷的概率是: P(B)=P(A1B)+P(A2B)+P(A3B)P(B)=P(A1B)+P(A2B)+P(A3B)P(B) = P(A1B) + P(A2B) +P(A3B) 当然按照条件概率或者乘法公式展开: P(B)=P(A1)P(B|A1)+P(A2)P(B|A2)+P(A3)P(B|A3)P(B)=P(A1)P(B|A1)+P(A2)P(B|A2)+P(A3)P(B|A3)P(B) = P(A1)P(B|A1) + P(A2)P(B|A2) +P(A3)P(B|A3)(*) P(Ai),P(B|Ai)P(Ai),P(B|Ai)P(A_i),P(B|A_i) 是已知的 问:是不是有想展开为: P(B)=P(B)P(A1|B)+P(B)P(A1|B)+P(B)P(A1|B)P(B)=P(B)P(A1|B)+P(B)P(A1|B)+P(B)P(A1|B)P(B) = P(B)P(A1|B) + P(B)P(A1|B) +P(B)P(A1|B) P(B)=P(B)P(A1|B)+P(B)P(A1|B)+P(B)P(A1|B)的冲动?

当然这个式子是没错的,但是体现不了这个问题的解法:分阶段。

(*)式子体现的是问题分为两个阶段: 1)选人,分割问题 2)计算分割的子问题的条件概率

对应的这里来便是: 1)选小偷,谁去偷 2)选定的小偷作为条件,那么他去偷的条件概率是什么

所以将问题拆解为阶段的问题便是全概率公式针对的问题。

贝叶斯公式

贝叶斯公式有意思极了,简单说就是逆全概公式。

前面是问总体看来被偷的概率是多少,现在是知道了总体被偷了这件事,概率并不知道,问你个更有意思的问题,像是侦探断案:是哪个小偷的偷的,计算每个小偷偷的概率。 这个特性用在机器学习,人工智能领域相当好用。 也就是求:P(Ai|B)=P(AiB)P(B)P(Ai|B)=P(AiB)P(B)P(A_i|B) = {P(A_iB) \over P(B)} Ai:小偷i干的;B:村子被偷了Ai:小偷i干的;B:村子被偷了A_i:小偷i干的; B:村子被偷了 首先是一个淳朴的条件概率的展开。 分母里出现了P(B)P(B)P(B),刚刚讨论的全概公式拿来用一用! 而P(AiB)=P(Ai)⋅P(B|Ai)P(AiB)=P(Ai)⋅P(B|Ai)P(A_iB) = P(A_i)\cdot P(B|A_i)

对应到上面的例子就鲜活一些:村子被偷了,求AiAiA_i偷的概率。 自然现在条件是P(B)P(B)P(B),分子变形为P(AiB)=P(Ai)⋅P(B|Ai)i)P(AiB)=P(Ai)⋅P(B|Ai)i)P(A_iB) = P(A_i)\cdot P(B|A_i)i),是因为假定就是AiAiA_i偷的,这是一个已知的概率。 分母P(B)=∑ni=1P(Ai)P(B|Ai)P(B)=∑i=1nP(Ai)P(B|Ai)P(B) = \sum_{i=1}^nP(A_i)P(B|A_i)

注意事项

1、朴素贝叶斯假设各个特征之间相互独立,所以称为朴素。

2、特征值之间是离散的,就直接计算概率值;若是连续值,则认为服从高斯分布,用均值和方差计算概率密度函数。

3、这里假定特征值的个数已知,实际情况下,并不一定知道。

4、数据文件见参考文献2的链接。

5、当特征属性的概率值为o时,可能造成分类误差,解决办法是加入Laplace校准,也成加一平滑,使分子不为0.

6、如果概率相乘,小数太多容易溢出,则可以修改为log,把乘法改成加法,避免误差。

7、经典分析案例:印第安人糖尿病概率,社交账号真实分类,文本分类,新闻分类等等。

朴素贝叶斯

朴素贝叶斯(Naive Bayesian)是最为广泛使用的分类方法,它以概率论为基础,是基于贝叶斯定理和特征条件独立假设的分类方法。 朴素贝叶斯,朴素在什么地方?Q2:朴素贝叶斯,朴素在什么地方? 之所以叫朴素贝叶斯,因为它简单、易于操作,基于特征独立性假设,假设各个特征不会相互影响,这样就大大减小了计算概率的难度。 朴素贝叶斯(Naive Bayesian)是基于贝叶斯定理和特征条件独立假设的分类方法,它通过特征计算分类的概率,选取概率大的情况进行分类,因此它是基于概率论的一种机器学习分类方法。因为分类的目标是确定的,所以也是属于监督学习。

案例分析:直通车

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

资源 | 吴恩达deeplearning.ai五项课程完整笔记了解一下?

机器之心整理 机器之心编译 参与:思源、路雪 自吴恩达发布 deeplearning.ai 课程以来,很多学习者陆续完成了所有专项课程并精心制作了课程笔记,在此...

50270
来自专栏北京马哥教育

Python环境下的8种简单线性回归算法

GitHub 地址:https://github.com/tirthajyoti/PythonMachineLearning/blob/master/Linea...

16700
来自专栏机器之心

学界 | 稳定、表征丰富的球面变分自编码器

近期的研究为 NLP 的一系列任务建立了深度生成模型的有效性,包括文本生成(Hu et al., 2017; Yu et al., 2017)、机器翻译(Zha...

14450
来自专栏大数据文摘

特征工程:数据科学家的秘密武器!

25970
来自专栏机器学习算法与Python学习

距离和相似性度量在机器学习中的使用统计

作者:daniel-D 来源:http://www.cnblogs.com/daniel-D/p/3244718.html 在机器学习和数据挖掘中,...

43730
来自专栏机器之心

教程 | 如何通过牛顿法解决Logistic回归问题

选自TLP 机器之心编译 参与:Nurhachu Null、黄小天 本文介绍了牛顿法(Newton's Method),以及如何用它来解决 logistic 回...

45350
来自专栏CDA数据分析师

教你如何使用深度学习识别交通标志,准确度高达93%

原作者 Priya Dwivedi 编译 CDA 编译团队 本文为 CDA 数据分析师原创作品,转载需授权 自动驾驶已经迎来发展的热潮。自动驾驶车在行驶时,需...

79550
来自专栏段石石的专栏

基于深度学习和经典方法的文本分类

文本分类应该是自然语言处理中最普遍的一个应用,例如文章自动分类、邮件自动分类、垃圾邮件识别、用户情感分类等等,在生活中有很多例子,这篇文章主要从传统和深度学习两...

6.8K20
来自专栏人工智能头条

李理:自动梯度求解 反向传播算法的另外一种视角

19740
来自专栏AI研习社

「Deep Learning」读书系列分享第二章:线性代数 | 分享总结

「Deep Learning」这本书是机器学习领域的重磅书籍,三位作者分别是机器学习界名人、GAN 的提出者、谷歌大脑研究科学家 Ian Goodfellow,...

47450

扫码关注云+社区

领取腾讯云代金券