【機器學習詳解】概率生成模型與樸素貝葉斯分類器

轉載請註明出處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) ,取最大可能的類別。

arg max(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 類,總數爲N1tn=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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章