1. 程式人生 > >樸素貝葉斯分類器原理與應用、EM演算法原理及例項

樸素貝葉斯分類器原理與應用、EM演算法原理及例項

文章目錄

貝葉斯定理與概率論中相關概念

具體原理可看這篇文章:https://blog.csdn.net/zgcr654321/article/details/85201614

貝葉斯公式:

P ( c x ) = P (

c ) P ( x c ) P
( x )
= P ( x , c ) P ( x ) P ( c | x ) = \frac { P ( c ) P ( x | c ) } { P ( x ) } = \frac { P ( x , c ) } { P ( x ) }

其中:

  • P(c|x)是後驗概率,一般是我們求解的目標。表示當擁有x這個條件後c的概率,由於有x這個條件,後驗概率可能與先驗概率不同;

  • P(x|c)是條件概率,又叫似然概率,它表示在承認先驗的條件下另一個與之相關的隨機變數的表現,一般是通過歷史資料統計得到(即通過一個已知的小樣本統計得到),注意它也是後驗概率,但是在計算貝葉斯公式時是已知量。

  • P© 是先驗概率,它表示我們對一個隨機變數概率最初的認識,一般都是人主觀給出的。貝葉斯中的先驗概率一般特指它。

  • P(x)其實也是先驗概率,只是在貝葉斯公式中往往被認為是已知的,因此它一般被當做一個常量看待。

  • P(x,c)是聯合概率,即x和c同時發生時的概率。

在貝葉斯分類器中,P(c|x)通常表示P(類別|特徵)。

其中特徵x可以是一個向量,即有很多個特徵:

X = ( x 1 , x 2 , x 3 , , x n ) X = \left( x _ { 1 } , x _ { 2 } , x _ { 3 } , \ldots , x _ { n } \right)

同理,c也可以是一個向量。

假設c可以取值c1,c2,c3,如果下列條件已知:

p ( c 1 ) = o , p ( c 2 ) = p , p ( c 3 ) = q , P ( x c 1 ) = a , P ( x c 2 ) = b , P ( x c 3 ) = c , p ( x ) = m p \left( c _ { 1 } \right) = o , p \left( c _ { 2 } \right) = p , p \left( c _ { 3 } \right) = q , P ( x | c _ { 1 } ) = a , P ( x | c _ { 2 } ) = b , P ( x | c _ { 3 } ) = c , p ( x ) = m

那麼我們可以計算下列p(c|x):

p ( c 1 x ) = o a m , p ( c 2 x ) = p b m , p ( c 3 x ) = q c m p \left( c _ { 1 } | x \right) = \frac { o * a } { m } , p \left( c _ { 2 } | x \right) = \frac { p * b } { m } , p \left( c _ { 3 } | x \right) = \frac { q * c } { m }

由於p(c1|x)、p(c2|x)、p(c3|x)的和必為1,我們可以得到oa+pb+qc=m,因為oa,pb,qc的值都是可以計算出來的,m自然也就得到了。

屬性條件獨立性假設

當我們想估計上面的P(c|x)時,它往往是所有特徵上的聯合概率,難以從有限的訓練樣本直接估計而得。

因此我們採用了一種屬性條件獨立性假設:即假設每個屬性獨立地對分類結果發
生影響。

如果假設X中各個屬性是獨立的,那麼有:

X = ( x 1 , x 2 , x 3 , , x n ) X = \left( x _ { 1 } , x _ { 2 } , x _ { 3 } , \ldots , x _ { n } \right)

故p(c|x)可寫為:

P ( c x ) = P ( c ) P ( x c ) P ( x ) = P ( c ) P ( x ) Π i = 1 d P ( x i c ) P ( c | x ) = \frac { P ( c ) P ( x | c ) } { P ( x ) } = \frac { P ( c ) } { P ( x ) } \Pi _ { i = 1 } ^ { d } P \left( x _ { i } | c \right)

注意 p ( x ) = P ( x 1 ) P ( x 2 ) P ( x n ) p ( x ) = P \left( x _ { 1 } \right) P \left( x _ { 2 } \right) \dots P \left( x _ { n } \right)

由於分母是常量,與c無關,故我們計算c的各種取值的可能性時並不會對各結果的相對大小產生影響。因此可以忽略。

樸素貝葉斯分類器

樸素貝葉斯分類器公式

現在建立一個分類器,我們用已知的類變數c的所有可能的值計算概率,並選擇輸出概率最大的結果:

h n b ( x ) = argmax c y P ( c ) Π i = 1 d P ( x i c ) h _ { n b } ( x ) = \operatorname { argmax } _ { c \in y } P ( c ) \Pi _ { i = 1 } ^ { d } P \left( x _ { i } | c \right)

接下來我們只要計算P©與P(xi|c)即可。P©被稱為類概率,P(xi|c)被稱為條件概率。

對於一個輸入的測試樣本,我們要分別對每個類 c i c_{i} 都計算其 h n b ( x ) h _ { n b } ( x ) 值。最後去 h n b ( x ) h _ { n b } ( x ) 值最大的那個類即為這個測試樣本預測的所屬類。

離散屬性與連續屬性值的分別處理

在估計條件概率時,若 P ( x i c ) P \left( x _ { i } | c \right)