轉載請註明出處http://blog.csdn.net/luoshixian099/article/details/51028244
1.概率生成模型
首先介紹生成模型的概念,然後逐步介紹採用生成模型的步驟。
1.1概念
即對每一種類別
Ck 分別建立一種數據模型p(x|Ck) ,把待分類數據x分別帶入每種模型中,計算後驗概率p(Ck|x) ,選擇最大的後驗概率對應的類別。
假設原始數據樣本有K類,生成學習算法是通過對原始數據類
二分類的情況:(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,我們首先假設給定具體類條件下數據密度函數
二維高斯分佈,相同方差,不同期望的三個圖形。
- 二分類情況K=2
把多維高斯分佈公式帶入上述對應的貝葉斯公式得:
注意到sigmoid函數參數是關於數據x的線性函數
下圖是2維數據的高斯分佈圖形:
- 多分類的情況K>2
多維高斯分佈函數帶入softmax函數得:
注意:αk(x) 也是關於樣本數據x的線性函數
實際上,無論是連續型數據還是下面將要介紹的離散型數據(樸素貝葉斯分類),只要假設的分佈屬於指數簇函數,都有廣義線性模型的結論。
K=2時爲sigmoid函數:參數
λ 爲模型的固有參數
K>2時爲softmax函數:
1.3模型參數的求解
在假設了數據類密度函數
考慮二分類的情況:樣本數據爲
釋然函數:
分別求偏導數並令爲0,得:
2.樸素貝葉斯分類器(NBC)
2.1概念
樸素貝葉斯分類器是生成學習算法的一種。考慮一個樣本
條件類概率
- 當樣本數據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詞向量,
定義:
釋然函數:
最大釋然估計得:
訓練出模型後,對待分類樣本根據貝葉斯定理,計算每種類別的後驗概率,選擇最大的後驗概率類別:
2.3拉普拉斯平滑
在對文本分類的情況下,假如我們訓練分類器採用的訓練文本所有
爲了解決這種情況,可以模型參數的分子加上1,同時保持和爲1,,稱爲拉普拉斯平滑。
參考:PRML&&MLAPP