天天看點

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

有監督參數估計是指已知分類器結構或函數形式,從訓練樣本中估計參數。

本文主要介紹貝葉斯決策(詳見貝葉斯決策的過程)條件機率密度的有監督參數估計過程。方法有最大似然估計和貝葉斯參數估計法。

最大似然估計

假設參數為确定值,根據似然度最大進行最優估計。

給定資料 D 1 , D 2 . . . D c D_1,D_2...D_c D1​,D2​...Dc​表示不同類别的樣本。假設每類樣本獨立同分布(i.i.d. 萬年不變的假設),用 D i D_i Di​來估計 θ i θ_i θi​,即對每個類求一個判别函數,用該類的樣本來估計判别函數的參數。

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

注意區分特征空間和參數空間。參數估計的任務是得到 p ( x ∣ w i ) p(x|w_i) p(x∣wi​)的形式,是在參數空間進行的。不妨設特征空間為d維,參數空間p維。

為了估計參數,需要如下幾個步驟:

  • 求似然(Likelihood) p ( D ∣ θ ) = ∏ k = 1 n p ( x k ∣ θ ) p(D|θ) =\prod_{k=1}^{n}p(x_k|θ) p(D∣θ)=k=1∏n​p(xk​∣θ)

    注意,上面這個式子針對的已經是具體的類别 w i w_i wi​了,不要問 w w w參數去哪了。另外,這裡的n代表樣本數目,要和前面的類别數目c區分開。這個式子很好了解,即出現我們目前觀測到的樣本機率,求使它最大化的參數即可。

  • 最大化似然 max ⁡ θ p ( D ∣ θ ) → ▽ θ p ( D ∣ θ ) = 0 \max_θp(D|θ)→▽_θp(D|θ)=0 θmax​p(D∣θ)→▽θ​p(D∣θ)=0

    這個梯度是在p維參數空間求解,即 ▽ θ p = [ ∂ ∂ θ 1 . . . . . . ∂ ∂ θ p ] ▽_θp= \begin{bmatrix} \frac{\partial}{\partialθ_1}\\ ...\\ ...\\ \frac{\partial}{\partialθ_p} \end{bmatrix} ▽θ​p=⎣⎢⎢⎡​∂θ1​∂​......∂θp​∂​​⎦⎥⎥⎤​

  • 求解梯度。可求解析解或梯度下降。(常用Log-Likelihood,易求解)
    貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較
    貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

當先驗 P ( θ ) P(\theta) P(θ)都相等時等同于最大後驗機率(MAP)決策。

高斯密度最大似然估計

以貝葉斯決策過程裡給出的高斯密度假設為例,對它進行最大似然參數估計。首先假設 σ \sigma σ已知,對 μ \mu μ進行估計。

單點情況:

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

對于所有樣本:

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

估計值即為觀測樣本均值。

再來看 μ \mu μ和 σ \sigma σ都未知的情況。設資料服從一維高斯分布, θ 1 = μ \theta_1=\mu θ1​=μ, θ 2 = σ 2 \theta_2=\sigma^2 θ2​=σ2:

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

令梯度等于0可求得:

μ ^ = 1 n ∑ k = 1 n x k \hat{μ}=\frac{1}{n}\sum_{k=1}^nx_k μ^​=n1​k=1∑n​xk​

σ ^ 2 = 1 n ∑ k = 1 n ( x k − μ ^ ) 2 \hat{σ}^2=\frac1{n}\sum_{k=1}^n(x_k-\hat{μ})^2 σ^2=n1​k=1∑n​(xk​−μ^​)2

多元情況, θ 2 = Σ \theta_2=\Sigma θ2​=Σ:

μ ^ = 1 n ∑ k = 1 n x k \hat{μ}=\frac{1}{n}\sum_{k=1}^nx_k μ^​=n1​k=1∑n​xk​

Σ ^ = 1 n ∑ k = 1 n ( x k − μ ^ ) ( x k − μ ^ ) T \hat{\Sigma}=\frac1{n}\sum_{k=1}^n(x_k-\hat{μ})(x_k-\hat{μ})^T Σ^=n1​k=1∑n​(xk​−μ^​)(xk​−μ^​)T

估計結果類似無偏估計。

貝葉斯參數估計

參數被視為随機變量,估計其後驗分布

我們先來簡化一下貝葉斯決策的條件機率密度形式。考慮訓練樣本對分類決策的影響,後驗機率可寫作:

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

首先由于先驗機率一般可以事先得到,是以通常不考慮樣本對它的影響。其次,我們使用的是有監督學習,訓練樣本自然都會分到各自所屬的類中。基于這兩點可簡化公式,得到公式一:

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

由此我們需處理的其實是c個獨立的問題,那麼條件機率密度可簡寫成c個 P ( x ∣ D ) P(x|D) P(x∣D),分别對它們進行估計。

下面引出參數分布估計的過程。假定參數形式已知,即已知 p ( x ∣ θ ) p(x|θ) p(x∣θ),為求 p ( x ∣ D ) p(x|D) p(x∣D):

