【理解】參數估計,最大似然,最大後驗,貝葉斯估計

參數估計

先給出以下定義:

先驗分佈:P(θ)P(\theta)

似然函數:P(Dθ)P(D | \theta)

後驗分佈:P(θD)P(\theta | D)

貝葉斯公式:P(θD)=P(Dθ)P(θ)P(D)P(\theta | D)=\frac{P(D | \theta) P(\theta)}{P(D)} 其中 P(D)=i=1nP(xiθ)P(θ)P(D)=\sum_{i=1}^{n} P(x_i|\theta)P(\theta)

這樣我們很容易得到他們四者的關係:後驗分佈 = 似然函數 × 先驗分佈 / P(D)

接着再用一個例子來幫助理解

路人甲在一個不透明的袋裏放了若干個黑色和白色的球,他感覺是白色球更多;路人乙想知道袋中球的情況,就從袋中有放回式取球,一共取了10次,有7次是白球,3次是黑球。

通過這個例子,白球或黑球的比例就是 θ\theta0θ10 \leq \theta \leq 1) ,路人甲的感覺就是先驗分佈 P(θ)P(\theta) ,路人乙觀測到的就是 D={x1,x2...x10}D=\{x_1, x_2... x_{10}\} (其中xix_i = 1(白色) or 0(黑色)),路人乙通過觀測想知道比例就是似然 P(Dθ)P(D | \theta) ,路人乙在知道路人甲的感覺後想知道比例就是後驗分佈 P(θD)P(\theta | D)

當知道觀測值 xx 時,估計參數 θ\theta 就是參數估計;當知道參數 θ\theta 時,預測觀測值 xx 就是預測參數估計的目的時爲了對新的觀測值進行預測

有了初步的理解認識後,我們開始介紹正題

1、最大似然估計(MLE)

Maximum Likelihood Estimation

最大似然估計的思想是:認爲參數是一個固定的值,找到使得發生觀測數據情況概率最大的參數,即讓似然函數最大的參數。

似然函數表示如下:
L(θx1,x2,,xn)=f(x1,x2,,xnθ)=i=1nf(xiθ) L\left(\theta | x_{1}, x_{2}, \cdots, x_{n}\right)=f\left(x_{1}, x_{2}, \cdots, x_{n} | \theta\right)=\prod_{i=1}^{n} f\left(x_{i} | \theta\right)
因爲連乘不好求解,通常會進行一個對數變換,轉換爲累加:
l(θ)=lnL(θx1,x2,,xn)=i=1nf(xiθ) l(\theta) = \ln L\left(\theta | x_{1}, x_{2}, \cdots, x_{n}\right)=\sum_{i=1}^{n} f\left(x_{i} | \theta\right)

推導

伯努利分佈(Bernoulli)

每一個樣本的概率可以表示爲:P(xθ)=θx(1θ)1xP(x|\theta)=\theta^{x}(1-\theta)^{1-x}x=0or1x=0 or 1θ\theta 是成功的概率

我們現在有n個樣本,D={x1,x2,...,xn}D = \{ x_1, x_2,...,x_n \}

寫出對數最大似然函數表達式:
l(θ)=i=1nlogP(xiθ)=i=1nlogθxi(1θ)1xi=i=1nxilogθ+(1xi)log(1θ)=(i=1nxi)logθ+(i=1n(1xi))log(1θ)=mlogθ+(nm)log(1θ) \begin{aligned}l(\theta)&=\sum_{i=1}^{n}\log{P(x_i|\theta)} \\ &= \sum_{i=1}^{n}\log{\theta^{x_i}(1-\theta)^{1-x_i}} \\ &= \sum_{i=1}^{n}x_i \log{\theta}+(1-x_i)\log(1-\theta) \\ &= (\sum_{i=1}^{n}x_i)\log{\theta}+(\sum_{i=1}^{n}(1-x_i))\log{(1-\theta)} \\ &= m\log{\theta} + (n-m)\log(1-\theta)\end{aligned}
l(θ)l(\theta) 進行求導,解得當 θ=1ni=1nxi\theta = \frac{1}{n}\sum_{i=1}^{n}x_i ,似然函數 l(θ)l(\theta) 取最大值

正態分佈(Gaussian)

