樸素貝葉斯

1.樸素貝葉斯

注:樸素貝葉斯和貝葉斯法不是同一個概念

樸素貝葉斯法是基於樸素貝葉斯定理和條件獨立性假設的方法。對於給定數據集,先基於特徵條件獨立假設學習輸入/輸出的聯合分佈。然後基於這個模型,求出給定的輸入x的後驗概率最大的輸出y。

定義:設輸入空間χRn 爲n維向量的集合,輸出空間爲類標記集合γ = {c1,c2,,ck }。X是定義在輸入空間χ 上的隨機變量,Y是定義在輸出空間γ 上的隨機變量。P(X,Y)是X和Y的聯合概率分佈,訓練數據集T={(x1,y1),(x2,y2),,(xN,yN) }由P(X,Y)獨立同分布產生。

樸素貝葉斯法通過訓練集學習到聯合概率分佈P(X,Y)。想要學習到聯合概率分佈,我們需要先知道先驗概率分佈和條件概率分佈。先驗概率分佈爲

P(Y=ck),k=1,2,,K
條件概率分佈爲
P(X=x|Y=ck)=P(X(1)=x(1),,X(n)=x(n)|Y=ck),k=1,2,,K
於是我們可以得到聯合概率分佈。

樸素貝葉斯法提出了條件獨立性的假設。具體的,條件獨立性假設爲

P(X=x|Y=ck)=P(X(1)=x(1),,X(n)=x(n)|Y=ck)=j=1nP(X(j)=x(j)|Y=ck)
樸素貝葉斯分類時,對於給定的x,通過學習到的模型計算後驗概率分佈P(Y=ck|X=x) ,將後驗概率最大的雷作爲x的類輸出。後驗概率根據貝葉斯定理可以得到:
P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)P(X=x)(P(X=x))=j=1nP(X(j)=x(j)|Y=ck)P(X=x)()

因爲分母都是一樣的,所以
y=argmaxckP(Y=ck)jP(X(j)=x(j)|Y=ck)

2.後驗概率最大化

對於樸素貝葉斯函數,損失函數我們採取0-1損失函數:

(2)L(Y,f(x))={1,Yf(X)0,Y=f(X)

接下來,書中求的是期望風險函數,對於期望風險,指的是對新樣本的預測能力,而期望風險函數,也就是泛化誤差:
Rexp(f)=E[L(Y,f(X)]=L(Y,f(X))P(X,Y)dxdy

我們需要最小化泛化誤差,也就是期望風險函數,:
f(x)=argminL(Y,f(X))P(X,Y)dxdy=argminL(Y,f(X))P(Y|X)P(X)dxdy(使)=argmin(L(Y,f(X))P(Y|X)dy)_P(X)dx

要使上述公式最小,我們需要使得上面下劃線上的公式值最小,也就是使得y關於x的條件期望最小。而且y的取值是離散值,於是我們可以把條件期望寫成如下形式
Rexp=Eχk=1K[L(ck,f(X)))]P(ck|X)
於是我們可以得到:
f(x)=argminyγk=1KL(ck,y)P(ck|X=x)(1)=argminyγk=1KP(yck|X=x)(2)=argminyγ(1P(y=ck|X=x))=argmaxyγP(y=ck|X=x)

對於f(x)來說,我們想找到y屬於某一類,使得所需條件最小化或者所需條件最大化,對於(1)處,是k-1個數相加,因爲y屬於某一類,則必定存在一個c_{k}=y,而且對於所有的k=1,2,…,K。可以得到P(ck|X=x)=1 ,於是我們可以得到(1)到(2)的變化。

貝葉斯估計

採用極大似然估計(本文省略了樸素貝葉斯的參數估計,想了解的看書上內容)會出現概率值爲0的情況,會很大程度影響到後驗概率的計算。解決這一問題的方法是採用貝葉斯估計。具體的,條件概率的貝葉斯估計是

Pλ(X(j)=ajl|Y=ck)=i=1NI(xi(j)=ajl,yi=ck)+λi=1NI(yi=ck)+Sjλ
式子中Xi(j) 是指第i個樣本的第j個特徵;ajl 是第j個特徵的可能取的第l個值,Sj 是指第j個特徵的可能取值數量。先驗概率的貝葉斯估計爲
Pλ(Y=ck)=i=1NI(yi=ck)+λN+Kλ
K是y的類別數量,N是數據集中輸入變量的數量。式子中的λ0 。當λ=0 時是極大似然估計,λ=1 時,是拉普拉斯平滑。在實際工程中,比如計算廣告中計算廣告轉換率時,也會採用貝葉斯平滑,想了解的可以去尋找相關博文或者論文。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章