p ( x ∣ D ) = ∫ p ( x , θ ∣ D ) d θ = ∫ p ( x ∣ θ , D ) p ( θ ∣ D ) d θ p(x|D)=\int{p(x,θ|D)}dθ \\ \qquad\qquad \qquad=\int{p(x|θ,D)p(θ|D)dθ} p(x∣D)=∫p(x,θ∣D)dθ=∫p(x∣θ,D)p(θ∣D)dθ

由于測試樣本x(觀測樣本)和訓練樣本D的選取是獨立的,是以可寫成公式二:

p ( x ∣ D ) = ∫ p ( x ∣ θ ) p ( θ ∣ D ) d θ \quad p(x|D)=\int{p(x|θ)p(θ|D)dθ} p(x∣D)=∫p(x∣θ)p(θ∣D)dθ樣本獨立性是《模式分類第二版》裡對這步變換做出的解釋。對這一部分說一下我的了解。按書裡說的x與D互相獨立,那p(x|D)其實直接就可以簡寫成p(x),且 p ( θ ) p(\theta) p(θ)也假定已知(後面會說),直接

p ( x ) = ∫ p ( x ∣ θ ) p ( θ ) d θ \quad p(x)=\int{p(x|θ)p(θ)dθ} p(x)=∫p(x∣θ)p(θ)dθ不就能求了,為什麼非要對條件機率密度引入D呢?

其實這樣做的目的就是為了強行引入 p ( θ ∣ D ) p(\theta|D) p(θ∣D)。别忘了 p ( x ∣ D ) p(x|D) p(x∣D)實際上是 p ( x ∣ ω , D ) p(x|\omega,D) p(x∣ω,D),來自公式一。回顧一下公式一引入D的原因,是盡可能地利用已有的全部資訊來估計後驗機率 p ( ω ∣ x ) p(\omega|x) p(ω∣x),對 p ( x ∣ D ) p(x|D) p(x∣D)也是這樣。即便訓練樣本對觀測值x沒有影響,但我們希望再引入一個受樣本影響的reproducing density p ( θ ∣ D ) p(\theta|D) p(θ∣D),讓它影響類條件機率的分布。其實相當于重新構造了一個先驗,并希望 p ( θ ∣ D ) p(\theta|D) p(θ∣D)在 θ \theta θ的真實值附近有顯著的尖峰(sharp)。通常可以用這個sharp逼近的 θ ^ \hat\theta θ^來替代真實值,有 p ( x ∣ D ) ≈ p ( x ∣ θ ^ ) p(x|D) ≈ p(x|\hat\theta) p(x∣D)≈p(x∣θ^)。如果估計值的置信度不高(用高斯分布來說即方差較大,sharp不明顯。後面會說),也可以按 p ( θ ∣ D ) p(\theta|D) p(θ∣D)對 θ \theta θ進行采樣,帶入 p ( x ∣ θ ) p(x|\theta) p(x∣θ)求平均:

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

總結一下,公式一和公式二是貝葉斯決策和參數估計的兩個核心部分。尤其是公式二,我們希望把 p ( x ∣ D ) p(x|D) p(x∣D)和 p ( θ ∣ D ) p(θ|D) p(θ∣D)聯系起來,那麼已有的訓練樣本就能通過 p ( θ ∣ D ) p(θ|D) p(θ∣D)對 p ( x ∣ D ) p(x|D) p(x∣D)施加影響。至此我們已經把有監督學習問題(原始分類問題)轉換成了一個無監督的機率密度預測問題(估計 p ( θ ∣ D ) p(θ|D) p(θ∣D))。

高斯密度貝葉斯估計

對高斯密度假設進行貝葉斯參數估計。

考慮一維情況。 p ( x ∣ μ ) ∼ N ( μ , σ 2 ) p(x|\mu)\sim N(μ,σ^2) p(x∣μ)∼N(μ,σ2),假設 σ 2 σ^2 σ2已知,為了預測 p ( μ ∣ D ) p(μ|D) p(μ∣D),寫成:

p ( μ ∣ D ) = p ( D ∣ μ ) p ( μ ) ∫ p ( D ∣ μ ) p ( μ ) d μ p(μ|D)=\frac{p(D|μ)p(μ)}{\int{p(D|μ)p(μ)dμ}} p(μ∣D)=∫p(D∣μ)p(μ)dμp(D∣μ)p(μ)​

由于 p ( D ∣ μ ) = ∏ k = 1 n p ( x k ∣ μ ) p(D|\mu)=\prod_{k=1}^np(x_k|μ) p(D∣μ)=∏k=1n​p(xk​∣μ),則

p ( μ ∣ D ) = α ∏ k = 1 n p ( x k ∣ μ ) p ( μ ) p(μ|D)=\alpha\prod_{k=1}^np(x_k|μ)p(μ) p(μ∣D)=αk=1∏n​p(xk​∣μ)p(μ)

α \alpha α是原式分母,作為常數項。