每一個樣本的概率可以表示爲: P(xθ)=12πσexp((xθ)22σ2)P(x|\theta )=\frac{1}{\sqrt{2 \pi} \sigma}\exp(-\frac{(x-\theta)^{2}}{2 \sigma^{2}})

所以對數最大似然函數表達式:
l(θ)=i=1nlogP(xiθ)=i=1n[12log2πlogσ(xiθ)22σ2]=n2log2πnlogσi=1n(xiθ)22σ2 \begin{aligned}l(\theta)&=\sum_{i=1}^{n}\log{P(x_i|\theta)} \\ &= \sum_{i=1}^{n} [-\frac{1}{2}log{2\pi}-log{\sigma}-\frac{(x_i-\theta)^2}{2\sigma^2}] \\ &= -\frac{n}{2}log{2\pi}-nlog{\sigma}-\frac{\sum_{i=1}^{n}(x_i-\theta)^2}{2\sigma^2}\end{aligned}
l(θ)l(\theta) 進行求導,解得當 θ=1ni=1nxi\theta = \frac{1}{n}\sum_{i=1}^{n}x_i ,似然函數 l(θ)l(\theta) 取最大值

例子

問:我們還是用開頭的例子,路人甲在一個不透明的袋裏放了若干個黑色和白色的球;路人乙想知道袋中球的情況,就從袋中有放回式取球,一共取了10次,有7次是白球,3次是黑球。問白球的比例是多少?

答:在這個例子中,每一次實驗都是服從伯努利分佈,我們設白球的概率爲 θ\theta ,所以每一次實驗可以表示爲: P(xiθ)=θxi(1θ)1xiP(x_i|\theta)=\theta^{x_i}(1-\theta)^{1-x_i} 。樣本爲 D={x1,x2,...,x10}D = \{ x_1, x_2,...,x_{10} \}

寫出似然函數:P(Dθ)=i=110P(xiθ)=θ7(1θ)3P(D|\theta) = \prod_{i=1}^{10} P(x_i|\theta)={\theta}^{7}(1-\theta)^{3}

求出上面似然函數最大時的 θ\theta 值(先取對數),得到 θ=0.7\theta = 0.7

計算步驟

  1. 選擇參數模型(伯努利、高斯…),設參數爲 θ\theta
  2. 獲得樣本數據 D={x1,x2,x3,...,xn}D = \{ x_1, x_2, x_3,...,x_{n} \}
  3. 通過最大似然公式求解

2、最大後驗估計(MAP)

Maximum A Posteriori Estimation

在最大似然估計的例子中,如果樣本數量不夠多,其實存在着很大的問題

MLE簡單又客觀,但是過分的客觀有時會導致過擬合(Over fitting)。在樣本點很少的情況下,MLE的效果並不好

一個最簡單的例子就是,一個伯努利模型,我們知道通過最大似然估計得到的先驗值爲 1Ni=1Nxi\frac{1}{N}\sum_{i=1}^{N}{x_i} ,那如果實驗過程中,全部出現1或者0,那麼估計出的參數顯然是不對的

最大似然估計認爲使似然函數 P(Dθ)P(D|θ) 最大的參數 θθ 即爲最好的 θθ ;最大後驗估計認爲使 P(Xθ)P(θ)P(X|θ)P(θ) 最大的參數 θθ 即爲最好的 θθ ;最大似然估計可以看作是一種特殊的最大後驗估計,將 θ\theta 看作是固定的, P(θ)=1P(\theta)=1

最大後驗概率估計的公式表示:(P(D)是一個常數,與 θ\theta 無關)
argmaxθP(θD)=argmaxθP(Dθ)P(θ)P(D)argmaxθP(Dθ)P(θ) \underset{\theta}{\operatorname{argmax}} P(\theta|D)=\underset{\theta}{\operatorname{argmax}} \frac{P(D|\theta) P(\theta)}{P(D)} \propto \underset{\theta}{\operatorname{argmax}} P(D|\theta) P(\theta)

推導

要求解MAP,還需要知道參數的先驗分佈,

正態分佈

我們假設高斯分佈方差已知,現在要估計均值,將均值記爲 θ\theta

每一個樣本的概率可以表示爲 P(xθ)=12πσexp((xθ)22σ2)P(x|\theta )=\frac{1}{\sqrt{2 \pi} \sigma}\exp(-\frac{(x-\theta)^{2}}{2 \sigma^{2}})

