貝葉斯估計、最大似然估計、最大后驗概率估計

Bayes' Theorem

文章作者:Tyan
博客:noahsnail.com ?|? CSDN ?|? 簡書

1. 引言

貝葉斯估計、最大似然估計(MLE)、最大后驗概率估計(MAP)這幾個概念在機器學習和深度學習中經常碰到,讀文章的時候還感覺挺明白,但獨立思考時經常會傻傻分不清楚(??),因此希望通過本文對其進行總結。


2. 背景知識

注:由于概率與數理統計需要了解的背景知識很多,因此這里只列出了部分內容,且寫的較簡略,許多概念的學習需要根據標題自己查找答案。

2.1 概率與統計

概率統計是很多人都學過的內容,但概率論與統計學的關系是什么?先看一下概率論與統計學在維基百科中的定義:

概率論是集中研究概率及隨機現象的數學分支,是研究隨機性或不確定性等現象的數學。
統計學是在數據分析的基礎上,研究如何測定、收集、整理、歸納和分析反映數據數據,以便給出正確消息的科學。

下面的一段話引自LarrB Wasserman的《All of Statistics》,對概率和統計推斷的研究內容進行了描述:

The basic problem that we studB in probabilitB is: 
Given a data generating process, what are the properities of the outcomes?

The basic problem of statistical inference is the inverse of probabilitB: 
Given the outcomes, what can we saB about the process that generated the data?

概率論是在給定條件(已知模型和參數)下,對要發生的事件(新輸入數據)的預測。統計推斷是在給定數據(訓練數據)下,對數據生成方式(模型和參數)的歸納總結。概率論是統計學的數學基礎,統計學是對概率論的應用。

2.2 描述統計和推斷統計

統計學分為描述統計學和推斷統計學。描述統計,是統計學中描繪或總結觀察量基本情況的統計總稱。推斷統計指統計學中研究如何根據樣本數據去推斷總體數量特征的方法。

描述統計是對數據的一種概括。描述統計是羅列所有數據,然后選擇一些特征量(例如均值、方差、中位數、四分中位數等)對總體數據進行描述。推斷統計是一種對數據的推測。推斷統計無法獲取所有數據,只能得到部分數據,然后根據得到的數據推測總體數據的情況。

2.3 聯合概率和邊緣概率

假設有隨機變量AB,此時P(A=a,B=b)用于表示A=aB=b同時發生的概率。這類包含多個條件且<font color="blue">所有條件同時成立</font>的概率稱為聯合概率。請注意,聯合概率并不是其中某個條件成立的概率,而是所有條件同時成立的概率。與之對應地,P(A=a)P(B=b)這類<font color="blue">僅與單個隨機變量有關</font>的概率稱為邊緣概率

聯合概率與邊緣概率的關系如下:

P(A=a)=\sum_{b}P(A=a,B=b)
P(B=b)=\sum_{a}P(A=a,B=b)

2.4 條件概率

條件概率表示在<font color="blue">條件B=b成立</font>的情況下,A=a的概率,記作P(A=a|B=b),或者說條件概率是指事件A=a在另外一個事件B=b已經發生條件下的發生概率。為了簡潔表示,后面省略a,b。

聯合概率、邊緣概率、條件概率的關系如下:

P(A|B)=\frac {P(A,B)} {P(B)}

轉換為乘法形式:

P(A,B)=P(B)*P(A|B)=P(A)*P(B|A)

2.5 全概率公式

如果事件A_1,A_2,A_3,\ldots,A_n構成一個完備事件組,即它們兩兩互不相容(互斥),其和為全集;并且P(A_i)大于0,則對任意事件BP(B)=P(B|A_1)P(A_1)+P(B|A_2)P(A_2)+\ldots+ P(B|A_n)P(A_n)=\sum^n_{i=1}P(B|A_i)P(A_i)上面的公式稱為全概率公式。全概率公式是對復雜事件A的概率求解問題轉化為了在不同情況下發生的簡單事件的概率的求和問題。

2.6 貝葉斯公式

由條件概率的乘法形式可得:

P(A|B)=\frac {P(B|A)} {P(B)}*P(A)

