首頁 人工智能

第二節 樸素貝葉斯分類算法

字體:16+-

貝葉斯公式能做很多事情,它的一個典型的應用是解決人工智能中的分類問題。基於貝葉斯公式的分類方法有廣泛的應用,包括文本分類、基因篩選、拚寫檢查、推薦係統、圖像識別、投資決策等。本節將介紹一種使用貝葉斯公式的最簡單的分類算法,稱為樸素貝葉斯分類算法。

樸素貝葉斯分類算法自20世紀50年代就已有廣泛研究,並被應用於文本分類。這種算法具有收斂速度快、需要的訓練數據少、分類準確性高等優點,所以直到現在,依然是在各種分類任務中使用的熱門方法。

下麵描述如何用這種方法解決多分類問題。令D表示需要處理的分類對象構成的集合,它包含m個類別,分別用C1,C2,…,Cm表示。進行分類前,需要確定分類對象的特征屬性。設有n個特征屬性,用A1,A2,…,An表示。對於任意的分類對象x∈D,它的特征屬性值用一個n維向量(a1,a2,…,an)表示,這表示對於這個元素x,它的屬性值分別是A1=a1,A2=a2,…,An=an。有了這些定義,需要實現的任務可以按如下方式描述。

對D中的每一個元素x,使用它特征屬性的取值(a1,a2,…,an),從C1,C2,…,Cm中確定它所屬的類別。

如何利用貝葉斯公式實現這樣的目的呢?簡單起見,設x的特征屬性值是(a1,a2,…,an),用A表示隨機事件(A1,A2,…,An)=(a1,a2,…,an),用Ck表示x屬於第k個類別。通過貝葉斯公式計算如下條件概率

P(C1|A),P(C2|A),…,P(Cm|A)

若其中P(Ck|A)=max{P(C1|A),P(C2|A),…,P(Cm|A)},則說明在已知特征屬性值的條件下,元素x屬於第k個類別的概率是最大的。那麽就判定它屬於類別Ck,這當然是一種非常合理的選擇,樸素貝葉斯分類就是遵循這樣的思路來實現預定的分類任務。為了實現這個想法,具體的步驟和技巧如下。