【機器學習】貝葉斯分類簡述到樸素貝葉斯分類器

一、條件概率

我們先看這樣一個例子:
        假如我是一個質檢員,現在接到了三箱零件需要檢驗,其中第一箱有10個零件,第二箱有20個零件,第三箱有15個。半小時過去了,檢驗的結果出爐,第一箱有1個不合格,第二箱有3個不合格,第三箱2個不合格。
        下午領導要來視察了,看看我驗的貨到底有沒有問題,此時我的心裏當然是忐忑不安呀,領導拿到這個件爲合格件的概率有多大?
        在以上問題中,領導拿的這個零件首先一定在這3個箱子中的某一個,因此樣本空間可以由這3個箱子組成,記AiAi爲從第ii個箱子拿的零件,ii的取值範圍爲1,2,3。然後再用一個事件來標記拿到正品,記爲BB,因此,領導拿到這個件爲合格件的概率,記爲 P(B)P(B)
所以,問題又來了,這個P(B)P(B)的概率到底是多大那?這個時間BB的發生肯定來自於樣本空間;啊,也就是說這個合格件要麼是A1A2A3A1、A2、或者是A3中獲取到的,因此:
P(B)=P(A1)P(BA1)+P(A2)P(BA2)+P(A3)P(BA3)=(1/3)9/10+(1/3)17/20+(1/3)13/15=0.872 \begin{aligned} P(B)=P(A 1)^{\star} & P(B | A 1)+P(A 2)^{\star} P(B | A 2)+P(A 3)^{\star} P(B | A 3) \\ &=(1 / 3)^{\star} 9 / 10+(1 / 3)^{\star} 17 / 20+(1 / 3)^{\star} 13 / 15 \\ &=0.872 \end{aligned}
說明:P(BA1)P(B | A1) 是條件概率:零件來自於第一個箱子的條件下,並且它爲合格件的概率。
        根據概率,領導抽取到的合格件還是蠻大的,果不其然,領導抽到了一個合格品,然後他親自檢驗了下,發現質檢的沒有問題,衝着我笑了笑,很滿意地拍拍屁股就走人了。當他走了的時候,我想到了一個問題,領導抽的這個合格品來自於箱子1的概率是多大呢?這個問題也就是求 條件概率P(A1B)P(A1 | B),即取到合格品事件BB發生了地情況下,來自於A1A1的概率。
說明:求P(A1B)P(A1 | B)稱爲求解逆向概率,這個概率往往是不好求解答,但是它對應的正向概率:P(B | A1),往往求解簡單。
        既然如此, P(A1|B)比較難求解,就轉化一下:
P(A1B)=P(A1B)/P(B) \mathrm{P}(\mathrm{A} 1 | \mathrm{B})=\mathrm{P}\left(\mathrm{A} 1^{\star} \mathrm{B}\right) / \mathrm{P}(\mathrm{B}) 其中,A1BA1*B事件表示從第一個箱子抽取且爲合格件,則:
P(A1B)=P(A1)P(BA1)=(1/3)9/10=0.3 P\left(A 1^{\star} B\right)=P(A 1)^{\star} P(B | A 1)=(1 / 3)^{\star} 9 / 10=0.3 其中,P(A1B)P(A1*B),也可以記爲:P(A1,B)P(A1,B),它稱爲聯合概率,直接理解爲同時成立即可,這也就是我們高中學習過的條件概率那一塊。
因此:P(A1B)=0.3/0.872=0.344 P(A 1 | B)=0.3 / 0.872=0.344
這個已知BB發生,然後,預測BB來自於哪裏,便是貝葉斯公式做的事情。
所以通過這個例子,我們如何提取出一個模型出來那?

二、貝葉斯公式

        以上《合格品的例子》的樣本空間有 A1A2A3A1,A2 ,A3組成,它們把樣本空間劃分爲三部分。如果將劃分上升到由nn個部分組成,抽中一個合格件爲本次隨機試驗的事件BB,明顯地,P(Ai)P(B)P(Ai) 和 P(B)都大於零,則事件BB發生後,找出它屬於哪個類別的計算公式如下:
