天天看點

【樸素貝葉斯算法】{1} —— 使用條件機率來分類

條件機率:

條件機率(英語:conditional probability)就是事件A在事件B發生的條件下發生的機率。

條件機率表示為 P ( A ∣ B ) P(A|B) P(A∣B),讀作“A在B發生的條件下發生的機率”。

文氏圖:

【樸素貝葉斯算法】{1} —— 使用條件機率來分類

根據條件機率推導貝葉斯定理:

由    P ( A ∣ B ) = P ( A ∩ B ) P ( B )   , 由\,\,P(A|B)=\frac{P(A\cap{B})}{P(B)}\,, 由P(A∣B)=P(B)P(A∩B)​,

得    P ( A ∩ B ) = P ( A ∣ B ) P ( B )   , 得\,\,P(A\cap{B})=P(A|B){P(B)}\,, 得P(A∩B)=P(A∣B)P(B),

同 理    P ( A ∩ B ) = P ( B ∣ A ) P ( A )   , 同理\,\,P(A\cap{B})=P(B|A){P(A)}\,, 同理P(A∩B)=P(B∣A)P(A),

故    P ( A ∣ B ) P ( B ) = P ( B ∣ A ) P ( A )   , 故\,\,P(A|B){P(B)}=P(B|A){P(A)}\,, 故P(A∣B)P(B)=P(B∣A)P(A),

因 此    P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) 是以\,\,P(A|B)=\frac{P(B|A){P(A)}}{P(B)} 是以P(A∣B)=P(B)P(B∣A)P(A)​

假設現在有一個資料集,它由兩類資料組成,資料分布如下圖所示:

【樸素貝葉斯算法】{1} —— 使用條件機率來分類

現在用 p 1 ( x , y ) p1(x,y) p1(x,y) 表示資料點 ( x , y ) (x,y) (x,y) 屬于類别1(圖中紅色圓點表示的類别)的機率,用 p 2 ( x , y ) p2(x,y) p2(x,y) 表示資料點 ( x , y ) (x,y) (x,y) 屬于類别2(圖中藍色三角形表示的類别)的機率,那麼對于一個新資料點 ( x , y ) (x,y) (x,y),可以用下面的規則來判斷它的類别:

  • 如果 p 1 ( x , y ) > p 2 ( x , y ) p1(x,y)>p2(x,y) p1(x,y)>p2(x,y),那麼類别為1
  • 如果 p 1 ( x , y ) < p 2 ( x , y ) p1(x,y)<p2(x,y) p1(x,y)<p2(x,y),那麼類别為2

應用貝葉斯準則,得

p ( c i ∣ x , y ) = p ( x , y ∣ c i ) p ( c i ) P ( x , y ) p(c_i|x,y)=\frac{p(x,y|c_i)p(c_i)}{P(x,y)} p(ci​∣x,y)=P(x,y)p(x,y∣ci​)p(ci​)​

參數具體意義:

給定某個由x、y表示的資料點,該資料點來自類别 c i c_i ci​ 的機率是多少?資料點來自類别 c 2 c_2 c2​ 的機率又是多少?注意這些機率與剛才給出的機率 p ( x , y ∣ c 1 ) p(x,y|c_1) p(x,y∣c1​)并不一樣,不過可以使用貝葉斯準則來交換機率中條件與結果。

使用上述定義,可以定義貝葉斯分類準則為:

  • 如果 P ( c 1 ∣ x , y ) > P ( c 2 ∣ x , y ) P(c_1|x, y) > P(c_2|x,y) P(c1​∣x,y)>P(c2​∣x,y),則屬于類别 c 1 c_1 c1​。
  • 如果 P ( c 1 ∣ x , y ) < P ( c 2 ∣ x , y ) P(c_1|x, y) < P(c_2|x, y) P(c1​∣x,y)<P(c2​∣x,y),則屬于類别 c 2 c_2 c2​。
使用貝葉斯準則,可以通過已知的三個機率值來計算未知的機率值。

參考資料:《機器學習實戰》

繼續閱讀