樸素貝葉斯--(1)

1.條件概率

定義:
設A,B是兩個事件,且P(A)>0,稱
P(B|A)=P(AB)/P(A)
爲在事件A發生的條件下事件B發生的條件概率。
性質:
(1)非負性:P(BA)0P(B|A) \geq 0
(2)規範性:對於必然事件S,有P(SA)=1P(S|A)=1
(3)可列可加性:設B1,B2,...B_1,B_2,...是兩兩互不相容的事件,則有:
在這裏插入圖片描述

例子:
將一枚硬幣拋擲兩次,觀察其出現正方面的情況。設事件A爲“至少有一次爲H”,事件B爲“兩次投擲出同一面”,現在來求已知事件A已經發生的條件下事件B發生的概率。

這裏,樣本空間爲S={HH,HT,TH,TT},A={HHT,HT,TH},B={HH,TT},易知此屬於古典概率問題。
P(B|A)=1/3
在這裏,我們看到P(B)=2/4≠P(B|A)
另外,P(A)=3/4,P(AB)=1/4,P(B|A)=1/3=P(AB)/P(A)

2.引入

公式:
在這裏插入圖片描述

  • P(A|B)是指事件B發生的情況下事件A發生的概率(條件概率).在貝葉斯定理中,每個名詞都有約定俗成的名稱

  • P(A|B)是已知B發生後A的條件概率,也由於得知B的取值而被稱作A的後驗概率;

  • P(A)是A的先驗概率(或邊緣概率).之所以稱爲"先驗"是因爲它不考慮任何B方面的因素;

  • P(B|A)是已知A發生後B的條件概率,也由於得知A的取值而成稱作B的後驗概率;
    P(B)是B的先驗概率(或邊緣概率).

2.1.例子

假設現在有一個裝了7石頭的罐子,其中3塊灰色的,4塊黑色的(如圖所示 )。

在這裏插入圖片描述

—個包含7塊石頭的集合,石頭的顏色爲灰色或者黑色。如果隨機從中取一塊石頭,那麼取到灰色石頭的概率爲3/7。類似地,取到黑色石頭的概率爲4/7。

如果這7塊石頭如圖所示放在兩個桶中,那麼上述概率應該如何計算?

在這裏插入圖片描述
假定計算的是從B桶取到灰色石頭的概率,這個概率可以記作P(gray|bucketB),我們稱之爲“在巳知石頭出自B桶的條件下,取出灰色石頭的概率”。不難得到, P(gray|bucketA)爲值2/4,P(gray|bucketB)的值爲1/3。
條件概率的計算公式如下所示:
P(gray|bucketB)=P(gray and bucketB)/P(bucketB)
解釋:
用B桶的灰色石頭的個數除以兩個桶中總的石頭數,得到P(gray and bucketB)=1/7 。其次,由於B桶中有3塊石頭,而總石頭數爲7,於是P(bucketB)就等於3/7,於是有P (gray|bucketB) = P(gray and bucketB) /P(bucketB)=(1/7) / (3/7) = 1/3。

另一種有效計算條件概率的方法稱爲貝葉斯準則。貝葉斯告訴我們如何交換條件概率中的條件與結果,即如果巳知P(x|c),要求P(c|x),那麼可以使用下面的計算方法:
在這裏插入圖片描述

3.貝葉斯模型

樸素貝葉斯模型假設訓練樣本的各特徵之間相互獨立,這樣的假設稱爲樸素貝葉斯假設(Naive bayes assumption),一般來說,這樣的假設是不成立,的而該分類算法被稱爲樸素貝葉斯分類器(Naive bayes classifier)。

樸素貝葉斯分類器是一種離散特徵值的分類方法,可以進行二分類,也可以進行多值分類。

樸素貝葉斯法實際上學習到生成數據的機制,屬於生成模型。

N個訓練樣本{x(i),y(i)}\{ x^{(i)} ,y^{(i)} \},其中,即分k個類,其中yi{c1,c2,...,ck}y_i \in \{ c_1,c_2,...,c_k \},:第i個樣本的第j個特徵,xj(i){aj1,aj2,...,ajsi}x^{(i)}_j \in\{a_{j1},a_{j2},...,a_{js_i}\}ajia_{ji}是第j個特徵且值爲第個。j=1,2,…,n,。實例x。i表示樣本數,k表示類別數,j表示特徵數,ll表示特徵的特定取值。
X是輸入空間的隨機變量,Y是輸入空間的隨機變量。
計算先驗概率分佈,即類別的概率:
在這裏插入圖片描述
計算特徵在某個類別下的概率,即條件概率分佈:
在這裏插入圖片描述
樸素貝葉斯法對條件概率分佈作出了條件獨立性的假設,那麼上述公式轉爲:
在這裏插入圖片描述
對於給定的輸入x,計算後驗概率P(Y=ckX=x)P(Y=c_k|X=x),由P(AB)=P(BA)P(A)P(B)P(A|B)=\frac{P(B|A)P(A)}{P(B)}和全概率公式得:
在這裏插入圖片描述
所以貝葉斯分類器的公式如下:
在這裏插入圖片描述