我們假設 θ\theta 服從高斯分佈,θN(μ0,σ02)\theta \sim N(\mu_0,\sigma^2_0) 則:P(θ)=12πσ0exp((θμ0)22σ02)P(\theta) = \frac{1}{\sqrt{2 \pi} \sigma_0} exp({-\frac{(\theta-\mu_0)^{2}}{2 \sigma^{2}_0}})
argmaxθP(Dθ)P(θ)=argmaxθlogP(Dθ)+logP(θ)=argmaxθ[n2log2πnlogσi=1n(xiθ)22σ2]12log2πlogσ0(θμ0)22σ02 \begin{aligned}\underset{\theta}{\operatorname{argmax}} P(D|\theta) P(\theta) &=\underset{\theta}{\operatorname{argmax}} log{P(D|\theta)}+logP(\theta) \\&=\underset{\theta}{\operatorname{argmax}} [-\frac{n}{2}log{2\pi}-nlog{\sigma}-\frac{\sum_{i=1}^{n}(x_i-\theta)^2}{2\sigma^2}]-\frac{1}{2}log{2\pi}-log{\sigma_0}-\frac{(\theta-\mu_0)^2}{2\sigma_0^2} \end{aligned}
求解上式得到 θ=σ02i=1nxiσ2μ0σ02nσ2\theta = \frac{\sigma_0^2 \sum_{i=1}^{n} x_{i} - \sigma^2\mu_0}{\sigma_0^2 n -\sigma^2}

例子

問:我們還是用開頭的例子,路人甲在一個不透明的袋裏放了若干個黑色和白色的球,他感覺白色球更多;路人乙想知道袋中球的情況,就從袋中有放回式取球,一共取了10次,有7次是白球,3次是黑球。問白球的比例是多少?

答:在這個例子中,每一次實驗都是服從伯努利分佈,我們設白球的概率爲 θ\theta ,所以每一次實驗可以表示爲: P(xiθ)=θxi(1θ)1xiP(x_i|\theta)=\theta^{x_i}(1-\theta)^{1-x_i} 。樣本爲 D={x1,x2,...,x10}D = \{ x_1, x_2,...,x_{10} \} 。我們還知道路人甲的感覺是白色球更多,我們需要給出一個 θ\theta 的分佈,假設 P(θ)=2θP(\theta) = 2\theta

寫出後驗概率函數:P(Dθ)P(θ)=i=110p(xiθ)×2θ=2θ8(1θ)3P(D|\theta)P(\theta) = \prod_{i=1}^{10} p(x_i|\theta) × 2\theta=2{\theta}^{8}(1-\theta)^{3}

求出上面後驗概率最大時的 θ\theta 值(先取對數),得到 θ=0.73\theta = 0.73

當樣本個數無窮多的時候,MAP上會逼近MLE,因爲樣本足夠多了,就不需要先驗了,或者比起先驗更相信樣本

3、貝葉斯估計

最大似然估計和最大後驗估計都是估計了參數的具體值,但更令人信服的其實是參數的分佈,知道參數在取每個值時的概率。

與最大後驗估計一樣,需要用到貝葉斯定理:
P(θD)=P(Dθ)P(θ)ΘP(Dθ)P(θ)dθ P(\theta | D)=\frac{P(D | \theta) P(\theta)}{\int_{\Theta} P(D | \theta) P(\theta) d \theta}
同樣的我們需要知道先驗分佈 P(θ)P(\theta) ,但此時不再求 argmaxθP(θD)\underset{\theta}{\operatorname{argmax}}P(\theta|D) ,而要求出 P(θD)P(\theta|D) 。這裏如果先驗分佈十分複雜,上式會很難求解(因爲要分母積分),所以一般會選擇共軛先驗。

最大後驗估計和貝葉斯估計也存在一個問題,實際應用場景中的先驗概率不是那麼好求,很多都是拍腦袋決定的。一旦是拍腦袋決定的,自然也就不準了,先驗概率不準,那麼計算出的後驗概率也就相應的不準了。

貝葉斯估計用來預測新測量數據的概率,對於新出現的數據 xx :
P(xD)=ΘP(xθ)P(θD)dθ=ΘP(xθ)P(Dθ)P(θ)P(D)dθ P({x} | D)=\int_{\Theta} P({x} | \theta) P(\theta | D) d \theta=\int_{\Theta} P({x} | \theta) \frac{P(D | \theta) P(\theta)}{P(D)} d \theta