上面的式子稱為貝葉斯公式,也叫做貝葉斯定理或貝葉斯法則。在貝葉斯定理中,每個名詞都有約定俗成的名稱:

  • P(A|B)是已知B發生后A的條件概率,也由于得自B的取值而被稱作A的后驗概率,表示<font color="blue">事件B發生后,事件A發生的置信度</font>。
  • P(A)A的先驗概率或邊緣概率,表示<font color="blue">事件A發生的置信度</font>。
  • P(B|A)是已知A發生后B的條件概率,也由于得自A的取值而被稱作B的后驗概率,也被稱作似然函數。
  • P(B)B的先驗概率或邊緣概率,稱為標準化常量。
  • \frac {P(B|A)} {P(B)}稱為標準似然比(這個叫法很多,沒找到標準統一的叫法),表示<font color="blue">事件B為事件A發生提供的支持程度</font>。

因此貝葉斯公式可表示為:后驗概率=似然函數先驗概率/標準化常量=標準似然比先驗概率。根據標準似然比的大小,可分為下面三種情況:

  • 如果標準似然比>1,則先驗概率P(A)得到增強,事件B的發生會增大事件A發生的可能性;
  • 如果標準似然比=1,則先驗概率P(A)保持不變,事件B的發生不影響事件A發生的可能性;
  • 如果標準似然比<1,則先驗概率P(A)得到削弱,事件B的發生會降低事件A發生的可能性。

由全概率公式、貝葉斯法則可得:
P(A_i|B)=\frac {P(B|A_i)P(A_i)} {P(B)}=\frac {P(B|A_i)P(A_i)} {\sum^n_{i=1}P(B|A_i)P(A_i)}

2.7 似然與概率

在英文中,似然(likelihood)和概率(probability)是同義詞,都指事件發生的可能性。但在統計中,似然與概率是不同的東西。概率是已知參數,對結果可能性的預測。似然是已知結果,對參數是某個值的可能性預測。

2.8 似然函數與概率函數

對于函數P(x|\theta),從不同的觀測角度來看可以分為以下兩種情況:

  • 如果\theta已知且保持不變,x是變量,則P(x|\theta)稱為概率函數,表示不同x出現的概率。
  • 如果x已知且保持不變,\theta是變量,則P(x|\theta)稱為似然函數,表示不同\theta下,x出現的概率,也記作L(\theta|x)L(x;\theta)f(x;\theta)

注:注意似然函數的不同寫法。

2.9 推斷統計中需要了解的一些概念

  • 假設實際觀測值與真實分布相關,試圖根據觀測值來推測真實分布
  • 由于觀測值取值隨機,因此由它們計算得到的估計值也是隨機值
  • 估計方式多種多樣,且不同估計方式得到的估計值也有所不同

樣本、樣本容量、參數統計、非參數統計、估計量、真實分布、經驗分布。

2.10 頻率學派與貝葉斯學派

注:頻率學派與貝葉斯學派只是解決問題的角度不同。

頻率學派與貝葉斯學派探討「不確定性」這件事時的出發點與立足點不同。頻率學派從「自然」角度出發,試圖直接為「事件」本身建模,即事件A在獨立重復試驗中發生的頻率趨于極限p,那么這個極限就是該事件的概率。

貝葉斯學派并不從試圖刻畫「事件」本身,而從「觀察者」角度出發。貝葉斯學派并不試圖說「事件本身是隨機的」,或者「世界的本體帶有某種隨機性」,這套理論根本不言說關于「世界本體」的東西,而只是從「觀察者知識不完備」這一出發點開始,構造一套在貝葉斯概率論的框架下可以對不確定知識做出推斷的方法。

頻率學派的代表是最大似然估計;貝葉斯學派的代表是最大后驗概率估計。

2.11 共軛先驗

在貝葉斯統計中,如果后驗分布與先驗分布屬于同類,則先驗分布與后驗分布被稱為共軛分布,而先驗分布被稱為似然函數的共軛先驗。

2.12 Beta分布

在概率論中,Beta分布也稱Β分布,是指一組定義在(0,1)區間的連續概率分布,有兩個參數\alpha,\beta>0。Beta分布的概率密度為:

