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

  本內容主要介紹概率論與統計學相關基礎知識,主要涉及 聯合概率、邊緣概率和條件概率;貝葉斯公式、先驗概率、後驗概率和似然函數;最大似然估計、最大後驗概率估計和貝葉斯估計 等。爲機器學習中的貝葉斯分類提供相關基礎知識。

一、基礎知識

1.1 概率與統計

  概率論(Probability) 和 統計學(Statistics)看似兩個相近的概念,其實研究的問題剛好相反。概率論 是集中研究概率及隨機現象的數學分支,是研究隨機性或不確定性等現象的數學。統計學 是在數據分析的基礎上,研究如何測定、收集、整理、歸納和分析反映數據,以便給出正確消息的科學。

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

1.2 聯合概率、邊緣概率和條件概率

  假設有隨機變量 XXYY,此時, P(X=a,Y=b)P(X=a,Y=b) 用於表示 X=aX=aY=bY=b 的概率。這類包含多個條件且所有條件同時成立的概率稱爲 聯合概率。我們也可以使用 P(a,b)P(a,b)P(ab)P(ab) 表示聯合概率。

1.2.1 邊緣概率

  邊緣概率是與聯合概率對應的,P(X=a)P(X=a)P(Y=b)P(Y=b)​,這類僅與單個隨機變量有關的概率稱爲 邊緣概率

1.2.2 條件概率

  條件概率 表示在條件 Y=bY=b 成立的情況下,X=aX=a 的概率,記作 P(X=a    Y=b)P(X=a\;| \; Y=b)。它具有如下性質:在條件 Y=bY=bXX 的條件分佈,也是一種 XX 的概率分佈,因此窮舉 XX 的可取值之後,所有這些值對應的概率之和爲 1,即 aP(X=a    Y=b)=1\sum_a P(X=a \; | \; Y=b) = 1

1.2.3 聯合概率與邊緣概率的關係

(1)P(X=a)=bP(X=a,Y=b) P(X=a) = \sum_b P(X=a, Y=b) \tag{1}

(2)P(Y=b)=aP(X=a,Y=b) P(Y=b) = \sum_a P(X=a, Y=b) \tag{2}

1.2.4 聯合概率、邊緣概率與條件概率之間的關係

(3)P(X=a,Y=b)=P(X=a    Y=b)P(Y=b)=P(Y=b    X=a)P(X=a) \begin{aligned} P(X=a,Y=b) &= P(X=a \; | \; Y=b)P(Y=b) \\\\ &= P(Y=b \; | \; X=a)P(X=a) \end{aligned} \tag{3}

(4)P(X=a    Y=b)=P(X=a,Y=b)P(Y=b) P(X=a \; | \; Y=b) = \frac{P(X=a, Y=b)}{P(Y=b)} \tag{4}

1.3 全概率公式

  假設隨機變量 XX​ 的所有可能取值爲 (a1,a2, ,an)(a_1,a_2,\cdots,a_n)​,它們構成一個完備事件組,即它們兩兩互斥,其和爲全集;並且 P(X=ai)P(X=a_i)​ 大於 00​,則對任意事件 Y=bY=b​

(5)P(Y=b)=P(Y=b    X=a1)P(X=a1)++P(Y=b    X=an)P(X=an)=i=1nP(Y=b    X=ai)P(X=ai) \begin{aligned} P(Y=b) &= P(Y=b \; | \; X=a_1)P(X=a_1) + \cdots + P(Y=b \; | \; X=a_n)P(X=a_n) \\\\ &= \sum_{i=1}^{n} P(Y=b \; | \; X=a_i)P(X=a_i) \end{aligned} \tag{5}
上面的公式稱爲 全概率公式。它將對複雜事件 Y=bY=b​ 的概率問題 轉化爲在不同情況下發生的簡單事件的概率的求和問題 。

1.4 貝葉斯公式

(6)P(YX)=P(XY)P(Y)P(X) P(Y|X) = \frac{P(X|Y)P(Y)}{P(X)} \tag{6}

上面的公式稱爲 貝葉斯公式,也叫做 貝葉斯定理貝葉斯法則

1.5 先驗概率、後驗概率和似然函數

  先驗概率(Prior Probability)是指根據以往經驗和分析得到的概率。

  後驗概率(Posterior Probability)是指在得到 “結果” 的信息後重新修正的概率。

  在統計學中,似然函數(Likelihood Function)是一種關於統計模型參數的函數。給定輸出 XX​ 時,關於參數 θ\theta​ 的似然函數 L(θX)L(\theta|X)​ (在數值上)等於給定參數 θ\theta​ 後變量 XX​ 的概率:L(θX)=P(Xθ)L(\theta|X) = P(X|\theta)​

