這篇內容和上篇《Naive Bayes Classifier 的原理》一樣,只是改採簡明厄要的寫法。話說我以前都寫這種風格的說。
問題描述
給定由屬性 A1, A2, A3 和類別 C1, C2 組成的 training data(例如 (A1, A2, C1) 或 (A1, A3, C2))。求 A1, A2, A3 三者任意組合的情況下,應該分類到 C1 還是 C2。
Naive Bayes Classifier 定義
以 (A1, A2) 為例說明:
P(C1 | A1, A2) = P(A1, A2 | C1) * P(C1) / P(A1, A2)
比較 P(C1 | A1, A2) 和 P(C2 | A1, A2) ,若前者較高,就將 (A1, A2) 分類到 C1,反之分到 C2。
注意 P(C1 | A1, A2) 和 P(C2 | A1, A2) 分母一樣,可以忽略不算。
Naive Bayes Classifier 原理說明
相較於直接數 training data 裡各種組合和對應到類別的數量,Naive Bayes Classifier 的優勢是在 training data 不足時,仍能處理各種屬性組合。也就是說,即使 training data 內沒有出現過 (A1, A2, C1) 和 (A1, A2, C2),Naive Bayes Classifier 仍可估計出 P(C1 | A1, A2) 和 P(C2 | A1, A2) 何者機率較高。
原因是 Naive Bayes Classifier 假設所有屬性對其類別具有 conditional independence ,所以 P(C1 | A1, A2) 可拆成如下的算法:
P(A1, A2 | C1) = P(A1 | C1) * P(A2 | C1)
同理可算出 P(A1, A2 | C2) ,所以能比較 P(C1 | A1, A2) 和 P(C2 | A1, A2) 的值。注意真實情況下 conditional independence 不見得會成立。
謝謝分享!
回覆刪除請問 "上篇《Naive Bayes Classifier 的原理》一樣" ,是指這一篇:http://fcamel-fc.blogspot.hk/2009/02/naive-bayes-classifier_19.html嗎?
本文中的超連結失效了。
是的, 已修正超連結, 謝謝告知
回覆刪除