\begin{align}f(x;\alpha,\beta)&=\frac {x^{\alpha-1}(1-x)^{\beta-1}} {\int_{0}^1 \mu^{\alpha-1}(1-\mu)^{\beta-1}d\mu} \\\\&= \frac{\Gamma(\alpha+\beta)} {\Gamma(\alpha)\Gamma(\beta)}x^{\alpha-1}(1-x)^{\beta-1} \\\\&=\frac {1} {B(\alpha,\beta)}x^{\alpha-1}(1-x)^{\beta-1}\end{align}其中,\Gamma(z)\Gamma函數。隨機變量X服從Beta分布寫作X\sim Beta(\alpha,\beta)


3. 問題定義

以拋硬幣為例,假設我們有一枚硬幣,現在要估計其正面朝上的概率\theta。為了對\theta進行估計,我們進行了10次實驗(獨立同分布,i.i.d.),這組實驗記為X=x_1,x_2,\ldots,x_{10},其中正面朝上的次數為6次,反面朝上的次數為4次,結果為(1,0,1,1,0,0,0,1,1,1)

4. 最大似然估計(MLE)

最大似然估計,英文為Maximum Likelihood Estimation,簡寫為MLE,也叫極大似然估計,是用來估計概率模型參數的一種方法。最大似然估計的思想是使得觀測數據(樣本)發生概率最大的參數就是最好的參數。

對一個獨立同分布的樣本集來說,總體的似然就是每個樣本似然的乘積。針對拋硬幣的問題,似然函數可寫作:L(X;\theta)=\prod_{i=0}^nP(x_i|\theta)=\theta^6(1-\theta)^4根據最大似然估計,使L(X;\theta)取得最大值的\theta即為估計結果,令L(X;\theta)\prime =0可得\hat{\theta}=0.6。似然函數圖如下:

MLE

由于總體的似然就是每個樣本似然的乘積,為了求解方便,我們通常會將似然函數轉成對數似然函數,然后再求解。可以轉成對數似然函數的主要原因是對數函數并不影響函數的凹凸性。因此上式可變為:lnL(X;\theta)=ln\prod_{i=0}^nP(x_i|\theta)=\sum_{i=0}^nln(P(x_i|\theta))=6ln(\theta)+4ln(1-\theta)ln(L(X;\theta)\prime) =0可得\hat{\theta}=0.6

正態分布的最大似然估計

假設樣本服從正態分布N\sim(\mu,\sigma^2),則其似然函數為L(\mu,\sigma^2)=\prod_{i=0}^n \frac {1} {\sqrt{2\pi} \sigma}e^{-\frac {(x_i-\mu)^2} {2\sigma^2}}對其取對數得:lnL(\mu,\sigma^2)=-\frac {n} {2}ln(2\pi) - \frac {n} {2} ln(\sigma^2) - \frac {1} {2\sigma^2} \sum_{i=0}^n(x_i-\mu)^2
分別對\mu,\sigma^2求偏導,并令偏導數為0,得:\begin{cases} \frac {\partial lnL(\mu,\sigma^2)} {\partial \mu}= \frac {1} {\sigma^2} \sum_{i=0}^n(x_i-\mu) =0\\\\ \frac {\partial lnL(\mu,\sigma^2)} {\partial \sigma^2}= -\frac {n} {2\sigma^2} + \frac {1} {2\sigma^4}\sum_{i=0}^n(x_i-\mu)^2 =0 \end{cases}

解得:
\begin{cases} \hat{\mu}= \frac {1} {n} \sum_{i=0}^nx_i=\bar{x}\\\\ \hat{\sigma^2} = \frac {1} {n} \sum_{i=0}^n(x_i-\bar{x})^2 \end{cases}

\hat{\mu},\hat{\sigma^2}就是正態分布中\mu,\sigma^2的最大似然估計。

最大似然估計的求解步驟:

  • 確定似然函數
  • 將似然函數轉換為對數似然函數
  • 求對數似然函數的最大值(求導,解似然方程)


5. 最大后驗概率估計(MAP)

