讀古今文學網 > 機器學習實戰 > 4.1 基於貝葉斯決策理論的分類方法 >

4.1 基於貝葉斯決策理論的分類方法

樸素貝葉斯  優點:在數據較少的情況下仍然有效,可以處理多類別問題。 缺點:對於輸入數據的準備方式較為敏感。 適用數據類型:標稱型數據。

樸素貝葉斯是貝葉斯決策理論的一部分,所以講述樸素貝葉斯之前有必要快速瞭解一下貝葉斯決策理論。

假設現在我們有一個數據集,它由兩類數據組成,數據分佈如圖4-1所示。

圖4-1 兩個參數已知的概率分佈,參數決定了分佈的形狀

假設有位讀者找到了描述圖中兩類數據的統計參數。(暫且不用管如何找到描述這類數據的統計參數,第10章會詳細介紹。)我們現在用p1(x,y)表示數據點(x,y)屬於類別1(圖中用圓點表示的類別)的概率, 用p2(x,y)表示數據點(x,y)屬於類別2(圖中用三角形表示的類別)的概率,那麼對於一個新數據點(x,y),可以用下面的規則來判斷它的類別:

  • 如果 p1(x,y) > p2(x,y),那麼類別為1。
  • 如果 p2(x,y) > p1(x,y),那麼類別為2。

也就是說,我們會選擇高概率對應的類別。這就是貝葉斯決策理論的核心思想,即選擇具有最高概率的決策。回到圖4-1,如果該圖中的整個數據使用6個浮點數1來表示,並且計算類別概率的Python代碼只有兩行,那麼你會更傾向於使用下面哪種方法來對該數據點進行分類?

整個數據由兩類不同分佈的數據構成,有可能只需要6個統計參數來描述。——譯者注

  1. 使用第1章的kNN,進行1000次距離計算;
  2. 使用第2章的決策樹,分別沿x軸、y軸劃分數據;
  3. 計算數據點屬於每個類別的概率,並進行比較。

使用決策樹不會非常成功;而和簡單的概率計算相比,kNN的計算量太大。因此,對於上述問題,最佳選擇是使用剛才提到的概率比較方法。

接下來,我們必須要詳述p1及p1概率計算方法。為了能夠計算p1與p2,有必要討論一下條件概率。如果你覺得自己已經相當瞭解條件概率了,那麼可以直接跳過下一節。

貝葉斯?

這裡使用的概率解釋屬於貝葉斯概率理論的範疇,該理論非常流行且效果良好。貝葉斯概率以18世紀的一位神學家托馬斯·貝葉斯(Thomas Bayes)的名字命名。貝葉斯概率引入先驗知識和邏輯推理來處理不確定命題。另一種概率解釋稱為頻數概率(frequency probability),它只從數據本身獲得結論,並不考慮邏輯推理及先驗知識。