機器學習 | 貝葉斯算法及應用

0 評論 6709 瀏覽 18 收藏 10 分鐘

樸素貝葉斯是基于“特征之間是獨立的”這一樸素假設,應用貝葉斯定理的監督學習算法。

基于條件概率的貝葉斯定律數學公式

樸素貝葉斯算法

定義

樸素貝葉斯(Naive Bayes,NB)是基于“特征之間是獨立的”這一樸素假設,應用貝葉斯定理的監督學習算法,是一種分類算法;

對應給定的樣本X的特征向量x1,x2,……,xm;該樣本X的類別y的概率可以由貝葉斯公式得到:

區別

KNN分類算法和決策樹分類算法最終都是預測出實例的確定的分類結果,但是,有時候分類器會產生錯誤結果;而樸素貝葉斯分類算法則是給出一個最優的猜測結果,同時給出猜測的概率估計值。

推導

(1)特征屬性X之間是獨立的,所以得到

(2)優化得

(3)因為分母對于所有類別為常數,因為我們只要將分子最大化皆可。又因為各特征屬性是條件獨立的,所以有

流程

  • 設x={a1,a2,……,am}為待分類項,其中a為x的一個特征屬性;
  • 類別集合為C={y1,y2,……,yn};
  • 分別計算P(y1|x),P(y2|x),…….,P(yn|x)的值(貝葉斯公式)

高斯樸素貝葉斯

定義

Gaussian Naive Bayes是指當特征屬性為連續值時,而且分布服從高斯分布,那么在計算P(x|y)的時候可以直接使用高斯分布的概率公式,其他的與樸素貝葉斯一致

伯努利樸素貝葉斯

定義

Bernoulli Naive Bayes是指當特征屬性為連續值時,而且分布服從伯努利分布,? 那么在計算P(x|y)的時候可以直接使用伯努利分布的概率公式:

伯努利分布是一種離散分布,只有兩種可能的結果。1表示成功,出現的概率為p;? 0表示失敗,出現的概率為q=1-p;其中均值為E(x)=p,方差為Var(X)=p(1-p)

多項式樸素貝葉斯

定義

Multinomial Naive Bayes是指當特征屬性服從多項分布(特征是離散的形式的時候),從而,對于每個類別y,每個特征屬性都有一個對應的參數? θy=(θy1,θy2,……,θyn),其中n為特征屬性的取值數目,那么P(xk=i|y)的概率為θyi。

舉例應用

我們要解決的問題是,網站上有人發布了一條新的采購信息,采購信息的四個特點是采購產品沒有在詞庫中,沒有經過手機號校驗,沒有詳情,非會員發布的,需要判斷此條采購信息是否真實

準備階段

確定特征屬性x={a1,a2, a3 ,a4}

a1? 發布的采購信息產品詞是否在我們詞庫中;

a2? 發布信息時是否對手機號進行的短信驗證碼的校驗;

a3 ?發布的采購信息是否有詳情;

a4? 發布者是不是網站的會員;

確定類別集合C={y1,y2 }

y1 線索為真實采購;

y2 線索為虛假采購;

獲取訓練樣本

樣本數據如下:

訓練階段

下面我將一個一個的進行統計計算(在數據量很大的時候,根據中心極限定理,頻率是等于概率的):

(1)對每個類別計算P(y)

1. P(y=真實)=6/12(總樣本數)=1/2

2. P(y=假)=6/12(總樣本數)=1/2

(2)對每個特征屬性計算所有劃分的條件概率P(x | y?)

在真實條件下

針對特征有無產品詞計算條件概率:

P(x1=有產品詞 | y)=1/2

P(x1=沒有產品詞 | y)=1/2

針對特征是否經過手機號校驗計算條件概率:

P(x2=經過校驗 | y)=5/6

P(x2=不經過校驗 | y)=1/6

針對特征采購詳情校驗計算條件概率:

P(x3=有詳情 | y)=5/6

P(x3=無詳情 | y)=1/6

針對特征采購詳情校驗計算條件概率:

P(x4=會員 | y)=5/6

P(x4=非會員 | y)=1/6

在虛假條件下:

針對特征有無產品詞計算條件概率:

P(x1=有產品詞 | y)=2/3

P(x1=沒有產品詞 | y)=1/3

針對特征是否經過手機號校驗計算條件概率:

P(x2=經過校驗 | y)=1/2

P(x2=不經過校驗 | y)=1/2

針對特征采購詳情校驗計算條件概率:

P(x3=有詳情 | y)=0

P(x3=無詳情 | y)=1

針對特征采購詳情校驗計算條件概率:

P(x4=會員 | y)=1/3

P(x4=非會員 | y)=2/3

應用階段

目前樣本X為(沒有在詞庫中,沒有經過手機號校驗,沒有詳情,非會員發布)

(1)計算此條線索為真實的概率

P(xi | y=真實)= P(x1=沒有產品詞 | y)* P(x2=不經過校驗 | y)* P(x3=無詳情 | y)* P(x4=非會員 | y)

=1/2*1/6*1/6*1/6

P(y=真實)= 1/2

(2)計算此條線索為虛假的概率

P(xi | y=虛假)= P(x1=無產品詞 | y)* P(x2=不經過校驗 | y)* P(x3=無詳情 | y)* P(x4=非會員 | y)

P(y=虛假)= 1/2

(3)比較P(y =虛假| x1 , x2 , x3 , x4 )與P(y =真實| x1 , x2 , x3 , x4 )大小,選擇最大項作為X所屬分類,此條線索為虛假

優缺點

優點:算法邏輯簡單,易于實現;

缺點:如果特征屬性之間相關性較大時,分類效果不好。

本文由 @SincerityY 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!