有關貝葉斯定理和貝葉斯公式的推導過程,在阮一峯大神的博客裏的《貝葉斯推斷及其互聯網應用(一):定理簡介》寫得非常全面,簡潔明瞭。
下面是我的個人筆記總結:
貝葉斯定理
基於假設的先驗概率,給定假設下觀察到的不同數據的概率,提供了一種計算後驗概率的方法。
先驗概率:由以往的數據分析得到的概率。
後驗概率:得到信息之後再重新加以修正的概率。
在人工智能領域是非常有代表性的不確定性知識表示和推理方法。
條件概率
貝葉斯公式
樸素貝葉斯算法-原理
基本思想
對於給定的待分類項
算法定義
- 設
X{a1,a2,a3,...,an} 爲一個待分類項,每個ai 爲X的一個特徵屬性,特徵屬性之間互相獨立。 - 設
C{y1,y2,y3,...,yn} 爲一個類別集合。 - 計算
P(y1|X),P(y2|X),P(y3|X),...,P(yn|X) P(yk|X)=max{P(y1|X),P(y2|X),P(y3|X),...,P(yn|X)},則X∈yk
求P(yk|X) 的步驟
- 找到一個已知分類的待分類項集合,這個集合叫訓練樣本集。
- 得到各個類別下,各個特徵屬性的條件概率,即
P(a1|y1),P(a2|y1),P(a3|y1),...,P(an|y1),P(a1|y2),P(a2|y2),P(a3|y2),...,P(an|y2),P(a1|y3),P(a2|y3),P(a3|y3),...,P(an|y3),⋮,⋮,⋮,...,⋮,P(a1|yn),P(a2|yn),P(a3|yn),...,P(an|yn), - 在貝葉斯公式中分母相當於在樣本數據中
X 的概率,所以對任何一個待分類項來說P(X) 是常數,固定的。求後驗概率P(yi)|X 只需要考慮分子即可。因爲個特徵屬性獨立,所以有:
P(X|yi)P(yi)=P(a1|yi)P(a2|yi)P(a3|yi)...P(an|yi)P(yi)=P(yi)∏j=1nP(aj|yi)
所以:
P(X|yi)=∏k=1nP(ak|yi)
處理流程
簡單實例
數據樣本:
age | income | student | credit_rating | buys_computer |
---|---|---|---|---|
<=30 | high | no | fair | no |
<=30 | high | no | excellent | no |
31..40 | high | no | fair | yes |
>40 | medium | no | fair | yes |
>40 | low | yes | fair | yes |
>40 | low | yes | excellent | no |
31..40 | low | yes | excellent | yes |
<=30 | medium | no | fair | no |
<=30 | low | yes | fair | yes |
>40 | medium | yes | fair | yes |
<=30 | medium | yes | excellent | yes |
31..40 | medium | no | excellent | yes |
31..40 | high | yes | fair | yes |
>40 | medium | no | excellent | no |
待分類數據:
X=(age<=30,income=medium,student=yes,credit_rating=fair)
第一階段:準備階段
根據具體情況確定特徵屬性,並且對特徵屬性進行適當劃分。然後就是對一部分待分類項進行人工劃分,以確定訓練樣本。這一階段輸入的是所有待分類項,輸出的是特徵屬性和訓練樣本。所以:
**數據樣本屬性:**age、income 、student 、 credit_rating
**類別屬性:**buys_computer
第二階段:分類器訓練階段
計算每個類別在訓練樣本中出現的頻率,以及每個特徵屬性劃分對每個類別的條件概率。輸入時特徵屬性和訓練樣本,輸出是分類器。
計算每個類別的先驗概率:
計算每個特徵屬性對於每個類別的條件概率:
P(age<=”30”|buys_computer=”yes”)=2/9=0.222
P(income=”medium”|buys_computer=”yes”)=4/9=0.444
P(student=”yes”|buys_computer=”yes”)=6/9=0.667
P(credit_rating=”fair”|buys_computer=”yes”)=6/9=0.667
P(age<=”30”|buys_computer=”no”)=3/5=0.600
P(income=”medium”|buys_computer=”no”)=4/9=0.400
P(student=”yes”|buys_computer=”no”)=1/5=0.200
P(credit_rating=”fair”|buys_computer=”no”)=2/5=0.400
計算條件概率
第三階段:應用階段
計算對於每個
到此,對於待分類的樣本X,樸素貝葉斯分類預測buys_computer=”yes”
總結:
樸素貝葉斯算法的優點:
1. 算法邏輯簡單,易於實現
2. 分類過程中時空開銷小
3. 算法穩定,對於不同的數據特點其分類性能差別不大,健壯性比較好。