機器學習 | 貝葉斯算法及應用
樸素貝葉斯是基于“特征之間是獨立的”這一樸素假設,應用貝葉斯定理的監督學習算法。
基于條件概率的貝葉斯定律數學公式
樸素貝葉斯算法
定義
樸素貝葉斯(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協議
- 目前還沒評論,等你發揮!