1. 贝叶斯定理

1763年12月23日,Thomas Bayes的遗产受赠者R. Price牧师 在英国皇家学会宣读了贝叶斯的遗作《An essay towards solving a problem in the doctrine of chances》(《论机会学说中一个问题的求解》),其中给出了贝叶斯定理。


在这篇文章之前,人们已经能够计算“正向概率”,如12个白球和3个黑球在1个箱子中,随机取1个球,计算该球为白球的概率。
反过来, 如果事先并不知道袋子里面黑白球的比例,随机取到5个球(4个白球,1个黑球),估计该总体中黑球与白球的比例。这个问题,就是所谓的逆向概率问题,可以看做在总体未知的情况,已知样本数据,对总体进行估计。


1.1 贝叶斯公式

根据条件概率:

可推导出贝叶斯公式:


其中,







  • P


    (


    A


    )



    P(A)


    P(A)
    :事件




    A



    A


    A
    的先验概率(prior probability)





  • P


    (


    A





    B


    )



    P(A|B)


    P(AB)
    :事件




    B



    B


    B
    条件下的,事件




    A



    A


    A
    的后验概率(posterior probability)





  • P


    (


    B


    )



    P(B)


    P(B)
    :事件




    B



    B


    B
    的先验概率(prior probability)





  • P


    (


    B





    A


    )



    P(B|A)


    P(BA)
    :事件




    A



    A


    A
    条件下的,事件




    B



    B


    B
    的后验概率(posterior probability)

条件概率可理解为:后验概率=先验概率




×



\times


×
调整因子(标准似然度)







P


(


B





A


)


=


P


(


B


)



P(B\mid A)=P(B)


P(BA)=P(B)





P


(


A





B


)


=


P


(


A


)



P(A\mid B)=P(A)


P(AB)=P(A)
,则




P


(


A


B


)


=


P


(


A


)


P


(


B


)



P(AB)=P(A)P(B)


P(AB)=P(A)P(B)
,此时事件




A


,


B



A,B


A,B
为相互独立事件,即任一事件的发生不影响另一事件的发生。


e.g1.
肺癌发病率




P


(


A


)


=


0.001



P(A)=0.001


P(A)=0.001
; 吸烟人群占比




P


(


B


)


=


0.4



P(B)=0.4


P(B)=0.4
;根据观测,肺癌病人中有




80


%



80 \%


80%
吸烟




P


(


B





A


)


=


0.8



P(B \mid A) = 0.8


P(BA)=0.8


若某患者吸烟,则该患者肺癌的概率为:




P


(


A





B


)


=




P


(


A


)


P


(


B





A


)




P


(


B


)




=




0.001


×


0.8



0.4



=


0.002



P(A\mid B) = \frac {P(A)P(B \mid A)}{P(B)} = \frac{0.001 \times 0.8}{0.4}=0.002


P(AB)=P(B)P(A)P(BA)=0.40.001×0.8=0.002


在该例子中,贝叶斯公式将先验概率




P


(


A


)



P(A)


P(A)
转化为了后验概率




P


(


A





B


)



P(A \mid B)


P(AB)
,这个过程中主要利用了观察数据




P


(


B





A


)



P(B \mid A)


P(BA)


肺癌发病率只有




P


(


A


)


=


0.001



P(A)=0.001


P(A)=0.001
,但是根据观察数据发现,肺癌病人的吸烟者比率




P


(


B





A


)


=


0.8



P(B \mid A) = 0.8


P(BA)=0.8
高于整体人群的吸烟者占比




P


(


B


)


=


0.4



P(B)=0.4


P(B)=0.4
,因此增强了吸烟者中肺癌发病率的信念


1.2 全概率公式








B


1



.


.


.



B


n




B_1 … B_n


B1Bn
是随机试验




S



S


S
的一组事件,满足以下两个条件:








  • B


    i







    B


    j



    =





    ,


    i





    j



    B_i \bigcup B_j = \emptyset, i \not= j


    BiBj=,i=j
    (两两互不相容)






  • B


    1







    B


    2



    ,


    .


    .


    .


    ,






    B


    n



    =


    S



    B_1 \bigcap B_2,…, \bigcap B_n = S


    B1B2,,Bn=S
    (并集为整个样本空间)







B


1



.


.


.



B


n




B_1 … B_n


B1Bn
是样本空间




S



S


S
的一个划分。


