贝叶斯公式
引言
曲奇饼问题:假设有两碗饼干,碗1中有30个香草饼干和10个巧克力饼干,碗2中含有香草和巧克力饼干各20个。随机的从一个碗中拿一块饼干,拿到的饼干是香草味的,问:这个香草饼干是从碗1中拿到的概率是多少?
事件A:饼干是在碗1中拿的;
事件B:拿到饼干是香草饼干;
显然事件A的先验概率P(A)=12P(A)=\frac{1}{2}P(A)=21,可以将已知拿到的饼干是香草饼干(即事件B)理解为证据,在知道这个证据后,对事件A发生的概率做一个重新评估,即事件A的后验概率P(A∣B)P(A|B)P(A∣B)。
贝叶斯公式的理解
如下为贝叶斯公式,其中P(A)P(A)P(A) 为事件A的先验概率,P(A∣B)P(A|B)P(A∣B) 为事件 A 的后验概率,且后验概率的计算融合了先验概率的值。
P(A∣B)=P(A)P(B∣A)P(B)P(A|B)=\frac{P(A)P(B|A)}{P(B)} P(A∣B)=P(B)P(A)P(B∣A)
这里事件B可以理解为证据,事件 A 可以理解为待推理的事件,后验概率 P(A∣B)P(A|B)P(A∣B) 是在给出事件 B 为证据的基础上,对P(A)P(A)P(A) 值的推理更新。
对贝叶斯公式的理解:后验概率P(A∣B)P(A|B)P(A∣B)就是先验概率P(A)P(A)P(A)乘以一个调整因子P(B∣A)P(B)\frac{P(B|A)}{P(B)}P(B)P(B∣A),亦即根据数据或信息的更新,对事件的可能性进行重新评估。
贝叶斯公式的推导
在推到贝叶斯公式之前,首先需要了解条件概率公式:
P(A∣B)=P(AB)P(B)P(A|B)=\frac{P(AB)}{P(B)} P(A∣B)=P(B)P(AB)
其中,P(AB)P(AB)P(AB) 为事件A和B同时发生的概率,且有:
P(AB)=P(A∣B)P(B)=P(B∣A)P(A)P(AB)=P(A|B)P(B)=P(B|A)P(A) P(AB)=P(A∣B)P(B)=P(B∣A)P(A)
注:若事件A和B独立(事件B发生与否对事件A没有影响),即P(A∣B)=P(A)P(A|B)=P(A)P(A∣B)=P(A),则P(AB)=P(A)P(B)P(AB)=P(A)P(B)P(AB)=P(A)P(B)。
对式(3)做简单的等式变换,即可得到贝叶斯公式:
P(A∣B)=P(A)P(B∣A)P(B)P(A|B)=\frac{P(A)P(B|A)}{P(B)} P(A∣B)=P(B)P(A)P(B∣A)
结合全概率公式的贝叶斯
在现实世界中,我们可以把事件A看作结果,把事件B1,B2,...,BNB_1,B_2,...,B_NB1,B2,...,BN看作导致这个结果的各种原因。那么,我们所介绍的全概率公式
P(A)=P(B1)P(A∣B1)+P(B2)P(A∣B2)+...+P(Bn)P(A∣Bn)P(A)=P(B_1)P(A|B_1)+P(B_2)P(A|B_2)+...+P(B_n)P(A|B_n) P(A)=P(B1)P(A∣B1)+P(B2)P(A∣B2)+...+P(Bn)P(A∣Bn)
就是由各种原因推理出结果事件发生的概率,是由因到果。
但是,实际上还存在着一类重要的应用场景:在我们日常生活中常常是观察到某种现象,然后去反推造成这种现象种种原因的概率。简单来说,就是由果到因。由贝叶斯公式
P(Bi∣A)=P(Bi)P(A∣Bi)P(A)=P(Bi)P(A∣Bi)P(B1)P(A∣B1)+P(B2)P(A∣B2)+...+P(Bn)P(A∣Bn)P(B_i|A)=P(B_i)\frac{P(A|B_i)}{P(A)}=\frac{P(B_i)P(A|B_i)}{P(B_1)P(A|B_1)+P(B_2)P(A|B_2)+...+P(B_n)P(A|B_n)} P(Bi∣A)=P(Bi)P(A)P(A∣Bi)=P(B1)P(A∣B1)+P(B2)P(A∣B2)+...+P(Bn)P(A∣Bn)P(Bi)P(A∣Bi)
最终求得的条件概率P(Bi∣A)P(B_i|A)P(Bi∣A),就是在观察到结果事件A已经发生的情况下,推断结果事件A是由原因BiB_iBi造成的概率的大小,以支撑我们后续的判断。
概率P(Bi)P(B_i)P(Bi)被称为先验概率,指的是在没有别的前提信息情况下的概率值,这个值一般需要借助我们的经验去估计。而条件概率P(Bi∣A)P(B_i|A)P(Bi∣A)被称作后验概率,它代表了在获得“结果事件A发生”这个信息之后原因BiB_iBi出现的概率,可以说后验概率是先验概率在获取了新信息之后的一种修正。
朴素贝叶斯
朴素贝叶斯方法是在贝叶斯算法的基础上进行了相应的简化,即假定给定目标值时属性之间相互条件独立。也就是说没有哪个属性变量对于决策结果来说占有着较大的比重,也没有哪个属性变量对于决策结果占有着较小的比重。虽然这个简化方式在一定程度上降低了贝叶斯分类算法的分类效果,但是在实际的应用场景中,极大地简化了贝叶斯方法的复杂性。
朴素贝叶斯分类(Naive Bayesian Classification)是以贝叶斯定理为基础并且假设特征条件之间相互独立的方法,先通过已给定的训练集,以特征词之间独立作为前提假设,学习从输入到输出的联合概率分布,再基于学习到的模型,输入X求出使得后验概率最大的输出Y。
设有样本数据集D={d1,d2,...,dn}D=\{d_1,d_2,...,d_n\}D={d1,d2,...,dn},对应样本数据的特征属性集为X={x1,x2,..,xd}X=\{x_1,x_2,..,x_d\}X={x1,x2,..,xd}类变量为Y={y1,y2,...,ym}Y=\{y_1,y_2,...,y_m\}Y={y1,y2,...,ym},即D可以分为m类。其中x1,x2,..,xdx_1,x_2,..,x_dx1,x2,..,xd相互独立且随机,则Y的先验概率Pprior=P(Y)P_{prior}=P(Y)Pprior=P(Y),Y的后验概率Ppost=P(Y∣X)P_{post}=P(Y|X)Ppost=P(Y∣X),由朴素贝叶斯算法可得,后验概率可以由先验概率PpriorP_{prior}Pprior、证据P(X)P(X)P(X)、类条件概率P(X∣Y)P(X|Y)P(X∣Y)计算出:
P(Y∣X)=P(Y)P(X∣Y)P(X)P(Y|X)=\frac{P(Y)P(X|Y)}{P(X)} P(Y∣X)=P(X)P(Y)P(X∣Y)
朴素贝叶斯基于各特征之间相互独立,在给定类别为y的情况下:
P(X∣Y=y)=∏i=1dP(xi∣Y=y)P(X|Y=y)=\prod_{i=1}^dP(x_i|Y=y) P(X∣Y=y)=i=1∏dP(xi∣Y=y)
**注:**若事件A1,A2,...,AnA_1,A_2,...,A_nA1,A2,...,An相互独立,则P(A1A2...AN)=P(A1)P(A2)⋅⋅⋅P(An)P(A_1A_2...A_N)=P(A_1)P(A_2)\cdot \cdot \cdot P(A_n)P(A1A2...AN)=P(A1)P(A2)⋅⋅⋅P(An)
由上两式可以计算出后验概率:
Ppost=P(Y=y∣X)=P(Y=y)∏i=1dP(xi∣Y=y)P(X)P_{post}=P(Y=y|X)=\frac{P(Y=y)\prod_{i=1}^dP(x_i|Y=y)}{P(X)} Ppost=P(Y=y∣X)=P(X)P(Y=y)∏i=1dP(xi∣Y=y)
由于P(X)P(X)P(X)的大小是固定不变的,因此在比较后验概率时,只比较上式的分子部分即可。因此可以得到一个样本数据属于类别yiy_iyi的朴素贝叶斯计算:
P(Y=yi∣x1,x2,...,xd)=P(Y=yi)∏i=1dP(xi∣Y=yi)∏i=1dP(xi)P(Y=y_i|x_1,x_2,...,x_d)=\frac{P(Y=y_i)\prod_{i=1}^dP(x_i|Y=y_i)}{\prod_{i=1}^dP(x_i)} P(Y=yi∣x1,x2,...,xd)=∏i=1dP(xi)P(Y=yi)∏i=1dP(xi∣Y=yi)