樸素貝葉斯的引入
假設我們有兩個盒子,第一個盒子裏有大小形狀相同的4顆藍球,1顆綠球;第二個盒子裏有大小形狀相同的2顆藍球,3顆綠球。我們從兩個盒子裏任取一顆球是藍球,問這顆藍球從第一個盒子裏面取出的概率是多少?
這就是後驗概率的問題,根據貝葉斯定理計算如下:
將上述例子一般化之後就如下圖所示:
若是藍色,則, ,,
通過上面的推論我們知道了如何求取一個新給的樣本屬於各個類別的概率,但上面所講的是在一個封閉的系統(只能從兩個盒子裏面抽取)裏面的概率,且我們可以直接看出兩個類別的概率分佈。然而,在實際的應用中我們往往沒有某一個類別精確的概率分佈,我們的訓練集也無法窮舉所有的可能性,這時候就要求我們對一個類別求取一個最符合它樣本分佈的概率模型,以便我們在這個概率模型下計算。
如何求取概率模型
我們先假設數據的概率分佈(正態、伯努利、播送、···),然後用概率公式去計算屬於的類型。
一般的,我們假設爲高斯分佈,這是由概率論中的中心極限定理所得來的。
多維高斯分佈:
其中均值爲,協方差爲
這裏舉個例子來看一下不同的和對分佈的影響:
接下來就是求取這個假設的分佈中的參數和了,這裏用極大似然估計來求取。比如說我們用某個模型生成了下圖所示的79個樣本點,那麼我們的目的就是要求最有可能生成這79個樣本點的模型,即求出這個模型的和。
這裏我們用下面的極大似然估計的函數:
我們按照上式和兩個類別的訓練集來求出兩個類別的極大似然估計函數的係數(第一個類別中有79個樣本,第二個類別中有61個樣本):
分類
接下來就可以將分佈函數帶入到貝葉斯函數中來進行分類了:
如果則可以推出是屬於第一類的。
但通常情況是兩個模型會共用一個,那麼似然函數就變成了:
這個式子中的和和上面的式子中是一樣的,
這個時候就變成了線性分類:
可以看到上面的模型分類準確率並不高,這可能是特徵值選取的比較少,在增加特徵值之後會好很多。