在分類模型中,我們常常以聯合概率P(X,ω) 或者後驗概率P(ω|X) 建模,X={x1,x2,…,xd}表示一個d維向量,ω=ω1,ω2,…,ωk表示類別。 其中,
P(X,ω)=P(X|ω)⋅P(ω)
P(ω|X)=P(X|ω)⋅P(ω)P(X)
進行轉換後,都出現了先驗概率
P(ω) 和類條件概率
P(X|ω) 。先驗概率可以通過對樣本數據進行統計得出,而類條件概率直接統計則不是那麼容易得出,原因有兩個:1)已有訓練樣本量總是顯得太少,比如在垃圾郵件分類中,一個詞向量
x={拍賣,惠購,不容錯過,商場,大降價} ,可以看出包含該詞向量的文檔很有可能是一封垃圾郵件,但很有可能在我們統計了1000封垃圾郵件後偏偏沒有出現該詞向量的組合,造成估計錯誤;2)當特徵向量維度d較大的時候,直接會帶來計算量上的問題。例如d=100的時候,我們在統計需要對每個樣本的100個維度比較統計,計算量非常大。
考慮上面的問題,在實際中我們是通過在先驗知識的幫助下估計條件概率服從的概率分佈參數來解決問題的。例如根據先驗知識,條件概率P(X|ωi) 服從正態分佈N(μi,Σi) ,參數未知。我們可以將參數μi,Σi 估計出來,從而條件概率分佈可以確定,進而條件概率值可以求出。
在對參數進行估計時,主要有兩種思想,一個是認爲參數一個未知的確定量,即該參數是確定的,只是值是多少我們還未知;一個是認爲參數也是一個隨機變量,並服從某種先驗概率分佈,我們需要根據先驗與樣本學習到參數關於樣本的後驗概率分佈,進而求得類條件概率。
根據第一種思想來進行參數估計的方法主要是最大似然估計和最大後驗估計。
1、 最大似然估計
首先來說最大似然估計,即通過最大化似然函數來求得參數值。以條件概率P(X|ω) 服從單個參數θ 的分佈爲例,每個ωi 對應一個θi ,求P(X|ωi)即等價於P(X|θi) ,參數估計值爲:
θ^ML=argmax∑i=1nlogp(xi|θ)
2、最大後驗估計
最大後驗估計與最大似然估計相似,但以最大化後驗概率
P(θ|X) 爲目標,形式如下:
θ^MAP=argmaxP(θ|X)=argmaxP(X|θ)⋅P(θ)P(X)=argmaxP(X|θ)⋅P(θ)=argmax{∑i=1nlogP(xi|θ)+logP(θ)}
可以看出,與最大似然估計相比,在形式上增加了參數的先驗概率
P(θ)
它不僅表示了先驗知識,還能夠作爲正則化項來防止過擬合。值得了解的是,增加的先驗有點像貝葉斯方法,它有自己的一個超參數來控制
P(θ) 取值的可信度,但
P(θ) 仍是作爲未知的確定量來處理。
3、貝葉斯估計
按照前面講的估計參數的第二種思想,使用的方法是貝葉斯估計方法,它是對最大後驗方法的擴展,將參數作爲一種變量的概率分佈來考慮。與最大後驗估計相比,它還增加了參數估計的方差信息,用來衡量估計值的置信度。
貝葉斯參數估計的一些基本的假設如下:
1)條件概率密度函數P(X|θ) 是完全已知的,但參數向量θ 的具體值未知;
2)參數向量θ 的先驗概率密度函數P(θ) 包含了我們對θ 的全部先驗知識;
3)其餘的關於參數向量θ 的信息包含在樣本X中,這些樣本都服從未知的概率密度函數P(X) 。
首先通過貝葉斯公式將後驗表示成類條件概率與先驗的乘積。考慮類條件概率P(X|ωi),i=1,2,…,k ,每個類別ωi對應一個樣本集Di ,我們需要對每一個類都進行估計,爲了方便,我們記ω,D 爲具體一個類別及對應的樣本集,目標變爲估計P(X|D) ,考慮參數θ ,
P(X|D)=∫P(X|θ)⋅P(θ|D)dθ⋯式1
P(X|D) 依賴於
P(θ|D) ,如果
P(θ|D) 在某個值
θ^ 附近有非常顯著的尖峯,區間可以近似成一個點,則
P(X|D)≈P(X|θ^) 。即通過樣本D學習出參數
θ 最可能取的值,
P(X|D) 有該值決定。
根據先驗知識,P(X|θ) 的分佈形式已知,P(θ) 的概率分佈已知,有如下公式:
P(θ|D)=P(D|θ)⋅P(θ)∫P(D|θ)⋅P(θ)dθ⋯式2
P(D|θ)=∏k=1nP(xk|θ)⋯式3
式2和式3闡明瞭貝葉斯估計與最大似然估計的關係,式2的形式與最大後驗估計形式一致,但此處的先驗
P(θ) 爲概率密度函數,最大後驗的
P(θ) 爲一確定量。
貝葉斯估計與最大似然估計相比,增加了考慮問題的維度,故方法複雜性是增加了,但估計參數更加精細可控了。最大似然估計的結果只有參數可能取值,而無其他信息,而貝葉斯估計的結果是參數的後驗概率分佈
P(θ|D) ,可以獲得額外的信息,如若
P(θ|D)滿足正態分布N(μ,σ2),其中μ爲估計參數,方差σ 表示參數估計的置信度。隨着樣本量的增加,方差會越來越小,概率分佈會越來越尖,估計值與真實值也越來越接近。