前言
在上篇文章机器学习-算法实现-朴素贝叶斯(一) 了解了朴素贝叶斯来龙去脉。即:
贝叶斯公式+特征独立
贝叶斯公式的本质是条件概率,特征独立假设的目的是为了可实现。
本篇主要再从全概率的角度和实际试题的角度来理解贝叶斯公式。
全概率
个人理解描述如下:
在某已知的样本,可以完成对数据集分类,也可以通过某个“特征”划分出若干子集,数据集每个类别在每个子集中出现的概率也可能是不同的。在对样本集进行抽样时,抽取到元素属于某个类别的概率就用全概率来描述。
引用参考文章中的案例,如下:
某车间用甲、乙、丙三台机床进行生产,各台机床次品率分别为5%,4%,2%,它们各自的产品分别占总量的25%,35%,40%,将它们的产品混在一起,求:
1>任取一个产品是次品的概率。
2>抽出一个次品,是由甲机床生产的概率。
案例解析:
车间完成生产后,产品按照质量是否达标分为达标、次品——两类;
按照产出产品的机床——特征——划分出三个数据集A,B,C,分别占样本的25%,35%,40%;
每个数据集中次品的占比分别是:5%,4%,2%。
问题1:
在样本中任取一个是次品的概率——对样本抽样是某个类别的概率。
P = 5%*25%+4%*35%+2%*40%=0.0345
公式描述:
A,B,C 占样本的比例,分别乘以A,B,C 中目标类别的占比,求和,即为在全量样本中抽取目标类别的样本概率。
问题2:
抽出一个次品,是由甲机床生产的概率。
这就需要借助贝叶斯公式来解决了。
如果只看问题1,就是简单的古典概型。但是比较两个问题,就会得到问题2是,知道结果,反推事物发生的原因。
引用参考文章中的描述:
“
(4)贝叶斯公式
1.与全概率公式解决的问题相反,贝叶斯公式是建立在条件概率的基础上寻找事件发生的原因(即大事件A已经发生的条件下,分割中的小事件Bi的概率),设B1,B2,...是样本空间Ω的一个划分,则对任一事件A(P(A)>0),有
上式即为贝叶斯公式(Bayes formula),Bi 常被视为导致试验结果A发生的”原因“,P(Bi)(i=1,2,...)表示各种原因发生的可能性大小,故称先验概率;P(Bi|A)(i=1,2...)则反映当试验产生了结果A之后,再对各种原因概率的新认识,故称后验概率。
”
公式实例化:
上述公式中的B即为案例中的每个机床产出的次品(原因),A是对产品的类别为次品(结果)。
分子:
P(B)就是在样本中,次品的占比未知暂记为X,P(A|B) = 5% 甲床产品中次品的占比是5%。(给定甲床条件下次品条件概率)
分母:
即全概率,问题一的结果。
所以问题二的答案:X*5%/0.0345
参考文章中的实例2,也是非常好的案例,下面再给出两个实例。下面两个实例是给贴合实际的问题。
实例1:
有一罕见病,你的在医院的检验结果为阳性(患病)。人群中的发病率为万分之一,医院检验的正确率为99%,请通过概率值来说明是否需要为结果而担心?
这是一个非常贴切实际的案例,解决的方案是通过贝叶斯公式。下面通过案例分析来找到我们的A,B事件。我们规定A为对事件的种类。B事件为“因素”——“特征”。(此处用特征来理解,似乎并没有那么的贴切,但是我个人认为这是对特征认知的一个扩充。留下一个问题——特征与因素的区别,能否画等号?特征是侧重于区分,因素则更为侧重因果关系)。
问题抽象化过程:
概率值是来描述,“是否需要为这个检验的结果而担心?”问题进一步明确为:当检验结果为阳性时,是否需要担心,担心什么?担心是否患病。====>公式化:
P(患病|检验结果为阳性)。条件概率下的描述: 给定检验结果,患病的概率?(再结合这个案例深入理解下条件概率)
人群中的发病率——P(患病)=1/10000
检验结果的正确率为——99% 。包含双层意义:P(检验阳性|患病)==P(检验阴性|不患病)==99%(关键)
关系形式化一个二叉树:
二叉树的含义解释:
第一层子结点是分类占样本的比例,第二层恰好是给定分类时,每个特征的占比(条件概率)
P(患病|检验阳性)=0.99*0.0001/(0.99*0.0001+0.9999*0.01=0.0098
分子:P(检验阳性|患病)*P(患病) 分母:为该事件的全概率。
实例2:MontyHall 问题:
在真人秀节目中分别有三个门1,2,3,门后可能有大奖。游戏规则是:
1、主持人提前知道大奖所在的门的编号,且不能打开该门,不能与用户选择相同的门。
2、上台的嘉宾,可以随意选择一个门打开,待主持人打开一个门后,考虑是坚持之前的选择还是换成另一个门?
游戏流程:
假设1,2,3号门随机一个门后有大奖,嘉宾上台选择了1号门,然后主持人选择了3号(3号门后一定没有大奖),此时嘉宾考虑,是坚持选1号门,还是选2号门。
问题是:嘉宾应该坚持选1号门还是改选2号门?
实例解析:
使用贝叶斯公式解决本题,我们还是应当确定A B 事件。当A B事件确定时,我们也就确定了条件概率的表示形式。
很显然的条件是:3号门被主持打开且没有大奖是本题的条件。从而得到条件概率如下:
P(1号门有大奖|3号门被打开且无奖) ; P(2号门后有大奖|3号门被打开且无奖);P(3号门有奖|3号门被打开且无奖)
这三个条件概率中最后一个显然是0.关于前两者怎样来计算呢?
求解:
先验概率:
P(1)==P(2)==P(3)==1/3 (三个门中含有大奖的概率是等可能的为1/3)
嘉宾选择了1号门后,此时主持人在不能打开有奖的门条件下,用如下条件概率描述主持人打开2,3号门的概率:
P(主持人打开2号门|2号门后有奖) = 0 P(主持人打开3号门|2号门后有奖) = 1
P(主持人打开2号门|3号门后有奖) = 1 P(主持人打开3号门|3号门后有奖) = 0
P(主持人打开2号门|1号门后有奖) = 1/2 P(主持人打开3号门|1号门后有奖) = 1/2
主持人打开3号门后,用如下概率来描述嘉宾得到大奖的概率:
P(嘉宾坚持1号门有奖|主持人打开3号门) = P(主持人打开3号门|1号门后有奖)*P(大奖在1号门后)/P(主持人打开3号门)=1/3
P(嘉宾打开2号门有奖|主持人打开3号门) = P(主持人打开3号门|2号门后有奖)*P(大奖在2号门后)/P(主持人打开3号门)=2/3
所以,嘉宾改选2号门获奖概率较大为2/3.
实例总结:
在实例1中,我使用一棵树,尝试描述问题,并使问题得到了很好的解答,但是在实例2中,问题并没类似的情况,这个也尝试去做,但是没有得到很好的解释。也就是说,实例1中的解法,在现在看来不是通用的解法,所以,反思对这类问题真正的套路是什么?
发现实例2中,事件的发生有明显的先后顺序,如下:
先放好大奖随机,概率为1/3,嘉宾选择打开门,主持人选择打开门,嘉宾再选择打开门。
其实条件概率中除了枚举P(主持打开i门|大奖在i门后),还有P(嘉宾打开i号门|大奖在i门后)、P(主持人打开i号门|嘉宾选择1号门),这两个条件概率,我们都可以计算,但是没有什么作用,这是因为,我们要关心的条件概率是:P(主持人打开i门|大奖在i门后),其中P(主持打开i门)的事件的全概率是我们枚举的。所以,此处也不需要去计算其他的两个条件概率。
解题思路:
写出事件发生的概率,明确直接所求事件的条件概率。条件概率是两个连续的事件,前者为后发生的事件,后者为先发生事件。(PS:是否可以将这个思路套用解决实例1呢?)
总结:
第一篇文章仅仅是从数学公式的角度来看贝叶斯公式,那么这篇文章就是从实际的案例来看贝叶斯公式,及其各项的含义。在不相互的独立的两个事件,给定一个事件A,B发生的概率与给定事件B,A发生的概率的公式关系,及因果性,因素的重要性。(个人能力有限:两个实例总结欠佳,还是感到有些地方认识不透彻,希望有看官指正。)
参考文章:全概率、贝叶斯公式