通过样本划分可以将复杂事件划分为若干不相容的简单事件





B


i




B_i


Bi
,利用全概率公式可求得结果事件概率




P


(


A


)



P(A)


P(A)






P


(


A


)


=







i


=


1



n



P


(


A



B


i



)


=







i


=


1



n



P


(



B


i



)


P


(


A






B


i



)



P(A) = \sum_{i=1}^{n}P(AB_i) = \sum_{i=1}^{n}P(B_i)P(A \mid B_i)


P(A)=i=1nP(ABi)=i=1nP(Bi)P(ABi)


其中,




P


(



B


i



)



P(B_i)


P(Bi)
为已知的每个原因事件





B


i




B_i


Bi
的概率,




P


(


A






B


i



)



P(A \mid B_i)


P(ABi)
表示每个原因事件对结果事件的影响程度。


1.3 贝叶斯公式推广







P


(



B


i






A


)


=




P


(


A



B


i



)




P


(


A


)




=




P


(



B


i



)


P


(


A






B


i



)









i


=


1



n



P


(



B


i



)


P


(


A






B


i



)





P(B_i \mid A) = \frac {P(AB_i)}{P(A)} = \frac {P(B_i)P(A \mid B_i)}{\sum_{i=1}^{n}P(B_i)P(A \mid B_i)}


P(BiA)=P(A)P(ABi)=i=1nP(Bi)P(ABi)P(Bi)P(ABi)






P


(



B


i






A


)



P(B_i \mid A)


P(BiA)
用来反映引起结果事件




A



A


A
发生的各种原因事件





B


i




B_i


Bi
的可能性。


e.g.1 A容器中有7个红球和3个白球,B容器中1个红球和4个白球


  • 事件




    A



    A


    A
    :从A容器里拿一个球
  • 事件




    B



    B


    B
    :从B容器里拿一个球
  • 事件




    R



    R


    R
    :拿出一个球为红球
  • 事件




    W



    W


    W
    :拿出一个球为白球

从A容器里拿球的概率




P


(


A


)


=



1


2




P(A)=\frac{1}{2}


P(A)=21
,从B容器里拿球的概率




P


(


B


)


=



1


2




P(B)=\frac{1}{2}


P(B)=21


(1)随机从其中一个容器里取出一个球,该球为红球的概率




P


(


R


)


=


P


(


A


)


P


(


R





A


)


+


P


(


B


)


P


(


R





B


)


=



1


2



×



7


10



+



1


2



×



1


5



=



9


20




P(R)=P(A)P(R|A) + P(B)P(R|B)=\frac{1}{2} \times \frac{7}{10} + \frac{1}{2} \times \frac{1}{5} = \frac{9}{20}


P(R)=P(A)P(RA)+P(B)P(RB)=21×107+21×51=209


(2)随机取出一个球为红球,该红球来自A容器的概率

同理可得,

2. 频率学派 v.s. 贝叶斯学派

2.1 频率学派


  • 从客观事件本身出发,认为事件本身具有某种客观随机性,数据样本都是在这个空间里的“某个”参数值下产生的
  • 把参数




    θ



    \theta


    θ
    视作固定且未知的常数,而样本数据




    D



    D


    D
    是随机的,着眼点在样本空间
  • 通过引入了极大似然(maximum likelihood)以及置信区间(confidence interval),根据数据样本计算参数值

2.2 贝叶斯学派

  • 从“观察者”角度出发,认为概率是主观对某个事物发生的相信程度,由于“观察者”知识不完备,需要从对客观世界的观察中得到规律更新对事件的假定
  • 把参数




    θ



    \theta


    θ
    视作随机变量(本身也有分布),而样本数据




    D



    D


    D
    是固定的(即实际观测到的数据集),着眼点在参数空间
  • 通常假定参数服从一个先验分布(prior distribution),然后基于观测的数据样本(证据)来计算参数的后验分布(posterior distribution)

频率学派坚持数据说话。贝叶斯学派认为数据会有偏差,先验概率可对这些噪音做到健壮。事实证明贝叶斯学派方法更为科学,胜利的关键在于先验概率实质上也是经验统计的结果(先验信息一般源于历史的经验与资料),所谓先“验”中先于的经验就是指先于样本数据。


贝叶斯方法更符合人类认识自然的规律与日常的思考方式,即我对客观世界总有一个主观的先验判断,但是这个判断会随着对真实世界的观察而修正,从而对世界永远保持开放的态度。
.