二、概率模型參數估計方法

  假如我們現在有一組觀測數據(即數據集,樣本),並且我們知道它們是從某一種分佈中隨機取出來的,但是我們並不知道這個分佈的具體參數,即 “模型已定,參數未知”。那我們應該如何去估計參數呢?

  對於參數估計,統計學界的兩個學派分別提供了不同的解決方案:頻率學派 認爲參數雖然未知,但卻是客觀存在的固定值,因此,可通過優化似然函數等準則來確定參數值;貝葉斯學派 則認爲參數是未觀察到的隨機變量,其本身也可有分佈,因此,可假定參數服從一個先驗分佈,然後基於觀測到的數據來計算參數的後驗分佈。

  下面將介紹三種概率模型參數估計方法,分別爲 源自頻率學派的最大似然估計,以及源自貝葉斯學派的最大後驗概率估計和貝葉斯估計

2.1 最大似然估計

  最大似然估計(Maximum Likelihood Estimation,MLE,也叫極大似然估計)是建立在極大似然原理的基礎上的一個統計方法,是概率論在統計學中的應用。其核心思想是:認爲當前發生的事件(即觀測數據)是概率最大的事件,則使得當前發生的事件發生概率最大的參數就是最好的參數。

  在最大似然估計中,認爲參數爲固定的值,只是其值未知;然後基於觀測數據,通過最大化似然函數來求解參數。

  注意:對一個獨立同分布的數據集來說,總體的似然就是每個樣本似然的乘積。

2.1.1 示例一:二項分佈的最大似然估計(拋硬幣)

  針對拋硬幣的例子,拋 10 次的結果爲:00010001000,0,0,1,0,0,0,1,0,0​,,其中正面朝上爲 11​,反面朝上爲 00​,求這個硬幣正面朝上的概率是多大?

  我們知道每次拋硬幣都是一次二項分佈,設正面朝上的概率爲 θ\theta​,那麼似然函數爲:

(7)L(X;θ)=i=1nP(xi,θ)=i=1nθxi(1θ)1xi L(X; \theta) = \prod_{i=1}^{n} P(x_i, \theta) = \prod_{i=1}^{n}\theta^{x_i}(1-\theta)^{1-x_i} \tag{7}

其中,正面朝上時,xi=1x_i =1​;反面朝上時,xi=0x_i=0​

  爲了求解方便,我們通常會將似然函數轉成對數似然函數,然後再求解(可以轉成對數似然函數的主要原因是對數函數並不影響函數的凹凸性。)。則有
(8)lnL(X;θ)=lni=1nθxi(1θ)1xi=i=1nln(θxi(1θ)1xi)=i=1n(lnθxi+ln(1θ)1xi)=i=1n(xilnθ+(1xi)ln(1θ)) \begin{aligned} \ln L(X; \theta) &= \ln \prod_{i=1}^{n}\theta^{x_i}(1-\theta)^{1-x_i} \\ &= \sum_{i=1}^{n} \ln (\theta^{x_i}(1-\theta)^{1-x_i}) \\ &= \sum_{i=1}^{n} (\ln \theta^{x_i} + \ln (1-\theta)^{1-x_i}) \\ &= \sum_{i=1}^{n} (x_i \ln \theta + (1-x_i)\ln (1-\theta)) \end{aligned} \tag{8}

對其求導,得

(9)θlnL(X;θ)=i=1nθ(xilnθ+(1xi)ln(1θ))=i=1nxiθlnθ+i=1n(1xi)θln(1θ)=1θi=1nxi11θi=1n(1xi) \begin{aligned} \frac{\partial}{\partial \theta} \ln L(X; \theta) &= \sum_{i=1}^{n} \frac{\partial}{\partial \theta}(x_i \ln \theta + (1-x_i)\ln (1-\theta)) \\ &= \sum_{i=1}^{n} x_i \frac{\partial}{\partial \theta} \ln \theta + \sum_{i=1}^{n} (1-x_i) \frac{\partial}{\partial \theta} \ln (1-\theta) \\ &= \frac{1}{\theta} \sum_{i=1}^{n} x_i - \frac{1}{1-\theta} \sum_{i=1}^{n} (1-x_i) \end{aligned} \tag{9}

令導數爲 00,可求得

(10)θ^=1ni=1nxi \hat{\theta} = \frac{1}{n}\sum_{i=1}^{n} x_i \tag{10}

將上面的觀測數據代入,可求得 θ^=0.2\hat{\theta} = 0.2

2.1.2 實例二:正態分佈的最大似然估計

  假設樣本服從正態分佈 N (μ,σ2)N ~ (\mu, \sigma^2),則其似然函數爲

(11)L(μ,σ2)=i=1n12πσe(xiμ)22σ2 L(\mu, \sigma^2) =\prod_{i=1}^{n} \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x_i - \mu)^2}{2\sigma^2}} \tag{11}

