標籤:
樸素貝葉斯分類
樸素貝葉斯分類是一種十分簡單的分類演算法,叫它樸素貝葉斯分類是因為這種方法的思想真的很樸素,樸素貝葉斯的思想基礎是這樣 的:對於給出的待分類項,求解在此項出現的條件下各個類別出現的機率,哪個最大,就認為此待分類項屬於哪個類別。通俗來說,就好比這麼個道理,你在街上看 到一個黑人,我問你你猜這哥們哪裡來的,你十有八九猜非洲。為什麼呢?因為黑人中非洲人的比率最高,當然人家也可能是美洲人或亞洲人,但在沒有其它可用信 息下,我們會選擇條件機率最大的類別,這就是樸素貝葉斯的思想基礎。
樸素貝葉斯分類的正式定義如下:
1、設為一個待分類項,而每個a為x的一個特徵屬性。
2、有類別集合。
3、計算。
4、如果,則。
那麼現在的關鍵就是如何計算第3步中的各個條件機率。我們可以這麼做:
1、找到一個已知分類的待分類項集合,這個集合叫做訓練樣本集。
2、統計得到在各類別下各個特徵屬性的條件機率估計。即。
3、如果各個特徵屬性是條件獨立的,則根據貝葉斯定理有如下推導:
因為分母對於所有類別為常數,因為我們只要將分子最大化皆可。又因為各特徵屬性是條件獨立的,所以有:
可以看到,整個樸素貝葉斯分類分為三個階段:
第一階段——準備工作階段,這個階段的任務是為樸素貝葉斯分類做必要的準備,主要工作是根據具體情況確定特徵屬性,並對每個特徵屬性進行適當劃分,然後由 人工對一部分待分類項進行分類,形成訓練樣本集合。這一階段的輸入是所有待分類資料,輸出是特徵屬性和訓練樣本。這一階段是整個樸素貝葉斯分類中唯一需要 人工完成的階段,其品質對整個過程將有重要影響,分類器的品質很大程度上由特徵屬性、特徵屬性劃分及訓練樣本品質決定。
第二階段——分類器訓練階段,這個階段的任務就是產生分類器,主要工作是計算每個類別在訓練樣本中的出現頻率及每個特徵屬性劃分對每個類別的條件機率估 計,並將結果記錄。其輸入是特徵屬性和訓練樣本,輸出是分類器。這一階段是機械性階段,根據前面討論的公式可以由程式自動計算完成。
第三階段——應用階段。這個階段的任務是使用分類器對待分類項進行分類,其輸入是分類器和待分類項,輸出是待分類項與類別的映射關係。這一階段也是機械性階段,由程式完成。
另一個需要討論的問題就是當P(a|y)=0怎麼辦,當某個類別下某個特徵項劃分沒有出現時,就是產生這種現象,這會令分類器品質大大降低。為瞭解決這個 問題,我們引入Laplace校準,它的思想非常簡單,就是對沒類別下所有劃分的計數加1,這樣如果訓練樣本集數量充分大時,並不會對結果產生影響,並且 解決了上述頻率為0的尷尬局面。
參考:演算法雜貨鋪——分類演算法之樸素貝葉斯分類(Naive Bayesian classification)
樸素貝葉斯分類