3. 极大似然估计 v.s. 贝叶斯估计


极大似然估计与贝叶斯估计是统计中两种对模型的参数确定的方法,最大的不同就在于是否考虑了先验,贝叶斯估计需要设定先验




p


(


θ


)



p(\theta)


p(θ)


3.1 极大似然估计


极大似然估计(MLE,Maximum Likelihood Estimation)源自频率学派,提供了一种根据样本数据来估计总体分布参数的方法,即给定样本数据




D



D


D
,寻找参数




θ



\theta


θ
,使得条件概率




p


(


θ





D


)



p(\theta \mid D)


p(θD)
最大,优化目标如下:




arg







max






θ



p


(


θ





D


)



\arg\max_{\theta}p(\theta \mid D)


argθmaxp(θD)


根据贝叶斯公式,




p


(


θ





D


)


=




p


(


D





θ


)


p


(


θ


)




p


(


D


)





p(\theta \mid D)=\frac{p(D \mid \theta)p(\theta)}{p(D)}


p(θD)=p(D)p(Dθ)p(θ)


在极大似然估计中假设




θ



\theta


θ
是确定的(均匀分布的),所以




p


(


θ


)



p(\theta)


p(θ)
为常数;





p


(


D


)



p(D)


p(D)
同样是根据已有的数据得到的,为确定值(可看做概率归一化因子);





p


(


D





θ


)



p(D \mid \theta)


p(Dθ)
称为似然函数,表示不同的参数向量




θ



\theta


θ
下,观察数据集




D



D


D
出现的可能性大小


优化目标等价于最大化似然函数




arg







max






θ



p


(


D





θ


)



\arg\max_{\theta}p(D \mid \theta)


argθmaxp(Dθ)


即在给定样本数据的情况下,寻找参数





θ


^




\hat \theta


θ^
满足





θ


^



=


arg







max






θ



p


(


D





θ


)



\hat \theta = \arg\max_{\theta}p(D \mid \theta)


θ^=argθmaxp(Dθ)


使得该参数分布下产生样本数据的概率最大(极大似然估计认为观测到的样本就是发生概率最大的那次实现,参数完全取决于实验结果)。


从事件的角度考虑,某事件




D



D


D
发生时,寻找最可能导致这件事情发生的原因




θ


=



θ


^




\theta = \hat \theta


θ=θ^





θ



\theta


θ
有多种取值对应多种原因),使得基于原因





θ


^




\hat \theta


θ^
,事件




D



D


D
发生的可能性最大。


对于样本数据




D


=


