【机器学习具体解释】概率生成模型与朴素贝叶斯分类器
轉載請注明出處http://blog.csdn.net/luoshixian099/article/details/51028244
1.概率生成模型
首先介紹生成模型的概念,然后逐步介紹採用生成模型的步驟。
1.1概念
即對每一種類別Ck分別建立一種數據模型p(x|Ck)。把待分類數據x分別帶入每種模型中,計算后驗概率p(Ck|x),選擇最大的后驗概率相應的類別。
如果原始數據樣本有K類,生成學習算法是通過對原始數據類p(x|Ck)與p(Ck)建立數據類模型后,採用貝葉斯定理從而得出后驗概率p(Ck|x)。對待分類樣本x分別計算屬于每一個類別的后驗概率p(Ck|x),取最大可能的類別。argmax(k)=p(Ck|x)=p(x,Ck)p(x)=p(x|Ck)p(Ck)∑jp(x|Cj)p(Cj)
二分類的情況:(K=2)
p(C1|x)=p(x,C1)p(x)=p(x|C1)p(C1)p(x|C1)p(C1)+p(x|C2)p(C2)=11+exp(?α)=σ(α)當中α=lnp(x|C1)p(C1)p(x|C2)p(C2);函數σ(α)=11+exp(?α)稱為sigmoid函數。
多類的情況:(K>2)
多分類的情況,是二分類的擴展,稱為softmax函數。同樣採用貝葉斯定理:p(Ck|x)=p(x|Ck)p(Ck)∑jp(x|Cj)p(Cj)=exp(αk)∑jexp(αj)
當中αk=lnp(x|Ck)p(Ck)。
1.2高斯分布如果
對于連續變量x,我們首先如果給定詳細類條件下數據密度函數p(x|Ck)分布服從多維高斯分布。同一時候全部類別p(x|Ck)具有同樣的協方差矩陣∑:
二維高斯分布。同樣方差,不同期望的三個圖形。
二分類情況K=2
把多維高斯分布公式帶入上述相應的貝葉斯公式得:
注意到sigmoid函數參數是關于數據x的線性函數
下圖是2維數據的高斯分布圖形:
多分類的情況K>2
多維高斯分布函數帶入softmax函數得:
注意:αk(x)也是關于樣本數據x的線性函數
實際上,不管是連續型數據還是以下將要介紹的離散型數據(樸素貝葉斯分類),僅僅要如果的分布屬于指數簇函數,都有廣義線性模型的結論。
K=2時為sigmoid函數:參數λ為模型的固有參數
K>2時為softmax函數:
1.3模型參數的求解
在如果了數據類密度函數p(x|Ck)的情況下,以下須要對模型的參數進行求解。
比如,上述如果了數據為高斯分布,須要計算先驗概率p(Ck)及參數μk,∑ .我們採用最大化釋然函數的方法求解:
考慮二分類的情況:樣本數據為(xn,tn)。樣本總量為N,tn=1屬于C1類,總數為N1;tn=0屬于C2類,總數為N2.如果先驗概率p(C1)=π;則p(C2)=1?π
釋然函數:
分別求偏導數并令為0,得:
2.樸素貝葉斯分類器(NBC)
2.1概念
樸素貝葉斯分類器是生成學習算法的一種。考慮一個樣本x=(x1,x2,x3...xD),有D個特征,每一個特征xi取值為有限的離散值,這時須要對p(x|y)建立模型。樸素貝葉斯算法做了一種非常強的如果:即給定類別y=c的情況下。每種特征之間相互獨立,即有p(x1|y,x2)=p(x1|y);p(x1,x2|y)=p(x1|y)p(x2|y)所以有:
條件類概率p(x|y)可依據數據類型建立不同的形式:
當樣本數據x取實數值為時,採用高斯分布:p(x|y=c,θ)=∏Dj=1N(xj|μjc,σ2jc)
當每種特征xj∈{0,1}時,採用伯努利分布p(x|y=c,θ)=∏Dj=1Ber(xj|μjc)
當每種特征取值xj∈{1,2,3,...,K},能夠採用multinoulli distribution:p(x|y=c,θ)=∏Dj=1Cat(xj|μjc)
2.2文本分類
樸素貝葉斯盡管做了非常強的特征獨立性如果,卻對在文本分類的情況效果非常好。
首先收集全部樣本數據中出現過的詞,建立一個有序字典,長度為D。對待分類文本x依據字典建立一個長度為D詞向量,x=(x1,x2,x3,....,xD),每種特征xj∈{0,1}。即xj=1表示字典中第j個詞在此文本中出現過;反之,xj=0表示字典中第j個詞沒有在文本中出現過,採用伯努利分布p(x,y)=p(y)p(x|y)=p(y)∏Dj=1Ber(xj|μjc)。
定義:?i|y=0=p(xi=1|yi=0),?i|y=1=p(xi=1|yi=1),?y=p(y=1)
釋然函數:
最大釋然預計得:
訓練出模型后,對待分類樣本依據貝葉斯定理。計算每種類別的后驗概率,選擇最大的后驗概率類別:
2.3拉普拉斯平滑
在對文本分類的情況下,假如我們訓練分類器採用的訓練文本全部xj都為0時。這時模型參數?j|y=0=0,?j|y=1=0。這時如果須要對待一個文本x分類且xj=1,依據上述樸素貝葉斯方法,得到每種后驗概率都為0,即p(y=1|x)=0,P(y=0|x)=0。這是因為上述乘法的緣故,根本原因是?j|y=0=0,?j|y=1=0。因為樣本量有限,預測某個事件的發生概率為0,也是不準確的。
為了解決這樣的情況。能夠模型參數的分子加上1,同一時候保持和為1。,稱為拉普拉斯平滑。
參考:PRML&&MLAPP
總結
以上是生活随笔為你收集整理的【机器学习具体解释】概率生成模型与朴素贝叶斯分类器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 毛概 第二章新民主主义革命理论
- 下一篇: web图片类型