P(AiB)=P(AiB)i=1nP(BAi)=P(Ai)×P(BAi)i=1nP(BAi) P\left(A_{i} | B\right)=\frac{P\left(A_{i} B\right)}{\sum_{i=1}^{n} P\left(B | A_{i}\right)}=\frac{P\left(A_{i}\right) \times P\left(B | A_{i}\right)}{\sum_{i=1}^{n} P\left(B | A_{i}\right)} 貝葉斯公式是要找出組成發生事件B的各個樣本空間,然後預測事件B的發生來自於AiAi的概率。
        其中 P(Ai)P(Ai)稱爲原因的先驗概率,可以看到它是在不知道事件BB是否發生的情況下獲取的概率。比如在抽取零件時,我們不知道能不能抽取到合格件,但是選擇任意一個箱子的概率一定都爲1/3,所以稱爲先驗概率。
        而 P(AiB)P(Ai | B) 是原因的後驗概率,它是在知道了事件BB發生的條件下,有了這個進一步的信息後,判斷原因 AiAi 發生的概率有多大。可以看到,一般地,如果對樣本空間做了大於1的劃分,即:
P(BAi)i=1nP(BAi)>1 \frac{P\left(B | A_{i}\right)}{\sum_{i=1}^{n} P\left(B | A_{i}\right)}>1 所以根據上面提到貝葉斯公式,不難推斷出:
P(AiB)>P(Ai) P\left(A_{i} | B\right)>P\left(A_{i}\right) 這也就是說在獲取了進一步的信息BB後,原因的後驗概率一般大於原因的先驗概率

三、例子中的貝葉斯

        根據北平市第一實驗中學101班歷年的統計數據,班上努力學習的學生佔到90%,並標記這部分羣體爲A0類,學習不用功的佔到10%,並標記這部分羣體爲A1類。因此將學生羣體劃分爲兩類:

1、學習努力的學生
2、學習不努力的學生

        再根據歷年的升學率,學生只要學生努力學習考上重點大學的概率爲 0.7,而不努力的學生考上重點大學的概率爲 0.01 。
分析求解過程:
       定義一個事件BB:學生考上重點大學,其發生的概率爲P(B)P(B),該樣本空間被劃分爲兩類:A0A1A0和A1,則 P(B)=P(BA0)+P(BA1)=P(B) = P(B | A0) + P(B | A1) = 計算有誤
       由貝葉斯公式可知:這個考上重點大學條件下且來自羣體A0A0的概率標記爲:P(A0B)P(A0 | B )
P(A0B)=P(A0B)/P(B)=P(A0)P(BA0)/0.71=0.90.7/0.71=0.887 \begin{array}{l}{P(A0|B)=\mathrm{P}\left(\mathrm{A} 0^{\star} \mathrm{B}\right) / \mathrm{P}(\mathrm{B})} \\ {=\mathrm{P}(\mathrm{A} 0)^{\star} \mathrm{P}(\mathrm{B} | \mathrm{A} 0) / 0.71} \\ {=0.9 * 0.7 / 0.71} \\ {=0.887}\end{array} 同理,這個考上重點大學的學生屬於羣體A1的概率:P(A1 | B )
P(A1B)=P(A1B)/P(B)=P(A1)P(BA1)/0.71=0.10.01/0.71=0.0014 \begin{array}{l}{P(A1|B)=P\left(A 1^{\star} B\right) / P(B)} \\ {=P(A 1)^{\star} P(B | A 1) / 0.71} \\ {=0.1 * 0.01 / 0.71} \\ {=0.0014}\end{array} 可以看出,這個學生屬於努力學習那個圈裏頭的概率爲0.887,屬於不努力學習圈的概率爲0.0014,換言之,不努力學習還能上重點的概率是一千人裏出一個多的天才,這就是根據貝葉斯公式做出的預測

