11 爲什麼樸素貝葉斯如此“樸素”?
樸素貝葉斯模型,全稱爲:Naive Bayesian Model,Naive 能翻譯爲樸素,已經是很高看它了,因爲我們知道naive的含義如下:
naive: marked by or showing unaffected simplicity and lack of guile or worldly experience;
它是簡單的,它是缺乏worldly experience的。
正如它的名字一樣,樸素貝葉斯模型假設樣本特徵彼此獨立,沒有相關關係。正如我們所知,這個假設在現實世界中是很不真實的,因此,說樸素貝葉斯真的很“樸素”。
但,樸素貝葉斯模型就沒用了嗎? 不是的。這個假設現實中基本上不存在, 但特徵相關性很小的實際問題還是很多的, 所以這個模型仍然能夠工作得很好。
關於樸素貝葉斯的詳細例子解釋和實戰,大家可參考公衆號界面的菜單:
下面是樸素貝葉斯的例子解釋。
假如我是一個質檢員,現在接到了三箱零件需要檢驗,其中第一箱有10個零件,第二箱有20個零件,第三箱有15個。半小時過去了,檢驗的結果出爐,第一箱有1個不合格,第二箱有3個不合格,第三箱2個不合格。
下午領導要來視察了,看看我驗的貨到底有沒有問題,於是他隨手拿了一個零件,我心裏默默計算,領導拿到這個件爲合格件的概率有多大?
在這個問題中,領導拿的這個零件首先一定在這3個箱子中的某一個,因此樣本空間可以由這3個箱子組成,記 Ai 爲從第i個箱子拿的零件,i的取值範圍爲1,2,3。然後再用一個事件來標記拿到正品,記爲B,因此,領導拿到這個件爲合格件的概率,記爲 P(B)。
那麼這個P(B)等於多少呢?這個事件B的發生肯定來自於樣本空間吧,也就是說這個合格件要麼從A1,A2,或者A3中獲取到,因此,
1 P(B) = P(A1)*P(B | A1) + P(A2) *P(B | A2) + P(A3)*P(B | A3) 2 3 = (1/3) * 9/10 + (1/3) * 17/20 + (1/3) * 13/15 4 5 = 0.872
上面P(B | A1) 是條件概率:零件來自於第一個箱子的條件下,並且它爲合格件的概率。
果不其然,領導抽到了一個合格品,然後他親自檢驗了下,發現質檢的沒有問題,衝着我笑了笑,很滿意地拍拍屁股就走人了。
當他走了的時候,我想到了一個問題,領導抽的這個合格品來自於箱子1的概率是多大呢?這個問題也就是求 P(A1 | B),即取到合格品事件B發生了地情況下,來自於A1的概率。
求P(A1 | B)稱爲求解逆向概率,這個概率往往是不好求解答,但是它對應的正向概率:P(B | A1),往往求解簡單。
因此,自然地,既然 P(A1|B)比較難求解,我們如下轉化一下:
1P(A1| B) = P(A1*B) / P(B)
其中,A1*B 事件表示從第一個箱子抽取且爲合格件,則
1 P(A1*B) = P(A1) * P(B | A1) = (1/3) * 9/10 = 0.3
P(A1*B),也可以記爲:P(A1,B),它稱爲聯合概率。
因此,
1P(A1| B) = 0.3 / 0.872 = 0.344
這個已知B發生,然後,預測B來自於哪裏,便是貝葉斯公式做的事情。
那麼這個例子如何上升進而提取出一個模型出來呢?
2 例子引出貝葉斯公式
以上《合格品的例子》的樣本空間有 A1,A2 ,A3 組成,它們把樣本空間劃分爲三部分。
如果將劃分上升到由 n 個部分組成,抽中一個合格件爲本次隨機試驗的事件B,明顯地,P(Ai) 和 P(B)都大於零,則事件B發生後,找出它屬於哪個類別的計算公式如下:
貝葉斯公式是要找出組成發生事件B的各個樣本空間,然後預測事件B的發生來自於Ai的概率。
其中 P(Ai) 稱爲原因的先驗概率,可以看到它是在不知道事件B是否發生的情況下獲取的概率。比如在抽取零件時,我們不知道能不能抽取到合格件,但是選擇任意一個箱子的概率一定都爲1/3,所以稱爲先驗概率。
而 P(Ai | B) 是原因的後驗概率,它是在知道了事件B發生的條件下,有了這個進一步的信息後,判斷原因 Ai 發生的概率有多大。可以看到,一般地,如果對樣本空間做了大於1的劃分,即:
所以根據上面提到貝葉斯公式,不難推斷出:
這也就是說在獲取了進一步的信息B後,原因的後驗概率一般大於原因的先驗概率。