統計學習方法-樸素貝葉斯法
先提出以下問題:
- 樸素貝葉斯法、貝葉斯公式、貝葉斯估計分別是什麼?
- 貝葉斯公式的物理意義什麼?
- 貝葉斯網絡是什麼?
樸素貝葉斯法
樸素貝葉斯法 = 貝葉斯定理 + 特徵條件獨立.
輸入X∈Rn空間是n維向量集合,輸出空間y={c1,c2,...,cK}. 所有的X和y都是對應空間上的隨機變量. P(X,Y)是X和Y的聯合概率分別. 訓練數據集(由P(X,Y)獨立同分布產生):
T={(x1,y1),(x2,y2),...,(xN,yN)}
假設我們有這樣的數據集怎麼進行樸素貝葉斯算法學習呢?我們知道樸素貝葉斯法主要有兩個條件組成,我們先看第一個貝葉斯定理:
- 我們之前學到過的公式:
P(a∣b)=P(b)P(a,b)=∑a∈AP(b∣a)P(a)P(b∣a)P(a)(1)
- 公式1是我們之前學到過的,下面我們基於機器學習法訓練數據做一個變化:
P(Y=ck∣X=x)=∑kP(X=x∣Y=ck)P(Y=ck)P(X=x∣Y=ck)P(Y=ck)(2)
從公式2中我們已經看到了"後驗概率最大化",對於上述的P(Y=ck∣X=x)我們一般這樣解釋,當給定(X=x)的條件下,Y=ck的概率,這就是條件概率. 這就簡單了,我們只需要對於位置的x,計算其對應的ck,k∈[1,2,...,K]的概率,選擇最大的概率作爲這個x的類別進行了.
現在我們只要一定可以找到最好的結果了,這就開心了,下面就是怎麼計算,路通了,怎麼走就很簡單了. 我們再看公式(2), 因爲我們的x是向量形式,那麼條件概率是:
P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)∣Y=ck),k=1,2,..,K(3)
從公式3中,我們看到這裏有"無數"的參數,很難進行直接估計計算,還記得我們提到的另外一個條件就是條件獨立性的假設. 這裏假設在給定Y=ck的條件下,X的每一個特徵維度是獨立,而且這還是一個很強的假設. 因此我們有:
P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)∣Y=ck)=j=1∏nP(X(j)=x(j)∣Y=ck)(4)
我們將公式4帶入公式2中,而且我們是比大小,並且分母是一樣的,於是就得到了公式(5):
y=argmaxckP(Y=ck)j∏P(X(j)=x(j)∣Y=ck)(5)
從公式(5)中,我們只需要計算出,P(X(j)=x(j)∣Y=ck)和P(Y=ck)兩個參數就行了.接下來就是基於數據進行參數計算,這就是貝葉斯法的參數估計.
參數估計
一般使用極大似然估計法進行相應的概率估計. 先驗概率P(Y=ck)的極大似然估計是:
P(Y=ck)=N∑i=1NI(yi=ck),k=1,2,...,K(6)
我們先設第j個特徵x(j)可能取值集合爲{aj1,aj2,...,ajsj,},條件概率的極大似然估計是:
P(X(j)=x(j)∣Y=ck)=∑i=1NI(yi=ck)∑i=1NI(xij=ajl,yi=ck)(7)
j=1,2,...,n;l=1,2,..,Sj;k=1,2,...K
我們可以看到,基於數據估計的參數,將公式6和7帶入公式5就得到了樸素貝葉斯分類器,本來我們是應該結束了,但是如何先驗概率和條件概率,任何一個爲0的話,整個估計的乘積就都是0了. 所有我們需要防止這個情況出現,就出現了貝葉斯估計.
貝葉斯估計
由於用極大似然進行估計的值,可能出現概率值爲0的情況. 這才提出了使用貝葉斯估計,先驗概率和條件概率分別對應的公式就是:
P(Y=ck)=N+Kλ∑i=1NI(yi=ck)+λ,k=1,2,...,K(8)
P(X(j)=x(j)∣Y=ck)=∑i=1NI(yi=ck)+Sjλ∑i=1NI(xij=ajl,yi=ck)+λ(9)
我們可以看出就是對每一個變量的多加了一個頻數λ≥0. 當λ=0時,就是極大似然估計. 通常取值λ=1,這就是拉普拉斯平滑(Laplace smoothing). 顯然這樣的話所有的估計值都是正數,而且不會改變之前的序關係.
回顧
- 樸素貝葉斯法就是我們提到的這個分類器模型
- 貝葉斯定理就是我們使用到公式(2)
- 貝葉斯估計,就是防止出現0值的,參數估計法
- 貝葉斯網絡,就是輸入變量之間存在概率依存關係,這是就是貝葉斯網絡
再看貝葉斯公式, 它的目的是什麼先驗估計後驗,並儘可能使後驗最大化. 先驗概率固定的時候,只能通過條件概率的值來改變後驗概率. 看公式(10)和下圖直接給出先驗和後驗的關係:
P(Y=ck∣X=x)=P(X=x∣Y=ck)P(Y=ck)(10)
先驗和後驗關係圖
總結
樸素貝葉斯法簡單好用,計算量小,文本分類經常使用. 而且是貝葉斯網絡的基礎,還有就是強大的貝葉斯定理,它可以解釋任何的機器學習的程度(可能是一句玩笑,哈哈).
注: 生活如此,問題不大. 喵~