機器學習基礎演算法 樸素貝葉斯

2021-10-10 07:46:25 字數 1067 閱讀 8941

1、為什麼可以使用bayes對未知資料進行分類

首先要了解bayes的概率、條件概率,以及將條件概率應用到分類中

bayes的概率是乙個逆向概率,詳細內容檢視bayestheory.md

可以使用bayes主要是因為在知道某個條件的基礎上,可以反推某一事件發生的概率

在機器學習中使用的樣本資料就是我們提前知道的一些資訊,這些就是已知的資訊

這些已知的資訊在bayes的定理中,就是先驗概率的影響因子

利用bayes定理計算所有分類的概率,哪個概率高,這個未知的資料就是這個分類

2、bayes分類過程

根據所有訓練文章(在課本中就是所有句子)搞了乙個訓練的詞表,這個詞表中包含了文章**現的所有單詞

將每個句子轉換為數值型的詞向量,詞向量的長度就是詞表的長度

根據分類標籤,構建每一類別的出現的單詞總數(這裡面每個單詞單獨計算總數),構建結果是乙個長度為詞表長度的詞向量

計算每乙個類別的條件概率(每一類出現的每個單詞總數/這類的總詞數)

當有新的句子進行計算的時候,將這個新的句子轉換為詞向量,計算每個類別的概率,這個概率哪個大,就是哪個類別

3、困惑

我不知道為什麼書上面用下面的**計算某乙個未知類別

p1 =

sum(vec2classify * p1vec)

+ log(pclass1)

p0 =

sum(vec2classify * p0vec)

+ log(

1.0- pclass1)

if p1 > p0:

return

1else

:return

0上面變數的含義:vec2classify待分類詞向量,p1vec為類別a的概率向量,p0vec為類別b的概率向量,pclass1為a的先驗概率

上面個我不懂的 地方在於為什麼p1vec可以和待分類向量直接乘,按照貝葉斯公式,應該先計算p(vec2classify)和p(vec2classify|a),這兩個還沒有求,就直接乘,這個是為什麼?

上面的疑惑,我後期再學習的時候,再補充。

機器學習演算法 樸素貝葉斯

樸素貝葉斯 na ve bayes 屬於監督學習演算法,實現簡單,學習效率高 由於建立在貝葉斯理論之上,涉及到統計學方法,所以在大樣本量下會有較好的表現,當然樣本需要在一定程度上反映真實分布情況。該演算法的一條假設為 輸入的特徵向量的各分量之間兩兩條件獨立。因為這條假設比較嚴格,能夠完全符合該假設的...

機器學習 樸素貝葉斯

樸素貝葉斯原理 1.貝葉斯公式 2.樸素貝葉斯的模型 3.後驗概率最大化的含義 4.樸素貝葉斯的引數估計 4.1.特徵是離散值 假設符合多項式分布 4.2.特徵是稀疏的離散值 假設符合伯努利分布 4.3.特徵是連續值 假設符合正態分佈 5.樸素貝葉斯演算法過程 6.樸素貝葉斯演算法小結 scikit...

機器學習基礎 樸素貝葉斯分類

可以將公式改寫為 c表示乙個分類,f表示屬性對應的資料字段 這裡舉個例子,c代表蘋果,f代表紅色 p 蘋果 紅色 p 紅色 蘋果 xp 蘋果 p 紅色 通過蘋果是紅色的條件概率可以得到紅色是蘋果的條件概率 通過先驗概率可以算出後驗概率 乙個果子是蘋果的概率為0.3 p c 0.3 乙個果子是紅色的概...