1. 程式人生 > >Estimating from data

Estimating from data

兩種引數估計的統計學方法

今天主要複習一下兩種引數估計的統計學方法,分別是極大似然估計(MLE)和最大後驗概率估計(MAP)。

  • 問題背景
  • MLE
  • MAP
  • MLE 與 MAP各自的優缺點
  • MLE與MAP之間的區別與聯絡

問題背景

以擲硬幣為例。現在我們一共拋擲了10次硬幣,其結果為{H,T,T,T,H,H,H,H,H,H}。我們假設硬幣朝上的概率為P(θ)P(\theta),現在問題來了?如何從我們的觀測資料當中近似得到P(θ)P(\theta)的估計值呢? 對於上述問題,我們可以從兩個角度出發進行思考,一是從頻率學派的角度,二是從貝葉斯學派的角度。

MLE

使用極大似然估計的方法得到P

(θ)P(\theta)的近似值主要分為以下兩個步驟:

  • 先根據資料集對資料分佈做出假設(或者構建模型)。以擲硬幣為例,一種很自然的想法即為:假設擲硬幣朝上的概率P(H)P(H)滿足二項分佈。對於引數為(n,p)(n,p)的二項分佈,我們知道其分佈列為p(k)=(nk)pk(1p)nkp(k)= \binom{n}{k}p^k (1-p)^{n-k}具體到擲硬幣來說,我們可以得到P(Dθ)=(nH+nTnH)θnH(1θ)nT,P(D\mid \theta) = \begin{pmatrix} n_H + n_T \\ n_H \end{pmatrix} \theta^{n_H} (1 - \theta)^{n_T},
    其中nHn_H表示硬幣朝上的次數,nTn_T表示硬幣朝下的次數,θ\theta表示硬幣朝上的概率。
  • 確定模型引數,使得我們所觀測到的資料儘可能具有代表性(make our data more likely to be observed in real world),也即:θ^MLE=argmaxθ P(D;θ)\hat{\theta}_{MLE} = \operatorname {argmax}_{\theta} \,P(D ; \theta) ,上述問題的求解過程如下: θ^MLE=argmaxθ P(D;θ)=argmaxθ(nH+nTnH)θnH(1θ)nT=argmaxθ log(nH+nTnH)+nHlog(θ)+nTlog(1θ)=argmaxθ nHlog(θ)+nTlog(1θ) \hat{\theta}_{MLE} = \operatorname{argmax}_{\theta} \,P(D; \theta) \\ = \operatorname{argmax}_{\theta} \begin{pmatrix} n_H + n_T \\ n_H \end{pmatrix} \theta^{n_H} (1 - \theta)^{n_T} \\ = \operatorname{argmax}_{\theta} \,\log\begin{pmatrix} n_H + n_T \\ n_H \end{pmatrix} + n_H \cdot \log(\theta) + n_T \cdot \log(1 - \theta) \\ = \operatorname{argmax}_{\theta} \, n_H \cdot \log(\theta) + n_T \cdot \log(1 - \theta) 對於上述表示式求導: nHθ=nT1θnHnHθ=nTθθ=nHnH+nT \frac{n_H}{\theta} = \frac{n_T}{1 - \theta} \Longrightarrow n_H - n_H\theta = n_T\theta \Longrightarrow \theta = \frac{n_H}{n_H + n_T} 這樣一來,我們就得到了關於引數θ\theta的估計。 仔細一看θ^\hat \theta的值,我們不難發現,其恰好為我們平時說的頻率。也就是說,於擲硬幣這個例子而言,極大似然估計最終以頻率來估計硬幣朝上的概率。

MAP

以擲硬幣實驗中硬幣朝上事件發生的頻率來估計硬幣朝上的概率,這似乎是一種很自然的做法。下面我們來考慮另外一種極端情況:同樣是拋10次硬幣,結果為{H,H,H,H,H,H,H,H,H,H}。此時我們使用MLE來估計引數θ\theta的值,就會得到P(H)θ^=1P(H) \approx \hat \theta = 1.這樣的結果你覺得可靠嗎?至少我覺得是不可靠的。因為憑我的直覺,我認為硬幣朝上的概率和硬幣朝下的概率是五五開的。 於是,貝葉斯學派認為,純粹使用頻率來估計概率是不行的。他們認為引數θ\theta是一個隨機變數,在估計硬幣朝上的概率P(H)P(H)的時候,還應當引入先驗知識,將P(H)P(H)也即θ\theta本身服從的概率分佈也考慮進來。 所以MAP要解決的是一個什麼樣的問題呢? 簡而言之,MAP就是要通過我們現有的觀測資料去尋找最有可能的θ\theta,即:θ^MAP=argmaxθ P(θD) \hat{\theta}_{MAP} = {argmax}_{\theta} \,P(\theta \mid D) 回顧一下貝葉斯公式:P(θD)=P(Dθ)P(θ)P(D)=P(Dθ)P(θ)P(D)P(\theta \mid D) = \frac {P(D \mid \theta) * P(\theta)}{P(D)} = \frac {P(D \mid \theta) * P(\theta)}{P(D)} 在上面表示式當中,各個引數代表的含義如下:

  • P(D)P(D):對於分母這一項,如果是一個連續性隨機變數的話,我們可以寫成,如果是一個離散型隨機變數我們可以寫成,。不論是何種情況,P(D)P(D)的取值都不會影響我們求解最佳的引數θ\theta
  • P(Dθ)P(D \mid \theta):這一項恰好就是我們先前在MLE中要最大化的量,也即在給定引數θ\theta的前提下,我們所觀測到的資料在真實情況下出現的可能性。
  • P(θ)P(\theta):引數θ\theta的先驗概率。
  • P(θD)P(\theta \mid D):基於觀測資料,我們對於引數θ\theta所滿足的先驗概率的矯正。

下面我們就逐一分析分子中的各項:

- P(θ)P(\theta)

通常情況下,對於擲硬幣這個例子而言,我們可以假設P(H)P(H)服從Beta分佈,即P(θ)=θα1(1θ)β1B(α,β)P(\theta) = \frac{\theta^{\alpha - 1}(1 - \theta)^{\beta - 1}}{B(\alpha, \beta)} 在上面的表示式當中,分母B(α,β)=Γ(α)Γ(β)Γ(α+β)B(\alpha, \beta) = \frac{\Gamma(\alpha) \Gamma(\beta)}{\Gamma(\alpha+\beta)}。 為什麼我們使用Beta分佈來模擬硬幣朝上的概率P(H)P(H)所滿足的分佈呢?原因主要有以下兩點:

  • 其與二項分佈是共軛先驗的(Conjugate_prior)。所謂共軛先驗就是先驗分佈是beta分佈,而後驗分佈同樣是beta分佈。P(θD)P(Dθ)P(θ)θnH+α1(1θ)nT+β1P(\theta \mid D) \propto P(D \mid \theta) P(\theta) \propto \theta^{n_H + \alpha -1} (1 - \theta)^{n_T + \beta -1}