四、總結

1、用一個合格零件判斷來自哪個箱子的例子引出貝葉斯公式
2、然後解釋貝葉斯公式和其中涉及的兩個概念:先驗概率和後驗概率
3、最後用一個很直接的例子說明如何用貝葉斯做分類。
4、注意到在貝葉斯公式中,要求後驗概率 P(classification | data) ,利用貝葉斯公式將其其轉化爲求解 :
 P(classification)  P(data  classification) /P( data ) \text { P(classification) } * \text { P(data } | \text { classification) } / \mathrm{P}(\text { data })        其中,P(data)P(data)是與類標記無關的量,可以看做是一個常數;P(classification)P(classification)表達了各類樣本所佔的比例,根據大數定律,當訓練集包含了充足的獨立同分布樣本時,P(classification)P(classification)可以通過各類樣本出現的頻率來進行估計。
       知道使用 P(dataclassification)P(data | classification)即 data相對於classification的概率怎麼計算嗎? 如果一旦我們知道了它的求解方法,那麼貝葉斯公式分類預測算法的核心就掌握了。


分割線走一波

       在上面的部分中,總結最後我們引出了一個問題:後驗概率P(cx)P(c|x)的求解轉化爲求解P(c)P(c)P(xc)P(x|c)P(c)P(c)根據大數定律很容易get到,所以核心問題就是如何求解P(xc)P(x|c)z,接下來我們藉助一個例子如何解釋如何求解。
       我們在超市買水果的時候,一般紅潤而圓滑的果子都是好蘋果,泛青無規則的一般都比較一般,現在根據之前幾次買過的蘋果,已經驗證過了10個蘋果,主要根據大小,顏色和形狀這三個特徵,來區分是好是壞,如下:

編號 大小 顏色 形狀 好果
1 青色 非規則
2 紅色 非規則
3 紅色 圓形
4 青色 圓形
5 青色 非規則
6 紅色 圓形
7 青色 非規則
8 紅色 非規則
9 青色 圓形
10 紅色 圓形

現在在超市我正要買的一個蘋果的特徵如下:

大小 顏色 形狀 好果
紅色 圓形

2 、引出:類條件概率
問是好果還是一般的蘋果?假定,蘋果的三個特徵:大小,顏色,形狀,是相互獨立的,言外之意它們之間沒有相關關係。
       在上面的例子:10條蘋果的數據爲例,來解釋下貝葉斯公式中一個非常重要的概率:P(xc)P(x | c) ,理解它關係到對貝葉斯分類器整體的理解,因此好好理解下。
       1、首先它是一個條件概率,是在 cc 發生的條件下,xx 出現的概率。 那麼cc是什麼? cc是整個數據集中所有種類中的一種,比如是好蘋果,這個類; xx 是在好蘋果這個類別中所有屬性的可能取值,在上面這個例子中,一共有3個屬性,每個屬性有2個不同取值,因此共有8個不同組合,所以 x 就是在8種不同取值中每個取值的樣本個數。
       例如在好蘋果這類中,取值爲 大,紅色,圓形的樣本有幾個呢? 先找出好蘋果的集合(個數是4),然後在這4個樣本里找,發現有3個樣本取值都爲大,紅色和圓形,所以 x 在8中不同取值中的這種組合下的樣本個數爲:3,所以 :
P(xic)=3/4 P(x i | c)=3 / 4 其中 i 爲1~8中的某個取值,在本例中爲:大,紅色,圓形;這裏,稱 P(xc)P(x | c)這種概率爲:類條件概率,它等於在訓練集中屬於類別 c 的所有樣本中,所有屬性組合的樣本出現的概率。

3、屬性獨立的假設

