1、為什麼可以使用bayes對未知資料進行分類
首先要了解bayes的概率、條件概率,以及將條件概率應用到分類中
bayes的概率是乙個逆向概率,詳細內容檢視bayestheory.md
可以使用bayes主要是因為在知道某個條件的基礎上,可以反推某一事件發生的概率
在機器學習中使用的樣本資料就是我們提前知道的一些資訊,這些就是已知的資訊
這些已知的資訊在bayes的定理中,就是先驗概率的影響因子
利用bayes定理計算所有分類的概率,哪個概率高,這個未知的資料就是這個分類
2、bayes分類過程
根據所有訓練文章(在課本中就是所有句子)搞了乙個訓練的詞表,這個詞表中包含了文章**現的所有單詞
將每個句子轉換為數值型的詞向量,詞向量的長度就是詞表的長度
根據分類標籤,構建每一類別的出現的單詞總數(這裡面每個單詞單獨計算總數),構建結果是乙個長度為詞表長度的詞向量
計算每乙個類別的條件概率(每一類出現的每個單詞總數/這類的總詞數)
當有新的句子進行計算的時候,將這個新的句子轉換為詞向量,計算每個類別的概率,這個概率哪個大,就是哪個類別
3、困惑
我不知道為什麼書上面用下面的**計算某乙個未知類別上面的疑惑,我後期再學習的時候,再補充。上面個我不懂的 地方在於為什麼p1vec可以和待分類向量直接乘,按照貝葉斯公式,應該先計算p(vec2classify)和p(vec2classify|a),這兩個還沒有求,就直接乘,這個是為什麼?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的先驗概率
機器學習演算法 樸素貝葉斯
樸素貝葉斯 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 乙個果子是紅色的概...