貝葉斯決策論
在所有相關概率都已知的情況下,貝葉斯決策論考慮如何基於這些概率和誤判損失來選擇最優的類別標記。
假設有N種可能的類別標記,即Y={c1,c2,...,cN},λij 是將一個真實標記爲cj 的樣本誤分類爲ci 所產生的損失。基於後驗概率P(ci|x) 可獲得樣本x 分類爲ci 所產生的期望損失,即在樣本x 上的“條件風險”(在決策論中將期望損失稱爲風險):
R(ci|x)=∑j=1NλijP(cj|x)
我們的任務是尋找一個判定準則
h:χ→Y以最小化總體風險
R(h)=Ex[R(hx)|x]
顯然,對每個樣本
x ,若h能最小化條件風險
R(h(x)|x) ,則總體風險
R(h) 也將被最小化。這就產生了貝葉斯判定準則:爲最小化總體風險,只需在每個樣本上選擇那個使條件風險
R(c|x) 最小的類別標記:
h∗(x)=argminc∈YR(c|x)
此時,
h∗ 稱爲貝葉斯最優分類器,與之對應的總體風險
R(h∗) 稱之爲貝葉斯風險,
1−R(h∗) 反映了分類器所能達到的最好性能,即通過機器學習所能產生的模型精度的理論上限。
若木表是最小化分類錯誤率,則
λij 可寫爲:
λij={01ifi=jotherwise
此時條件風險:
R(c|x)=1−P(c|x)
於是,最小化分類錯誤率的貝葉斯最優分類器爲:
h∗(x)=argmaxc∈YP(c|x)
對每個樣本
x ,選擇能使後驗概率
P(c|x) 最大的類別標記。
想要使用貝葉斯判定準則來最小化決策風險,首先要獲得後驗概率P(c|x) ,這通常難以直接獲得。從這個角度出發,機器學習所要實現的是基於有限的訓練樣本集儘可能準確地估計出後驗概率P(c|x) 。事實上,很多機器學習方法無須準確估計後驗概率就能準確進行分類。
大體來說,主要有兩種策略:1.給定x,通過直接建模P(c|x) 來預測c ,這屬於“判別式模型”;也可先對聯合概率分佈P(c,x) 建模,然後再獲得P(c|x) ,這屬於“生成式模型”。對於後者,必然考慮:
P(c|x)=P(c)P(x|c)P(x)
類先驗概率
P(c) 對所有類別標記均相同,可通過各類樣本出現的頻率進行估計。
類條件概率P(x|c) 亦稱之爲”似然”,由於涉及x所有屬性的聯合分佈,直接根據樣本出現的頻率進行估計將會遇到嚴重的困難。假設樣本的d 個屬性都是二值的,則樣本空間將有2d 中可能性,很多取值在訓練集中可能根本就沒有出現,直接使用頻率估計P(x|c) 顯然不可行,因爲“未被觀測到”與“出現概率爲零”是不同的。
極大似然估計
概念理解:一般來說,時間A 發生的概率與某一未知的參數θ 有關,θ 取值不同,則事件A 發生的概率P(A|θ) 也不相同,當我們在一次試驗中事件A 發生了,則認爲此時的θ 值應是其一切可能取值中使得P(A|θ) 達到最大的那一個值,極大似然估計就是要找出這樣的值作爲參數θ 的估計值,從而使得所選取的樣本在數據集中出現的可能性最大。
最大似然估計是常用的參數估計方法之一,即已知某個隨機樣本滿足某種概率分佈,但是具體的參數未知,參數估計就是通過若干次實驗通過其結果推測參數的大概值。
估計類條件概率的一種常用策略是:先假定類條件概率具有某種確定的概率分佈形式,再基於訓練數據集對概率分佈的參數進行估計。具體地,即關於類別c的類條件概率爲P(x|c) ,假設P(x|c) 具有確實的形式並且被參數向量θc 唯一確定,則我們的任務就是利用訓練集D 估計參數θc 。將P(x|c) 記爲P(x|θc) 。
事實上,概率模型的訓練過程就是參數估計的過程。統計學派認爲參數雖未知,但是客觀存在的固定值,因此可通過優化似然函數來確定參數值;貝葉斯學派認爲,參數也可能具有某種分佈,可假設參數服從一個先驗分佈,然後基於觀測到的數據來計算參數的後驗概率。極大似然估計屬於前者。
令Dc 表示訓練集D 中第c 類樣本組成的集合,假設這些樣本是獨立同分布的,則參數θc 對於數據集Dc 的似然:
P(Dc|θc)=∏x∈DcP(x|Dc)
對
θc 進行極大似然估計就是尋找能使最大化似然
P(Dc|θc) 的參數
θ^c 。直觀上看,極大似然估計是試圖在
θc 所有可能的取值中找到一個能使數據出現的“可能性”最大的值。
對以上的連乘操作易造成下溢,通常使用對數似然:
LL(θc)=logP(Dc|θc)=∑x∈DclogP(x|θc)
此時參數的最大化似然估計
θ^c 爲:
θ^c=argmaxθcLL(θc)
樸素貝葉斯分類器
基於貝葉斯公式估計後驗概率P(c|x) 的主要困難在於:類條件概率P(x|c) 是所有屬性上的聯合概率,難以從有限的數據集或者訓練樣本中直接估計而得。爲避開這個障礙,樸素貝葉斯分類器採用了“屬性條件獨立性假設”:對已知的類別,假設屬性相互獨立,即每個屬性獨立的對分類結果產生影響。
由屬性條件獨立性假設可得:
P(c|x)=P(c)P(x|c)P(x)=P(c)P(x)∏i=1dP(xi|c)
對於所有的類別來說,
P(x) 相同,因此:
hnb(x)=argmaxc∈YP(c)∏i=1dP(xi|c)
這就是樸素貝葉斯分類器的思想。
基於訓練數據集估計類先驗概率P(c) ,併爲每一屬性估計條件概率P(xi|c) 。
P(c)=|Dc||D|
如果屬性是離散的:
P(xi|c)=|Dc,xi||Dc|
如果屬性是連續的,可以考慮密度函數,假設
p(xi|c)∼N(μc,i,σ2c,i)
其中
μc,i 和
σ2c,i 分別是第
c 類樣本在第
i 個屬性上取值的均值和方差,則有:
p(xi|c)=12π−−√σc,iexp⎛⎝−(xi−μc,i)22σ2c,i⎞⎠
聲明:本文內容引自周志華老師《機器學習》。