記得剛開始說過,蘋果的三個特徵之間是相互獨立的,這個假設是很有用的。爲什麼?因爲類的後驗概率 P(x | c) 計算公式如下:
P(cx)=P(c)×P(xc)P(x) P(c | x)=\frac{P(c) \times P(x | c)}{P(x)} 在三個特徵間相互獨立的前提假定下,類條件概率的計算公式便可以進一步推導爲如下:
P(xc)=i=1dP(xic) P(x | c)=\prod_{i=1}^{d} P\left(x_{i} | c\right) 其中,d是樣本的所有屬性個數,這個意思是說,因爲各個屬性間相互獨立,所以類條件概率等於每個屬性的類條件概率的乘積。因此,聯合上面兩個式子,可以得到如下式子:
P(cx)=P(c)P(x)i=1dP(xic) P(c | x)=\frac{P(c)}{P(x)} \prod_{i=1}^{d} P\left(x_{i} | c\right)
4、樸素貝葉斯分類器

由於對所有類別來說,P(x)P(x)是相同的,因此貝葉斯分類器的目標函數進一步化簡爲如下:
h(x)=max(P(c)i=1dP(xic)) h(x)=\max \left(P(c) \prod_{i=1}^{d} P\left(x_{i} | c\right)\right) 其中 c 爲所有類別中的每一個,比如蘋果數據中一共有兩個類別:好果,壞果。
稱上面式子爲樸素貝葉斯分類器的目標函數,明顯地,樸素貝葉斯分類器的訓練學習的過程便是基於訓練數據(蘋果集),求得類的先驗概率P(c)P(c),並且爲每個屬性求得類條件概率,然後相乘取最大值的過程。

下面進一步通過蘋果數據集來闡述這一過程,這是理解的樸素貝葉斯分類器的過程,用很小的數據個數方便理解,將來應付大的數據集道理也是一樣的。
以下是剛開始列舉的數據集:

編號 大小 顏色 形狀 好果
1 青色 非規則
2 紅色 非規則
3 紅色 圓形
4 青色 圓形
5 青色 非規則
6 紅色 圓形
7 青色 非規則
8 紅色 非規則
9 青色 圓形
10 紅色 圓形

現在在超市我正要買的一個蘋果的特徵如下:

大小 顏色 形狀 好果
紅色 圓形

問是好果還是一般的蘋果,根據已有的數據集概率是多大?
先驗概率 P(c)P(c)簡化的求解方法:c類樣本的個數除以所有樣本個數,因此:

P(c=好果)= 4/10
P(c=一般) = 6/10

每個屬性的類條件概率,可以初步這麼求解:這個類別下的樣本中對應這個屬性的樣本個數除以這個類別下的樣本個數,因此

P(大小=大 | c=好果) = 3/4
P(顏色=紅色 | c=好果) = 4/4
P(形狀=圓形 | c=好果) = 3/4
P(大小=大 | c=一般) = 3/6
P(顏色=紅色 | c=一般) = 1/6
P(形狀=圓形 | c=一般) = 2/6

因此:

P(c=P(=c=)P(=c=)P(=c=)=4/103/44/43/4=0.225P(c=好果) * P(大小=大 | c=好果) * P(顏色=紅色 | c=好果) * P(形狀=圓形 | c=好果) = 4/10 * 3/4 * 4/4 * 3/4 = 0.225

P(c=P(=c=)P(=c=)P(=c=)=6/103/61/62/6=0.0167P(c=一般) * P(大小=大 | c=一般) * P(顏色=紅色 | c=一般) * P(形狀=圓形 | c=一般) = 6/10 * 3/6 * 1/6 * 2/6 = 0.0167顯然,0.225 > 0.0167 所以:這個蘋果爲好果。
展望:如果最後相乘的結果爲零哪有該當如何那?所以解決此類的問題就設計到概率估計的平滑處理了。好嘛,到了這裏,針對貝葉斯分類的簡述以及關於樸素貝葉斯分類器的瞭解我們就簡單說到這裏啦。

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