假設 p ( μ ) ∼ N ( μ 0 , σ 0 2 ) p(μ)\sim N(μ_0,σ_0^2) p(μ)∼N(μ0​,σ02​), μ 0 \mu_0 μ0​和 σ 0 2 \sigma_0^2 σ02​已知。可以把 μ 0 \mu_0 μ0​看作對 μ \mu μ的先驗估計, σ 0 2 \sigma_0^2 σ02​看作估計的不确定程度。做正态分布假設隻是為了簡化後面的數學運算。這一步的重點在于在參數估計過程中我們是已知參數先驗機率密度 p ( μ ) p(\mu) p(μ)的。

公式展開:

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

與μ無關的因子都被歸入 α \alpha α中。可見 p ( μ ∣ D ) p(μ|D) p(μ∣D)仍符合高斯分布,對照标準形式 p ( μ ∣ D ) = 1 2 π σ n e x p ( − 1 2 ( μ − μ n ) 2 σ n 2 ) p(μ|D)=\frac{1}{\sqrt{2\pi}σ_n}exp(-\frac{1}{2}\frac{(\mu-μ_n)^2}{σ_n^2}) p(μ∣D)=2π

​σn​1​exp(−21​σn2​(μ−μn​)2​)可得

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

到目前為止,已經把先驗知識 p ( μ ) p(\mu) p(μ)和訓練樣本資訊 μ ^ n \hat\mu_n μ^​n​結合在一起,估計出了後驗機率 p ( μ ∣ D ) p(\mu|D) p(μ∣D)。把結果直覺地寫在一起:

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

在這個結果中, μ n \mu_n μn​表示在觀測到n個樣本後,對參數 μ \mu μ真實值的最好估計, σ n 2 \sigma_n^2 σn2​則代表這個估計的不确定性(前面對先驗假設也是這麼解釋的,了解一下高斯分布對參數估計的理論意義)。 σ n 2 \sigma_n^2 σn2​随着n的增大而減小,即增加訓練樣本後,對 μ \mu μ真實估計的置信度将逐漸提高,呈現一個sharp。這樣的過程稱為貝葉斯學習過程。

将 p ( μ ∣ D ) p(\mu|D) p(μ∣D)代入

p ( x ∣ D ) = ∫ p ( x ∣ μ ) p ( μ ∣ D ) d μ p(x|D)=\int{p(x|μ)p(μ|D)dμ} p(x∣D)=∫p(x∣μ)p(μ∣D)dμ

得出 p ( x ∣ D ) ∼ N ( μ n , σ 2 + σ n 2 ) p(x|D)\sim{N(μ_n,σ^2+σ_n^2)} p(x∣D)∼N(μn​,σ2+σn2​)。是以,根據已知的 p ( x ∣ μ ) ∼ N ( μ , σ 2 ) p(x|μ)\sim{N(μ,σ^2)} p(x∣μ)∼N(μ,σ2),隻要用 μ n μ_n μn​替換μ, σ 2 + σ n 2 σ^2+σ_n^2 σ2+σn2​替換 σ 2 σ^2 σ2即可完成參數估計。

我們觀察到,當n趨于無窮時,貝葉斯參數估計與最大似然效果相同。(當然在實際問題當中樣本往往是有限的,這裡隻是形式化地了解)

總結一下貝葉斯估計的一般過程:

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

最大似然和貝葉斯估計的比較

在上面的例子中,用貝葉斯參數估計與ML分别對條件機率密度 p ( x ∣ ω ) p(x|\omega) p(x∣ω)進行估計,得到的雖然都是高斯分布形式,但這個過程中做的假設是完全不同的。 ML直接假定 p ( x ∣ ω ) p(x|\omega) p(x∣ω)符合高斯分布,根據訓練樣本選取确定的參數 μ ^ \hat\mu μ^​和 σ ^ 2 \hat\sigma^2 σ^2。而貝葉斯估計方法是通過假設已知 p ( x ∣ θ ) p(x|θ) p(x∣θ)和 p ( μ ) p(\mu) p(μ)符合高斯分布,推出 p ( μ ∣ D ) p(\mu|D) p(μ∣D)符合高斯分布, 進而根據公式二推出 p ( x ∣ D ) p(x|D) p(x∣D)符合高斯分布。這個分布的sharp作為估計的均值,随樣本數增加而改變,且确信度逐漸升高。

高斯分布的例子相對來說有點抽象,《模式分類》裡還給了一個簡單的例子,比較好了解,尤其是這幅圖:

貝葉斯決策類條件機率密度估計:最大似然和貝葉斯參數估計最大似然估計貝葉斯參數估計最大似然和貝葉斯估計的比較

非常有助于了解。貝葉斯估計在樣本最大值之外還有一個拖尾,這就是考慮了先驗 p ( θ ) p(\theta) p(θ)的結果,告訴我們在x=10附近,條件機率密度仍可能不為0。(詳見書中例1 遞歸的貝葉斯學習)

總的來說,最大似然估計根據訓練樣本明确估計出最優參數值,而貝葉斯估計目标是求出參數的分布,類似于“參數為0.5的機率為0.8”。雖然在估計時模糊的結果(即近似正确)往往更有用,但貝葉斯估計計算複雜度較高,可了解性較差,是以最大似然估計應用更廣泛。

繼續閱讀