可能公式太长,在手机上浏览这个网页很多公式都显示不出来,在浏览器上就很正常了!
* 首先在学习贝叶斯概率前我们先弄清楚三个概率,联合概率、条件概率、边缘概率,接着再学习贝叶斯概率就很容易明白啦;
* 然后通过几个案例的学习让大家熟悉贝叶斯公式;
* 最后通过垃圾短信的判断来进行代码实战;
* 文章的最后还会附上一个可以用贝叶斯解决的脑筋急转弯问题,感兴趣的一起试试看吧!
* 相信经过这么多的例子,你一定能更好的理解贝叶斯了,那么开始吧!
1.1联合概率
场景:假设一个学校高中和初中合并在一起,只用在数学、语文、英语三门课中选择一门作为主修课,对于所有学生而言:
· 所有学生中,事件A=选择数学,发生的概率P(A = 选择数学)
· 所有学生中,事件A=选择数学,发生的概率P(B = 选择语文)
·所有学生中,事件A=选择数学,发生的概率P(C = 选择英语)
· 所有学生中,事件B=学生属于高中阶段,发生的概率P(B=高中生)
·所有学生中,事件B=学生属于初中阶段,发生的概率P(B=初中生)
那么,事件A,B同时发生的联合概率P(A,B)
·属于高中生,并且选择了语文作为主修课程,发生的概率是P(A=选择语文,B=高中生)
·属于初中生,并且选择了数学作为主修课程,发生的概率是P(A=选择数学,B=初中生)
那么,高中主修数学的联合概率为:P(A=数学,B=高中) = ,
初中主修语文的联合概率为:P(A=语文,B=初中) = 。
1.2边缘概率 marginal probability
从联合概率按类别求和就是边缘概率,比如这个学校
·主修数学的边缘概率为:P(数学) = = = ,
·主修语文的边缘概率为:P(语文) = = =
边缘概率的和:P(语文)+ P(数学) + P(英语) = 1;P(高中生) + P(初中生) = 1
1.3条件概率
条件概率:满足条件B的所有事件中,事件A也发生的比例
· 分析的对象:满足条件B的所有事件
·P(A|B) = = :事件B,A同时发生的概率除以事件B发生的概率
条件概率:满足条件A的所有事件中,事件B也发生的比例
· 分析的对象:满足条件A的所有事件
·P(B|A) = = :事件A,B同时发生的概率除以事件A发生的概率
但是P(B|A) P(A|B) 。
举例1:在高中生中(条件),主修英语的人,有多少?
·P(主修英语|高中生) = = = ,
举例2:在初中生中(条件),主修语文的人,有多少?
·P(主修语文|初中生) = = ,
举例3:主修数学的人中(条件),有多少人是高中生?
·P(高中生|主修数学) = = = 。
1.4联合概率,条件概率,与边缘概率
·P(x=主修英语 | y=高中生) = ,P(A|B) =
·联合概率 = 条件概率 * 边缘概率,P(A,B) = P(A|B) * P(B),P(B,A) = P(B|A) * P(A)
练习1:另外一所学校,初中生中主修数学(条件概率)的比例为1/3,初中生(边缘概率)的比例为1/2,求初中生并且主修数学(联合概率)的人群占全校的比例? 分析:p(A=主修数学|B=初中生) = 1/3, p(B=初中生) = 1/2,所以P(A=主修数学B=初中生)为:1/3 * 1/2 = 1/6
练习2: 2017年,找到工作的应届毕业生中,进入IT公司(条件概率)为1/3,毕业生找到工作(边缘概率)的比例为7/9,求找到工作并进入IT行业的人群占所有毕业生的比例?分析:P(A=进入IT公司|B=找到工作)= 1/3,P(B=找到工作) =7/9,所以P(A=进入IT公司B=找到工作)的概率为: 1/3 * 7/9 = 7/27
2.贝叶斯公式
已知某学校,主修数学的人中,属于高中生的条件概率:P(B=高中生|A=主修数学),主修数学的边缘概率:P(A=主修数学),属于高中生的边缘概率:P(B=高中生),求高中生中,主修数学的同学的条件概率?分析:已知P(B|A)、P(A)、P(B),求 P(A|B)?,那么根据联合概率 = 条件概率 * 边缘概率即可求解啦!答: P(A|B) = =
那么这样我们就引出了贝叶斯公式啦:
P(A|B) =
离散情况下(求和),求P(B)的边缘概率,对贝叶斯公式进一步的分解:
首先求P(B),P(B)为主修语数英三门学科的高中学生那么就可知:
P(B) = P(B A= 语文) + P(B A= 数学) + P(B A= 英语)
= P(B|A=语文) * P(A=语文) + P(B|A=数学) * P(A=数学) + P(B|A=英语)* P(A=英语) ,
所以在离散情况下贝叶斯公式可以分解为:
P(A|B) = =
连续情况下(求积分),对贝叶斯公式进一步的分解:
P(A|B) =
练习:感冒的人中50%要打喷嚏,没有感冒的人中2%要打喷嚏。当下,感冒的人占比例为0.1,没感冒的是0.9,求条件概率P(感冒|打喷嚏)?分析: 感冒为事件A,打喷嚏为事件B,已知P(B|A=感冒) = 50%=0.5,P(B|A=没感冒)=0.02,P(A=感冒) = 0.1,P(A=没感冒) = 0.9,求P(A=感冒|B=打喷嚏)?
解:根据离散情况下贝叶斯公式的展开形式将各个已知量带入:
P(A|B) = = = 0.22
3.通过案例理解贝叶斯
1. 中乐透2亿美金的人中,60%疯了。中奖率为亿分之一。一个地区历史上有1%的人疯了。现在你的邻居疯了,请问他中乐透了吗?
分析:根据贝叶斯公式:
P(A=中乐透|B=疯了) = = ,假设P(B=疯了|A=没中乐透) * P(A=没中乐透) 为100x,P(B=疯了|A=中乐透) * P(A=中乐透) 为x,那么P(A=中乐透|B=疯了) = ,可判断出这个邻居疯了但是他没中乐透。
2.流感的人90%要关节疼,发烧等症状。历史统计流感病患为总人群的5%。非流感出现同样症状的概率为30%。你室友出现了关节疼,发烧的症状,请问你要搬家吗?
分析:事件A为流感,事件B为关节疼发烧,已知P(B|A=流感)=0.9,P(B|A=非流感)=0.3,P(A=流感) = 0.05,P(A=非流感) = 0.95,求P(A=流感|B)? 根据贝叶斯公式:
P(A=流感|B) = = = 0.14, 所以不用搬家 。
4.贝叶斯公式垃圾短信识别
给定关键词,判断是否是垃圾短信,现在进入代码实战啦!
导入包和数据,数据下载地址:贝叶斯垃圾短信数据资源,往CSDN上传资源一定要选择需要的积分,如果没有积分的话请留言。
根据贝叶斯公式:
· P(垃圾短信|具体关键词) = =
那么接下来一个个求吧:
· P(具体关键词|垃圾短信) =
` P(具体关键词|正常短信) =
` P(垃圾短信的概率) =
· P(正常短信的概率) =
好啦,所有需要的参数我们都知道了 ,现在把这些参数带入贝叶斯公式吧:
贝叶斯公式贝叶斯公式就写好啦,然后找几个关键词来验证一下有该关键词的短信是不是垃圾短信吧!
脑筋急转弯:概率三门的问题
电视游戏节目中,参赛这会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可以赢得该汽车,另外两扇门后面则各藏了一只羊。当参赛者选定一扇门,但未去打开它时,主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍关着的门。 问题是: 换另一扇们会否增加参赛者赢得汽车的机率?
分析:信息的关键是,主持人开启门这个事件并不是随机事件,这个概率是1。
确定事件A为参赛选手保持选择不变的情况下获得车,事件B为主持人打开一道门,后面是羊。那么根据贝叶斯公式想求P(A|B):P(A|B) = = = ,所以可以判定,如果参赛者换了另一扇门会增加获取汽车的概率到。
网友评论