對其求對數得

(12)lnL(μ,σ2)=i=1nln12πσe(xiμ)22σ2=i=1nln12πσi=1n(xiμ)22σ2=i=1nln12π+i=1nln1σi=1n(xiμ)22σ2=nln12πn2lnσ212σ2i=1n(xiμ)2 \begin{aligned} \ln L(\mu, \sigma^2) &= \sum_{i=1}^{n} \ln \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x_i - \mu)^2}{2\sigma^2}} \\ &= \sum_{i=1}^{n} \ln \frac{1}{\sqrt{2\pi}\sigma} - \sum_{i=1}^{n} \frac{(x_i - \mu)^2}{2\sigma^2} \\ &= \sum_{i=1}^{n} \ln \frac{1}{\sqrt{2\pi}} + \sum_{i=1}^{n} \ln \frac{1}{\sigma} - \sum_{i=1}^{n} \frac{(x_i - \mu)^2}{2\sigma^2} \\ &= n \ln \frac{1}{\sqrt{2\pi}} - \frac{n}{2} \ln \sigma^2 - \frac{1}{2\sigma^2} \sum_{i=1}^{n} (x_i - \mu)^2 \end{aligned} \tag{12}

分別對 μ\muσ2\sigma^2 求偏導,並令偏導數爲 0,得