例子

問:我們還是用開頭的例子,路人甲在一個不透明的袋裏放了若干個黑色和白色的球,他感覺白色球更多;路人乙想知道袋中球的情況,就從袋中有放回式取球,一共取了10次,有7次是白球,3次是黑球。問白球的比例是多少?

答:在這個例子中,每一次實驗都是服從伯努利分佈,我們設白球的概率爲 θ\theta ,所以每一次實驗可以表示爲: P(xiθ)=θxi(1θ)1xiP(x_i|\theta)=\theta^{x_i}(1-\theta)^{1-x_i} 。樣本爲 D={x1,x2,...,x10}D = \{ x_1, x_2,...,x_{10} \} 。我們還知道路人甲的感覺是白色球更多,我們需要給出一個 θ\theta 的分佈,假設 θBeta(α,β)\theta \sim \operatorname{Beta}(\alpha, \beta)
f(θ;α,β)=θα1(1θ)β101uα1(1u)β1du=1B(α,β)θα1(1θ)β1 f(\theta ; \alpha, \beta)= \frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{\int_{0}^{1} u^{\alpha-1}(1-u)^{\beta-1} d u} = \frac{1}{B(\alpha, \beta)} \theta^{\alpha-1}(1-\theta)^{\beta-1}
寫出後驗概率函數:
P(θD)=P(Dθ)P(θ)ΘP(Dθ)P(θ)dθ=θ7(1θ)3θα1(1θ)β1B(α,β)Θθ7(1θ)3θα1(1θ)β1B(α,β)dθ=θα+71(1θ)β+31Θθα+71(1θ)β+31dθ=θα+6(1θ)β+2B(α+6,β+2)=Beta(θα+6,β+2) \begin{aligned} P(\theta | D) &=\frac{P(D | \theta) P(\theta)}{\int_{\Theta} P(D | \theta) P(\theta) d \theta} \\ &=\frac{\theta^{7}(1-\theta)^{3} \frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{B(\alpha, \beta)}}{\int_{\Theta} \theta^{7}(1-\theta)^{3} \frac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{B(\alpha, \beta)}d \theta} \\ &=\frac{\theta^{\alpha+7-1}(1-\theta)^{\beta+3-1}}{\int_{\Theta} \theta^{\alpha+7-1}(1-\theta)^{\beta+3-1} d \theta} \\ &=\frac{\theta^{\alpha+6}(1-\theta)^{\beta+2}}{B(\alpha+6, \beta+2)} \\ &=\operatorname{Beta}(\theta | \alpha+6, \beta+2) \end{aligned}
所以我們得到了參數的後驗分佈情況,得到 θBeta(α+6,β+2)\theta \sim \operatorname{Beta}(\alpha+6, \beta+2)

計算步驟

1、計算後驗概率 P(θD)P(\theta|D)

根據貝葉斯定理:
P(θD)=P(Dθ)P(θ)ΘP(Dθ)P(θ)dθ P(\theta | D)=\frac{P(D | \theta) P(\theta)}{\int_{\Theta} P(D | \theta) P(\theta) d \theta}
2、計算新樣本的估計
P(xD)=ΘP(xθ)P(θD)dθ P(x|D) = \int_{\Theta} P(x | \theta) P(\theta | D) d \theta

總結

MLE、MAP是選擇相對最好的一個模型, 貝葉斯方法則是通過觀測數據來估計後驗分佈,並通過後驗分佈做羣體決策,所以後者的目標並不是在去選擇某一個最好的模型,而是去評估每一個模型的好壞。

知識點

  • 概率是已知參數,對結果可能性的預測。似然是已知結果,對參數是某個值的可能性預測

  • 二項分佈參數的共軛先驗是Beta分佈,多項式分佈參數的共軛先驗是Dirichlet分佈,指數分佈參數的共軛先驗是Gamma分佈,⾼斯分佈均值的共軛先驗是另⼀個⾼斯分佈,泊松分佈的共軛先驗是Gamma分佈。

  • 共軛先驗:指後驗分佈與先驗分佈具有相同的數學形式,因爲這樣可以簡化計算

參考

葉斯估計、最大似然估計、最大後驗估計三者的區別

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

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