樸素貝葉斯分類器原理
樸素貝葉斯分類器,實際上也是對人們常識做的一個演算法的完善。其以一種更為精準的量化來判斷分類,使用的方法是後驗概率。本文從與決策樹的比較出發,介紹先驗概率和後驗概率的關係,再詳細介紹一下樸素貝葉斯演算法的流程。
樸素貝葉斯演算法比較簡單,所以此文多是留以面試前複習之用。理清各個問題之間的關係是重點。
與決策樹的比較
我們在學習完經典的決策樹演算法之後,可以有這樣一個認識:決策樹的特點是它總是在沿著特徵做切分。隨著層層遞進,這個劃分會越來越細。大體上就像這樣:

我今天在此基礎上,在介紹一種在概率框架下實施決策的基本方法。同樣的,這也很符合我們人類的經驗思維。這就是貝葉斯分類器。相比於決策樹,其分類示意如下:

此處的的藍色與紅色交織,就代表著概率的大小。貝葉斯分類器的名字很高大上,其實背後的原理非常簡單。就是根據概率來選擇我們要將某一個個體分在哪一類中。
我們可以這樣去理解貝葉斯分類器。西瓜藤新鮮的瓜甜的概率為0.7,若只看瓜藤,我們就將瓜藤新鮮的瓜判定為甜瓜。我們引入西瓜紋理這一個第二個特徵,假設紋理整齊的瓜甜的概率為0.8。則這時候我們要算出瓜藤新鮮且紋理整齊的瓜甜的概率,比如為0.9(為什麼要大於前兩個概率大家可以思考一下),這樣我們看到紋理和瓜藤這兩個特徵的時候就可以有概率的判斷瓜是否甜了。
這裡我們可以類比一下分類決策樹。對於決策樹不是很瞭解的朋友們可以看我這篇文章《經典決策樹演算法》相比於決策樹將瓜藤新鮮的瓜甜的概率直接轉化成瓜藤新鮮我們就判斷成瓜甜,我們的貝葉斯更是有了一種概率性的容錯性,使得結果更加準確可靠一點。但是貝葉斯分類器對資料有著比決策樹更高的要求,其需要一個比較容易解釋,而且不同維度之間相關性較小的模型。這個我們在之後會細細提及。
先驗概率與後驗概率
我們來看貝葉斯公式:
- 就是後驗概率
- 為先驗概率,一般都是人主觀給出的。貝葉斯中的先驗概率一般特指它。
- 是條件概率,又叫似然概率,一般是通過歷史資料統計得到。一般不把它叫做先驗概率,但從定義上也符合先驗定義。
- 其實也是先驗概率,只是在貝葉斯的很多應用中不重要(因為只要最大後驗不求絕對值),需要時往往用全概率公式計算得到。
可見,先驗概率,後驗概率和似然概率關係密切的很。值得注意的是,A和B的順序和這個先驗後驗是有關係的。A和B反了,先驗與後驗也需要反過來。舉個例子來說: 桌子上如果有一塊肉和一瓶醋,你如果吃了一塊肉,然後你覺得是酸的,那你覺得肉里加了醋的概率有多大?
對於這個問題,在吃起來是酸的條件下肉裡面放了醋的概率,便是後驗概率。肉加了醋的前提下吃起來是酸的概率便是似然概率,肉裡面加了醋的概率和吃起來是酸的概率便是先驗概率。
我們可以總結一下,A事件是導致的結果,B事件是導致的原因之一。這裡我們吃到肉是酸的,則是各種原因的結果,而肉裡面放了醋則是導致這個A結果的諸多原因之一。為什麼說是之一呢,因為除了放了醋,也有可能是肉變質了等等。
樸素貝葉斯分類演算法
先通過一個經典例子來解釋樸素貝葉斯分類的演算法。由如下表格中的資料學習一個樸素貝葉斯的分類器並確定 的w類標記 ,表格中 , 為特徵,取值的集合分別為 , , 為類標記,

此時我們對於給定的 可以如下計算:
可見 時候後驗概率更大一些。所以
通過以上例子,我們會發現樸素貝葉斯的方法其實就是一種常規做法,拉普拉斯曾經說過,概率論就是將人們的常識使用數學公式表達。接下來我們來看看最完整的樸素貝葉斯分類演算法的數學表達。