(13){μlnL(μ,σ2)=1σ2i=1n(xiμ)=1σ2(i=1nxinμ)=0σ2lnL(μ,σ2)=n2σ2+12σ4i=1n(xiμ)2=0 \left \{ \begin{array}{cc} \begin{aligned} &\frac{\partial}{\partial \mu} \ln L(\mu, \sigma^2) =\frac{1}{\sigma^2} \sum_{i=1}^n(x_i - \mu) =\frac{1}{\sigma^2} (\sum_{i=1}^n x_i - n\mu) =0 \\\\ &\frac{\partial}{\partial \sigma^2} \ln L(\mu, \sigma^2) =-\frac{n}{2\sigma^2} + \frac{1}{2\sigma^4}\sum_{i=1}^{n} (x_i - \mu)^2 =0 \end{aligned} \end{array} \right. \tag{13}

求得

(14){μ^=1ni=1nxi=xˉσ2^=1ni=1n(xixˉ)2 \left \{ \begin{array}{cc} \begin{aligned} &\hat{\mu} = \frac{1}{n} \sum_{i=1}^{n}x_i = \bar{x} \\\\ &\hat{\sigma^2} = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2 \end{aligned} \end{array} \right. \tag{14}

2.1.3 求解步驟

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

  1. 確定似然函數。

  2. 將似然函數轉換爲對數似然函數。

  3. 求導數,並令其爲 00

  4. 求解得到模型中參數的最優值。

  極大似然估計只關注當前的觀測數據,也就是隻關注當前發生的事件,不考慮事件的先驗情況。由於計算簡單,而且不需要關注先驗知識,因此在機器學習中的應用非常廣,最常見的就是 Logistic 迴歸。

2.2 最大後驗概率估計

  在最大似然估計中,是求使似然函數最大的參數。現在問題稍微複雜一點點,假如這個參數有一個先驗概率呢?比如,上面的拋硬幣的例子,我們的經驗告訴我們,硬幣一般都是勻稱的,也就是 θ=0.5\theta = 0.5 的概率最大,θ=0.2\theta = 0.2​ 的概率比較小。這個時候我們應該怎麼估計參數呢?這就是 最大後驗概率估計(Maximum a Posteriori Estimation,MAP)要考慮的問題。

  通過前面的介紹,我們瞭解到在最大似然估計中,認爲參數爲固定的值,只是其值未知,通過最大化似然函數來求解參數。但是在最大後驗概率估計中,認爲參數是一個隨機變量,其本身也具有某種概率分佈,稱爲先驗分佈。在求解時,除了要考慮似然函數 P(Xθ)P(X|\theta)​ 之外,還要考慮 θ\theta​ 的先驗分佈 P(θ)P(\theta)​,因此其認爲是 P(Xθ)P(θ)P(X|\theta) P(\theta)​ 取最大值的 θ\theta​ 就是最好的 θ\theta​。此時要最大化的函數變爲 P(Xθ)P(θ)P(X|\theta) P(\theta)​,由於 XX​ 的先驗分佈 P(X)P(X)​ 是固定的,因此最大化函數可變爲 P(Xθ)P(θ)/P(X){P(X|\theta)P(\theta)} / {P(X)}​,根據貝葉斯公式可知,實際上要最大化的函數是 P(θX)P(\theta|X)​,其爲 θ\theta​ 的後驗概率。最大化後驗概率估計可以看作是正則化的最大似然估計,當然機器學習或深度學習中的正則化通常是加法,而在最大後驗概率估計中採用的是乘法,P(θ)P(\theta)​ 是正則項。在最大似然估計中,由於認爲 θ\theta​ 是固定的,因此 P(θ)=1P(\theta) = 1​

2.2.1 示例一:參數 θ\theta 的先驗分佈爲 Beta 分佈

  我們繼續使用上面的拋硬幣的例子,假設參數 θ\theta​ 的先驗分佈爲 Beta 分佈。則

(15)P(Xθ)P(θ)=i=1nθxi(1θ)1xi1B(α,β)θα1(1θ)β1 P(X|\theta)P(\theta) = \prod_{i=1}^{n}\theta^{x_i}(1-\theta)^{1-x_i} \frac{1}{B(\alpha, \beta)} \theta^{\alpha-1} (1-\theta)^{\beta-1} \tag{15}

對其求對數得

(16)lnP(Xθ)P(θ)=i=1nln(θxi(1θ)1xi)+ln1B(α,β)+lnθα1+ln(1θ)β1=lnθi=1nxi+ln(1θ)i=1n(1xi)lnB(α,β)+(α1)lnθ+(β1)ln(1θ) \begin{aligned} \ln P(X|\theta)P(\theta) &= \sum_{i=1}^{n} \ln \left(\theta^{x_i}(1-\theta)^{1-x_i}\right) + \ln \frac{1}{B(\alpha, \beta)} + \ln \theta^{\alpha-1} + \ln (1-\theta)^{\beta-1} \\\\ &= \ln \theta \sum_{i=1}^{n} x_i +\ln(1-\theta)\sum_{i=1}^{n} (1-x_i) \\ &\quad\quad-\ln B(\alpha, \beta) +(\alpha-1) \ln \theta +(\beta - 1) \ln (1-\theta) \end{aligned} \tag{16}

對參數求導,得

(17)θlnP(Xθ)P(θ)=1θi=1nxi11θi=1n(1xi)+α1θβ11θ \begin{aligned} \frac{\partial}{\partial \theta} \ln P(X|\theta)P(\theta) &= \frac{1}{\theta} \sum_{i=1}^{n} x_i -\frac{1}{1-\theta}\sum_{i=1}^{n}(1-x_i) +\frac{\alpha-1}{\theta} -\frac{\beta-1}{1-\theta} \end{aligned} \tag{17}

令其爲 00,求得

(18)θ^=i=1nxi+α1n+α+β2 \hat{\theta} = \frac{\sum_{i=1}^{n}x_i + \alpha-1}{n+\alpha + \beta - 2} \tag{18}

  假設 Beta 分佈的參數分別爲 α=3\alpha=3β=3\beta = 3,將上面的觀測數據代入,可求得

(19)θ^=2+3110+3+32=414=0.2857 \hat{\theta} = \frac{2 + 3 - 1}{10 + 3 + 3 - 2} = \frac{4}{14} = 0.2857 \tag{19}

2.2.2 求解步驟

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

  1. 確定參數的先驗分佈以及似然函數。
  2. 確定參數的後驗分佈函數。
  3. 將後驗分佈函數轉換爲對數函數。
  4. 求對數函數的最大值(求導,解方程)

  最大後驗概率估計不只是關注當前的觀測數據,還關注已經發生過的先驗知識。

  最大後驗估計和最大似然估計的區別:最大後驗估計允許我們把先驗知識加入到估計模型中,這在樣本很少的時候是很有用的(因此樸素貝葉斯在較少的樣本下就能有很好的表現),因爲樣本很少的時候我們的觀測結果很可能出現偏差,此時先驗知識會把估計的結果“拉”向先驗,實際的預估結果將會在先驗結果的兩側形成一個頂峯。通過調節先驗分佈的參數,比如beta分佈的α,β,我們還可以調節把估計的結果“拉”向先驗的幅度,α,β越大,這個頂峯越尖銳。這樣的參數,我們叫做預估模型的“超參數”。

2.3 貝葉斯估計

  貝葉斯估計是最大後驗概率估計的進一步擴展,貝葉斯估計同樣假定參數是一個隨機變量,但貝葉斯估計並不是直接估計出參數的某個特定值,而是估計參數的分佈,這是貝葉斯估計與最大後驗概率估計不同的地方。在貝葉斯估計中,先驗分佈是不可忽略的。

待添加……

參考:

[1] 周志華《機器學習》
[2] 李航《統計學習方法》
[3] 貝葉斯估計、最大似然估計、最大後驗概率估計
[4] 最大似然估計、最大後驗估計、貝葉斯估計的對比
[5] 最大似然估計 (MLE) 最大後驗概率(MAP)
[6] 極大似然估計詳解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章