最大后驗概率估計,英文為Maximum A Posteriori Estimation,簡寫為MAP。回到拋硬幣的問題,最大似然估計認為使似然函數P(X|\theta)最大的參數\theta即為最好的\theta,此時最大似然估計是將\theta看作固定的值,只是其值未知;最大后驗概率分布認為\theta是一個隨機變量,即\theta具有某種概率分布,稱為先驗分布,求解時除了要考慮似然函數P(X|\theta)之外,還要考慮\theta的先驗分布P(\theta),因此其認為使P(X|\theta)P(\theta)取最大值的\theta就是最好的\theta。此時要最大化的函數變為P(X|\theta)P(\theta),由于X的先驗分布P(X)是固定的(可通過分析數據獲得,其實我們也不關心X的分布,我們關心的是\theta),因此最大化函數可變為\frac {P(X|\theta)P(\theta)} {P(X)},根據貝葉斯法則,要最大化的函數\frac {P(X|\theta)P(\theta)} {P(X)}=P(\theta|X),因此要最大化的函數是P(\theta|X),而P(\theta|X)\theta的后驗概率。最大后驗概率估計可以看作是正則化的最大似然估計,當然機器學習或深度學習中的正則項通常是加法,而在最大后驗概率估計中采用的是乘法,P(\theta)是正則項。在最大似然估計中,由于認為\theta是固定的,因此P(\theta)=1

最大后驗概率估計的公式表示:\mathop{argmax}_{\theta}P(\theta|X)=\mathop{argmax}_{\theta}\frac {P(X|\theta)P(\theta)} {P(X)}\propto \mathop{argmax}_{\theta}P(X|\theta)P(\theta)

在拋硬幣的例子中,通常認為\theta=0.5的可能性最大,因此我們用均值為0.5,方差為0.1的高斯分布來描述\theta的先驗分布,當然也可以使用其它的分布來描述\theta的先驗分布。\theta的先驗分布為:\frac {1} {\sqrt{2\pi}\sigma}e^{-\frac {(\theta-\mu)^2} {2\sigma^2}} = \frac {1} {10\sqrt{2\pi}}e^{-50(\theta-0.5)^2}先驗分布的函數圖如下:

Gaussian

在最大似然估計中,已知似然函數為P(X|\theta)=\theta^6(1-\theta)^4,因此:P(X|\theta)P(\theta)=\theta^6\times (1-\theta)^4\times \frac {1} {10\sqrt{2\pi}}\times e^{-50(\theta-0.5)^2}轉換為對數函數:ln(P(X|\theta)P(\theta))=ln(\theta^6\times (1-\theta)^4 \times \frac {1} {10\sqrt{2\pi}}\times e^{-50(\theta-0.5)^2})=6ln(\theta)+4ln(1-\theta)+ln(\frac {1} {10\sqrt{2\pi}})-50(\theta-0.5)^2

ln(P(X|\theta)P(\theta))\prime=0,可得:100\theta^3-150\theta^2+40\theta+6=0由于0\le\theta\le1,解得:\hat{\theta}\approx0.529P(X|\theta)P(\theta)的函數圖像如下,基本符合\theta的估計值\hat{\theta}

MAP

如果我們用均值為0.6,方差為0.1的高斯分布來描述\theta的先驗分布,則\hat{\theta}=0.6。由此可見,在最大后驗概率估計中,\theta的估計值與\theta的先驗分布有很大的關系。這也說明一個合理的先驗概率假設是非常重要的。如果先驗分布假設錯誤,則會導致估計的參數值偏離實際的參數值。

先驗分布為Beta分布

如果用\alpha=3,\beta=3的Beta分布來描述\theta的先驗分布,則P(X|\theta)P(\theta)=\theta^6\times (1-\theta)^4\times \frac {1} {B(\alpha,\beta)}\times \theta^{\alpha-1}(1-\theta)^{\beta-1}P(X|\theta)P(\theta)\prime=0求解可得:\hat{\theta}=\frac {\alpha+5} {\alpha + \beta +8}=\frac {8} {3 + 3 +8}\approx 0.57

Beta(3,3)的概率密度圖像如下圖:

Beta(3,3)

最大后驗概率估計的求解步驟:

  • 確定參數的先驗分布以及似然函數
  • 確定參數的后驗分布函數
  • 將后驗分布函數轉換為對數函數
  • 求對數函數的最大值(求導,解方程)


6. 貝葉斯估計

貝葉斯估計是最大后驗估計的進一步擴展,貝葉斯估計同樣假定\theta是一個隨機變量,但貝葉斯估計并不是直接估計出\theta的某個特定值,而是估計\theta的分布,這是貝葉斯估計與最大后驗概率估計不同的地方。在貝葉斯估計中,先驗分布P(X)是不可忽略的。回到拋硬幣的例子中,在已知X的情況下,描述\theta的分布即描述P(\theta|X)P(\theta|X)是一種后驗分布。如果后驗分布的范圍較窄,則估計值的準確度相對較高,反之,如果后驗分布的范圍較廣,則估計值的準確度就較低。

貝葉斯公式:P(\theta|X)=\frac {P(X|\theta)P(\theta)} {P(X)}

在連續型隨機變量中,由于P(X)=\int_{\Theta}P(X|\theta)P(\theta)d\theta,因此貝葉斯公式變為:P(\theta|X)=\frac {P(X|\theta)P(\theta)} {\int_{\Theta}P(X|\theta)P(\theta)d\theta}

從上面的公式中可以看出,貝葉斯估計的求解非常復雜,因此選擇合適的先驗分布就非常重要。一般來說,計算積分\int_{\theta}P(X|\theta)P(\theta)d\theta是不可能的。對于這個拋硬幣的例子來說,如果使用共軛先驗分布,就可以更好的解決這個問題。二項分布參數的共軛先驗是Beta分布,由于\theta的似然函數服從二項分布,因此在貝葉斯估計中,假設\theta的先驗分布服從P(\theta)\sim Beta(\alpha, \beta),Beta分布的概率密度公式為:f(x;\alpha,\beta)=\frac {1} {B(\alpha,\beta)}x^{\alpha-1}(1-x)^{\beta-1}因此,貝葉斯公式可寫作:\begin{aligned} P(\theta|X)&=\frac {P(X|\theta)P(\theta)} {\int_{\Theta}P(X|\theta)P(\theta)d\theta} \\\\ &=\frac {\theta^6(1-\theta)^4 \frac {\theta^{\alpha-1}(1-\theta)^{\beta-1}} {B(\alpha,\beta)} } {\int_{\Theta}\theta^6(1-\theta)^4 \frac {\theta^{\alpha-1}(1-\theta)^{\beta-1}} {B(\alpha,\beta)}d\theta} \\\\&=\frac {\theta^{\alpha+6-1}(1-\theta)^{\beta+4-1}} {\int_{\Theta}\theta^{\alpha+6-1}(1-\theta)^{\beta+4-1}d\theta} \\\\ &=\frac {\theta^{\alpha+6-1}(1-\theta)^{\beta+4-1}} {B(\alpha+6-1,\beta+4-1)} \\\\ &=Beta(\theta|\alpha+6-1,\beta+4-1) \\\\&=Beta(\theta|\alpha+6,\beta+4)\end{aligned}從上面的公式可以看出,P(\theta|X) \sim Beta(\theta|\alpha+6,\beta+4)。其中B函數,也稱Beta函數,是一個標準化常量,用來使整個概率的積分為1。Beta(\theta|\alpha+6,\beta+4)就是貝葉斯估計的結果。

如果使用貝葉斯估計得到的\theta分布存在一個有限均值,則可以用后驗分布的期望作為\theta的估計值。假設\alpha=3,\beta=3,在這種情況下,先驗分布會在0.5處取得最大值,則P(\theta|X) \sim Beta(\theta|9,7)Beta(\theta|9,7)的曲線如下圖:

Beta(9,7)

從上圖可以看出,在\alpha=3,\beta=3的情況下,\theta的估計值\hat{\theta}應該在0.6附近。根據Beta分布的數學期望公式E(\theta)=\frac {\alpha} {\alpha+\beta}可得:\hat{\theta}=\int_{\Theta} \theta P(\theta|X)d\theta=E(\theta)=\frac {\alpha} {\alpha+\beta}=\frac {9} {9+7}=0.5625