{


(



x


1







y


1






.


.


.


.


.


.


(



x


n



,



y


n



)


}



D={(x_1,y_1)……(x_n,y_n)}


D={(x1y1……(xn,yn)}
,一般假设数据是相互独立的,因此有







p


(


D





θ


)


=







i


=


1



n



p


(



x


i






θ


)



p(D \mid \theta)=\prod_{i=1}^{n}p(x_i \mid \theta)


p(Dθ)=i=1np(xiθ)
为了便于计算,通常引入对数来处理(对对数似然函数求导,并令其导数为0,通过求解似然方程得到参数)。


3.2 贝叶斯估计


贝叶斯估计假定参数服从一个先验分布




p


(


θ


)



p(\theta)


p(θ)
,该先验分布更多的时候完全是一种假设(可凭主观判断或客观分析得出)。
然后结合样本数据,校正先验分布,得到后验分布$p(\theta \mid D)




的概率分布模型(并不求出参数



的概率分布模型(并不求出参数


的概率分布模型(并不求出参数
\theta$的具体值,通常取后验分布的期望作为参数的估计值):







先验分布


p


(


θ


)


+


样本数据


D





后验分布


p


(


θ





D


)



先验分布p(\theta) + 样本数据D \Rightarrow 后验分布p(\theta|D)


先验分布p(θ)+样本数据D后验分布p(θD)


由于先验概率




p


(


θ


)



p(\theta)


p(θ)
不再是一个常量,而是某种概率分布的函数,就会导致较高的计算复杂度。


为避免计算所有的后验概率




p


(


θ





D


)



p(\theta \mid D)


p(θD)
,通过最大后验概率(Maximum A Posterior)来对参数估计,类似于极大似然估计的思想。


最大后验估计


最大后验概率估计(MAP, maximum a posterior)在已知数据




D



D


D
的情况下,寻找参数




θ



\theta


θ
,最大化后验概率




p


(


θ





D


)



p(\theta \mid D)


p(θD)
,即







arg







max






θ



p


(


θ





D


)



\arg\max_{\theta}p(\theta \mid D)


argθmaxp(θD)

根据贝叶斯公式,




p


(


θ





D


)


=




p


(


D





θ


)


p


(


θ


)




p


(


D


)





p(\theta \mid D)=\frac{p(D \mid \theta)p(\theta)}{p(D)}


p(θD)=p(D)p(Dθ)p(θ)


由于




P


(


D


)



P(D)


P(D)
根据已有数据得到,为确定值,因此相当于




arg







max






θ



p


(


D





θ


)


p


(


θ


)



\arg\max_{\theta} p(D \mid \theta)p(\theta)


argθmaxp(Dθ)p(θ)


即求得的




θ



\theta


θ
不单单让似然函数大,




θ



\theta


θ
自己出现的先验概率也得大。


MAP类似正则化里的加惩罚项(正则化利用加法,而MAP利用乘法),即不仅仅依赖于实验数据,通过引入先验信息减少实验数据过拟合风险(MLE在试验数据过少的情况会导致过拟合)。


假设




P


(


θ


)



P(\theta)


P(θ)
是一个高斯分布,则




P


(


θ


)


=


C



e








θ


2




2



σ


2








P(\theta)=C e^{-\frac{\theta^2}{2\sigma^2}}


P(θ)=Ce2σ2θ2


由于

即,在MAP中使用一个高斯分布的先验等价于采用L2的regularizaton。


3.3 举例

e.g. 假设一个袋子里面装着白球和黑球,通过连续有放回的从袋子里面取10次,白球7次,黑球3次,估计下次取出一个球是白球的概率是多少。


设取到白球的概率为




θ
  

(


0





θ





1


)



\theta \;(0 \leq \theta \leq 1)


θ(0θ1)
,服从二项分布。


(1)极大似然估计


计算10次抽取的总概率




p


(


D





θ


)


=



θ


7



(


1





θ



)


3




p(D \mid \theta)=\theta^7(1-\theta)^3


p(Dθ)=θ7(1θ)3


需要选择使样本结果出现的可能性最大的




θ



\theta


θ
值,将




p


(


D





θ


)



p(D \mid \theta)


p(Dθ)
看做




θ



\theta


θ
的方程




f


(


θ


)



f(\theta)


f(θ)
,对其取对数







ln





f


(


θ


)


=


7


ln





θ


+


3


ln





(


1





θ


)



\ln f(\theta) = 7\ln \theta + 3\ln (1-\theta)


lnf(θ)=7lnθ+3ln(1θ)
求导,






d


ln





f


(


θ


)




d


θ




=



7


θ







3



1





θ




=




7





10


θ




θ


(


1





θ


)





\frac{d\ln f(\theta)}{d\theta} = \frac{7}{\theta} - \frac{3}{1-\theta} = \frac{7-10\theta}{\theta(1-\theta)}


dθdlnf(θ)=θ71θ3=θ(1θ)710θ
令导数等于零,




θ


=


0.7



\theta=0.7


θ=0.7


(2)贝叶斯估计


假设




θ



\theta


θ
服从Beta分布,即




θ





B


e


t


a


(


α


,


β


)



\theta \sim Beta(\alpha, \beta)


θBeta(α,β)
,则



由于




p


(


θ


)



p(\theta)


p(θ)
使用的先验模型贝塔分布,与




p


(


θ





D


)



p(\theta \mid D)


p(θD)
使用的伯努利分布是共轭关系,使得伯努利分布乘以Beta分布,得到的结果是一个新的Beta分布。


共轭先验

在贝叶斯估计中,如果选取先验分布




p


(


θ


)



p(\theta)


p(θ)
,使其与后验分布




p


(


θ





D


)



p(\theta \mid D)


p(θD)
属于同一分布簇(即共轭分布),则称




p


(


θ


)



p(\theta)


p(θ)
为似然函数




p


(


D





θ


)



p(D \mid \theta)


p(Dθ)
的共轭先验。
常见的共轭先验有:Beta分布(二项分布)、Dirichlet分布(多项分布)。


共轭先验有如下好处:


  • 符合直观,先验分布和后验分布应该是相同形式的;
  • 可以给出后验分布的解析形式;
  • 可以形成一个先验链,即现在的后验分布可以作为下一次计算的先验分布,如果形式相同,就可以形成一个链条。

最大后验概率估计


假设先验认为白球与黑球的数量是一样的,即




θ


=


0.5



\theta =0.5


θ=0.5
的概率很大,使用均值0.5,方差0.1的正态分布描述该先验知识(也可使用其他先验模型,如Beta分布等)。


使用最大后验概率估计,需要最大化




p


(


D





θ


)


p


(


θ


)



p(D \mid \theta)p(\theta)


p(Dθ)p(θ)


函数在




θ


=


0.558



\theta = 0.558


θ=0.558
时取得最大值时,不再是




0.7



0.7


0.7
,即用最大后验概率估计




θ


=


0.558



\theta = 0.558


θ=0.558
。可见样本不够多的情况下,先验模型的选择对结果产生较大影响。


如果抽取球100次,白球70次,黑球30次,函数在




θ



\theta


θ
接近




0.7



0.7


0.7
时取得最大值。继续抽取,可进一步修正




θ



\theta


θ
值。
当样本非常少时,先验会严重影响估计;随着数据量的增加,参数




θ



\theta


θ
的值会越来越向数据靠拢,先验的影响力会越来越小。


4. 朴素贝叶斯分类器


对于训练数据集




D



D


D
中的样本




(


x


,


y


)



(\boldsymbol x,y)


(x,y)







P


(


y





x


)


=




P


(


y


)


P


(


x





y


)




P


(


x


)





P(y \mid \boldsymbol x) = \frac {P(y)P(\boldsymbol x \mid y)}{P(\boldsymbol x)}


P(yx)=P(x)P(y)P(xy)







  • P


    (


    y


    )



    P(y)


    P(y)
    是类先验概率(class-prior probability)





  • P


    (


    y





    x


    )



    P(y \mid x)


    P(yx)
    是类后验概率(class-posterior probability)





  • P


    (


    x





    y


    )



    P(x \mid y)


    P(xy)
    是样本




    x



    x


    x
    相对于类标记




    y



    y


    y
    的类条件概率(class-conditional probability),或称为似然(likelihood)





  • P


    (


    x


    )



    P(x)


    P(x)
    是用于归一化的证据(evidence)因子,






    P


    (


    x





    y


    )




    P


    (


    x


    )





    \frac{P(x \mid y)}{P(x)}


    P(x)P(xy)
    为调整因子,又称标准似然度

贝叶斯分类器对于每个样本




x



\boldsymbol x


x
,选择使后验概率




(


y





x


)



(y \mid \boldsymbol x)


(yx)
最大的类别标记







y


^



=


arg







max







y





y




P


(


y





x


)



\hat{y} = \arg \max_{y \in \mathscr y }P(y \mid \boldsymbol x)


y^=argyymaxP(yx)


朴素贝叶斯假设一个属性值在给定类上的影响独立于其他属性的值(类条件独立性,attribute conditional independence assumption):







P


(


x





y


)


=


P


(



x


1



,






x


n






y


)


=







i


=


1



n



P


(



x


i






y


)



P( \boldsymbol x \mid y) = P(x_1, \dots x_n \mid y)= \prod_{i=1}^{n} P(x_i \mid y)


P(xy)=P(x1,xny)=i=1nP(xiy)

则,





P


(


y





x


)


=




P


(


y


)


P


(


x





y


)




P


(


x


)




=




P


(


y


)




P


(


x


)









i


=


1



n



P


(



x


i






y


)



P(y \mid \boldsymbol x) = \frac{P(y) P(\boldsymbol x \mid y)}{P( \boldsymbol x)} = \frac{P(y)}{P( \boldsymbol x)} \prod_{i=1}^{n} P(x_i \mid y)


P(yx)=P(x)P(y)P(xy)=P(x)P(y)i=1nP(xiy)

由于




P


(


x


)



P(\boldsymbol x)


P(x)
为常数,

因此,朴素贝叶斯分类器的训练过程就是基于训练集





D



D


D
来估计类先验概率




P


(


y


)



P(y)


P(y)
,并为每个属性估计条件概率




P


(



x


i






y


)



P(x_i|y)


P(xiy)

朴素贝叶斯在估计参数时选用了极大似然估计(基于样本数据中的频次计数),但是在做决策时则使用了MAP估计