生成模型
條件概率 p(a|b)
=p(a
b)p(
b)全概率: p
(a)=
=∑in
p(a|
bi)p
(bi)
∑inp
(abi
),把所
有包含a
的情況都
加起來
貝葉斯公式: p
(a|b
)↓p(
ak|b
)==p
(ab)
→p(b
|ak)
p(ak
)p(b
)→∑i
p(b|
ai)p
(ai)
p(b|
ak)p
(ak)
∑i=1
kp(b
|ai)
p(ai
)
對於給定的條件b = [xy=1,x2
,⋯,x
n]分母p(b)為定值,所以只需要比較分子部分即可得出屬於哪個的概率大.
argmaxai
p(ai
)∏k=
0np(
xk|a
i),a
i為類別
[y1,
y2,⋯
,ym]
模型學習得到 類別的概率分布,在類別條件下的特徵概率分布.樸素貝葉斯模型 為生成模型
防止概率=0,計數的時候每個類別+λ (λ>0,λ=1時為拉普拉斯平滑)
樸素貝葉斯
樸素貝葉斯演算法是一種基於概率統計的分類方法,它主要利用貝葉斯公式對樣本事件求概率,通過概率進行分類。以下先對貝葉斯公式做個了解。對於事件a b,若p b 0,則事件a在事件b發生的條件下發生的概率為 p a b p a b p b 將條件概率稍作轉化即可得到貝葉斯公式如下 p a b p b a ...
樸素貝葉斯
1.準備資料 從文字中構建詞向量 2.訓練演算法 從詞向量計算概率 3.測試演算法 儲存為 bayes.py 檔案 參考 coding utf 8 from numpy import 文字轉化為詞向量 def loaddataset postinglist my dog has flea probl...
樸素貝葉斯
機器學習是將資料轉化為決策面的過程 scikit learn縮寫為sklearn 訓練乙個分類器,學習之後 其處理的準確性 def nbaccuracy features train,labels train,features test,labels test from sklearn.bayes ...