由於分母都是相同的,比較分子大小即可:
在這裏插入圖片描述

3.1.算法過程

N個訓練樣本{x(i),y(i)}\{ x^{(i)} ,y^{(i)} \},其中,即分k個類,其中yi{c1,c2,...,ck}y_i \in \{ c_1,c_2,...,c_k \},:第i個樣本的第j個特徵,xj(i){aj1,aj2,...,ajsi}x^{(i)}_j \in\{a_{j1},a_{j2},...,a_{js_i}\}ajia_{ji}是第j個特徵且值爲第個。j=1,2,…,n,。實例x。i表示樣本數,k表示類別數,j表示特徵數,ll表示特徵的特定取值。

輸出:實例x的類別。

(1)計算所有類別的概率:
在這裏插入圖片描述
計算每個特徵屬性的所有劃分的條件概率:
在這裏插入圖片描述

(2)對於給定實例x=(x1,x2,...,xn)x=(x_1,x_2,...,x_n),計算
在這裏插入圖片描述
(3)確定實例x的類別:
在這裏插入圖片描述

方法:計算所有類別的概率P(yi)P(y_i),計算每個特徵屬性的所有劃分的條件概率,即所有的P(Xyi)P(X|y_i)
輸出:計算所有的P(Xyi)P(yi)P(X|y_i)P(y_i),最大的一項即爲未知樣本X所屬的類別。(其實也就是計算P(X)P(yiX)P(X|)P(y_i|X),由於P(X)對於所有的樣本均相等,因此可以省略)

3.2.例子


訓練數據如下:
在這裏插入圖片描述
在這裏插入圖片描述

3.3.貝葉斯估計

用極大似然估計可能會出現所要估計的概率值爲0的情況。會影響後驗概率的計算結果,使分類出現錯誤,解決這一問題的方法是貝葉斯估計。

條件概率的貝葉斯估計的公式如下:
在這裏插入圖片描述
λ=0\lambda=0時,是極大似然估計
λ=1\lambda=1時,是拉普拉斯平滑(Laplace smoothing)
對任意的l=1,2,...,sjl=1,2,...,s_jk=1,2,...,Kk=1,2,...,K

0
在這裏插入圖片描述
在這裏插入圖片描述
同樣,先驗概率的貝葉斯估計的公式爲:
在這裏插入圖片描述

在這裏插入圖片描述

3.4.拉普拉斯平滑(Laplace smoothing)

上文提及的垃圾郵件分類器中,可以利用訓練樣本進行參數估計,從而構建出一個垃圾郵件分類器,可以將新的未標識的郵件進行分類。但是,假如一個字典中在位置k的單詞從未出現在訓練樣本中,會有:

在這裏插入圖片描述
在這裏插入圖片描述
如果我們將一個含有該單詞的未標識郵件放入我們構建的垃圾郵件分類器,會得到這樣的結果:
在這裏插入圖片描述

答案爲未定型,因而不能判斷該郵件是否爲垃圾郵件,分類器失效!

解決辦法是引入一種方法,將訓練樣本中出現過的詞的發生概率讓渡一部分給從未出現的詞。

假設需要將樣本分爲k個類,那麼類的集合可以表示爲z{1,2,....,k}z \in \{ 1,2,....,k \},令Φi=p(z=i)\Phi_i=p(z=i),假設m個訓練樣本的分類標號分別爲z(1),z(2),...,z(m)z^{(1)},z^{(2)},...,z^{(m)},可得:
在這裏插入圖片描述

如果某些類型沒有在訓練樣本中出現Φi=0\Phi_i=0,那麼存在。我們可以用拉普拉斯平滑來解決這樣的問題:
在這裏插入圖片描述

我們將分母加上1,分子加上k,此時,所有的Φi=0\Phi_i=0,但是並不改變所有概率和爲1的性質:i=1kΦi=1\sum^k_{i=1} \Phi_i=1

再回到郵件分類器:利用拉普拉斯平滑方法就可以對樣本中從未出現的單詞進行參數估計:

在這裏插入圖片描述

在這裏插入圖片描述

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