注:二項分布參數的共軛先驗是Beta分布,多項式分布參數的共軛先驗是Dirichlet分布,指數分布參數的共軛先驗是Gamma分布,?斯分布均值的共軛先驗是另?個?斯分布,泊松分布的共軛先驗是Gamma分布。

貝葉斯估計要解決的不是如何估計參數,而是用來估計新測量數據出現的概率,對于新出現的數據\tilde{x}

P(\tilde{x}|X) = \int_{\Theta}P(\tilde{x}|\theta)P(\theta|X)d\theta=\int_{\Theta}P(\tilde{x}|\theta)\frac {P(X|\theta)P(\theta)} {P(X)}d\theta

貝葉斯估計的求解步驟:

  • 確定參數的似然函數
  • 確定參數的先驗分布,應是后驗分布的共軛先驗
  • 確定參數的后驗分布函數
  • 根據貝葉斯公式求解參數的后驗分布

7. 總結

從最大似然估計、最大后驗概率估計到貝葉斯估計,從下表可以看出\theta的估計值\hat{\theta}是逐漸接近0.5的。從公式的變化可以看出,使用的信息是逐漸增多的。最大似然估計、最大后驗概率估計中都是假設\theta未知,但是確定的值,都將使函數取得最大值的\theta作為估計值,區別在于最大化的函數不同,最大后驗概率估計使用了\theta的先驗概率。而在貝葉斯估計中,假設參數\theta是未知的隨機變量,不是確定值,求解的是參數\theta在樣本X上的后驗分布。

注:最大后驗概率估計和貝葉斯估計都采用Beta分布作為先驗分布。

Type MLE MAP BE
\hat{\theta} 0.6 0.57 0.5625
f P(X | \theta) P(X|\theta)P(\theta) \frac {P(X|\theta)P(\theta)} {P(X)}


參考資料

  1. 書籍:程序員的數學2——概率統計
  2. 概率論與統計學的關系是什么?
  3. 貝葉斯學派與頻率學派有何不同?
  4. 概率論
  5. 推論統計學
  6. 描述統計學
  7. 統計學
  8. 詳解最大似然估計(MLE)、最大后驗概率估計(MAP),以及貝葉斯公式的理解
  9. 如何理解條件概率?
  10. 貝葉斯定理
  11. 貝葉斯推斷及其互聯網應用(一):定理簡介
  12. 全概率公式
  13. 怎樣用非數學語言講解貝葉斯定理(Bayes's theorem)?
  14. 似然(likelihood)與概率(probability)的區別
  15. 如何通俗地理解概率論中的「極大似然估計法」?
  16. 如何通俗地理解“最大似然估計法”?
  17. 概率論與數理統計
  18. All of Statistics: A Concise Course in Statistical Inference
  19. MLE,MAP,EM 和 point estimation 之間的關系是怎樣的?
  20. 最大后驗概率
  21. 從最大似然估計開始,你需要打下的機器學習基石
  22. 如何理解似然函數?
  23. 共軛先驗
  24. 參數估計:最大似然估計(MLE),最大后驗估計(MAP),貝葉斯估計,經驗貝葉斯(Empirical Bayes)與全貝葉斯(Full Bayes)
  25. 什么是最大似然估計、最大后驗估計以及貝葉斯參數估計
  26. 先驗概率、后驗概率以及共軛先驗
  27. 認識Beta/Dirichlet分布
  28. Β分布
  29. Β函數
  30. Beta distribution
  31. Beta function
  32. Beta Distribution PDF Grapher
  33. 文本語言模型的參數估計-最大似然估計、MAP及貝葉斯估計
  34. Γ函數
  35. 使用的繪圖工具
  36. 求解一元三次方程的工具
  37. 你對貝葉斯統計都有怎樣的理解?
  38. Bayesian inference
  39. 概率密度函數
  40. 累積分布函數
  41. 似然函數
  42. 概率質量函數
  43. Introduction to Bayesian Inference
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容