贝叶斯定理及其在机器学习算法中的应用
贝叶斯定理是整个统计领域最为重要的定理,本文由浅入深的讲述贝叶斯定理的推导过程,最后讲述其在机器学习算法中是如何应用的。看完本文后,做几道练习题即可掌握贝叶斯。
一、条件概率
条件概率就是计算,当事件B发生时,那么事件A发生的概率,在数学中的表示为
其中P(A∩B)表示事件B和时间A同时发生的概率,那么这个结果除上事件B发生的概率P(B),就得到了当事件B发生时,事件A发生的概率,即P(A|B)
由以上公式,同理可得出
那么由条件概率公式可以推导得出
去掉中间的P(A∩B),并且把左边的P(B)挪到右边去,那么最终得到贝叶斯定理
就是这么简单,此时应该想起那个广告,tiger,so easy!!!!
来个练习题
我饿了的概率是10%,我饿了在吃饭的概率是50%,我吃饭的概率是40% ,那么计算我吃饭的时候饿了的概率。
解答过程:
已知: P(饿)=10% P(吃|饿)=50% P(吃)=40%
P(饿|吃)的概率是多少
P(饿|吃) = P(饿)P(吃|饿)/P(吃)
P(饿|吃) = 0.1 * 0.5 / 0.4 = 0.125 = 12.5%
巧记:
从上学的时候就不愿意记公式,那么我们应该怎样记住贝叶斯呢?
三个AB即可记住。即:AB AB AB中间加上符号就可以啦!
P(A|B)=P(A)P(B|A)/P(B)
非常的简单吧。
那么下面我们来推导一个复杂一点的。
二、全概率
全概率就是计算事件A一定会发生的概率,在数学中的表示为
一个事件的发生,可以在各种各样的情况下。比如上题中的吃饭,可以是我饿了,也可以是需要应酬,也可以是馋了就想吃,还可以是到饭点了,就要吃(小时候经常被妈妈这么管着,是吧),那么这些条件共同组成了我必须要吃饭这件事情的发生,也就是100%概率会发生的事,那么这就是全概率事件。
由以上可得出
P(吃饭)=P(吃饭)P(饿了)+P(吃饭)P(应酬)+P(吃饭)P(馋了)+P(吃饭)P(饭点了)......很多种情况
那么由第一部分的条件概率公式,是不是也可以换算成
P(吃饭)=P(吃饭|饿了)/P(饿了)+P(吃饭|应酬)/P(应酬)+P(吃饭|馋了)/P(馋了)+P(吃饭|饭点了)/P(饭点了)......很多种情况
那么其数学表示形式是:
首先:
P(A)=P(AB1)+P(AB2)+....+P(ABn)
然后:
P(A)=P(A|B1)P(B1)+P(A|B2)P(B2)+...+P(A|Bn)P(PBn)
那么下面我们将第一部分我们得到的公式P(A|B)=P(A)P(B|A)/P(B)其中的P(B)替换成全概率公式中得到的:
P(A)=P(A|B1)P(B1)+P(A|B2)P(B2)+...+P(A|Bn)P(PBn)
就变成了
到这里,我们就将贝叶斯定理完全的推导完成啦。
来个练习题
有一种疾病的发病率为千分之一,医院中有一种化验技术可以针对该疾病进行检测,只要发病一定能够检测到,但误诊率为百分之五(也就是说这百分之五的人即使是没有病,那么化验结果也为阳性)。现在假设一个人化验结果显示为有病,那么这个人真实患病的概率有多大?
解答过程:
然后就是套一下数字,就得到了结果
贝叶斯定理在机器学习算法中的应用
∨
场景:垃圾邮件筛选
描述:邮件中包含“购买商品,不是广告”这句话的邮件是垃圾邮件么?
样本集:36封邮件,已知正常邮件24封,垃圾邮件12封
过程:首先使用分词技术(汉语分词技术有很多,可以采用jieba库进行分词即可),将“购买商品,不是广告”拆分成"购买"、"商品"、"不是"、"广告",四个词。
那么已知:
1、正常邮件中,包含“购买”的邮件有2封,垃圾邮件中包含“购买”的邮件有5封
2、正常邮件中,包含“商品”的邮件有4封,垃圾邮件中包含“商品”的邮件有3封
3、正常邮件中,包含“不是”的邮件有4封,垃圾邮件中包含“不是”的邮件有3封
4、正常邮件中,包含“广告”的邮件有5封,垃圾邮件中包含“广告”的邮件有3封
那么如果我们不是分析邮件内容的话,那么一个邮件正常邮件的概率是2/3,垃圾邮件的概率是1/3
也就是说P(正常)=2/3和P(垃圾)=1/3
问:我们新来一个邮件,判断它是正常邮件还是垃圾邮件?
进一步说明:是正常还是垃圾,其实就是计算谁的概率大。
解:
最终得到,这封邮件到底是不是垃圾邮件呢?
领取专属 10元无门槛券
私享最新 技术干货