機器學習筆記:貝葉斯算法(一)

有關貝葉斯定理和貝葉斯公式的推導過程,在阮一峯大神的博客裏的《貝葉斯推斷及其互聯網應用(一):定理簡介》寫得非常全面,簡潔明瞭。

下面是我的個人筆記總結:

貝葉斯定理

基於假設的先驗概率,給定假設下觀察到的不同數據的概率,提供了一種計算後驗概率的方法。
先驗概率:由以往的數據分析得到的概率。
後驗概率:得到信息之後再重新加以修正的概率。

在人工智能領域是非常有代表性的不確定性知識表示和推理方法。

條件概率

P(A|B) 表示事件B發生的前提下,事件A發生的概率,叫做事件B發生下事件A的條件概率。

P(A|B)=P(AB)/P(B)

貝葉斯公式

P(B|A)=P(A|B)P(B)P(A)

P(B|A) 是根據A參數值去判斷其屬於類別B的概率,是後驗概率。P(B) 是直接判斷某個樣本屬於B的概率,是先驗概率。P(A|B) 是在類別B中觀察到A的概率,P(A) 是在樣本中觀測到A的概率。

樸素貝葉斯算法-原理

基本思想

對於給定的待分類項X{a1,a2,a3,...,an} ,求解此項出現的條件下,各個類別yi 出現的概率,哪個P(yi|X) 最大,就把此分類項X 分爲那個類別。

算法定義

  1. X{a1,a2,a3,...,an} 爲一個待分類項,每個ai 爲X的一個特徵屬性,特徵屬性之間互相獨立。
  2. C{y1,y2,y3,...,yn} 爲一個類別集合。
  3. 計算P(y1|X),P(y2|X),P(y3|X),...,P(yn|X)
  4. P(yk|X)=max{P(y1|X),P(y2|X),P(y3|X),...,P(yn|X)},Xyk

P(yk|X) 的步驟

  1. 找到一個已知分類的待分類項集合,這個集合叫訓練樣本集。
  2. 得到各個類別下,各個特徵屬性的條件概率,即
    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),
  3. 在貝葉斯公式中分母相當於在樣本數據中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
y1 :buys_computer=”yes”
y2 :buys_computer=”no”

第二階段:分類器訓練階段

計算每個類別在訓練樣本中出現的頻率,以及每個特徵屬性劃分對每個類別的條件概率。輸入時特徵屬性和訓練樣本,輸出是分類器。
計算每個類別的先驗概率:
P(y1) =9/14=0.643
P(y2) =5/14=0.357

計算每個特徵屬性對於每個類別的條件概率:
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

計算條件概率P(X|yi)
P(X|buyscomputer="yes") =0.222*0.444*0.667*0.667=0.044
P(X|buyscomputer="no") =0.600*0.400*0.200*0.400=0.019

第三階段:應用階段

計算對於每個yiP(X|yi)P(yi)
P(X|buys_computer="yes")P(buys_computer="yes") =0.444*0.643=0.028
P(X|buys_computer="no")P(buys_computer="no") =0.019*0.357=0.007

到此,對於待分類的樣本X,樸素貝葉斯分類預測buys_computer=”yes”

總結:

樸素貝葉斯算法的優點:
1. 算法邏輯簡單,易於實現
2. 分類過程中時空開銷小
3. 算法穩定,對於不同的數據特點其分類性能差別不大,健壯性比較好。

發佈了270 篇原創文章 · 獲贊 85 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章