貝葉斯及貝葉斯網絡

目錄

 

1 貝葉斯理論

1.1 簡介

1.2 相關概念

2 樸素貝葉斯

2.1 思想

2.2 應用舉例

2.3 使用形式與場景

2.4 難點

3 貝葉斯網絡

9參考資料


1 貝葉斯理論

1.1 簡介

從一陣子複習了統計與概率論,應該是屬於頻率派。

頻率派把需要推斷的參數θ看做是固定的未知常數,即概率雖然是未知的,但最起碼是確定的一個值,同時,樣本X 是隨機的,所以頻率派重點研究樣本空間,大部分的概率計算都是針對樣本X 的分佈;

而貝葉斯派的觀點則截然相反,他們認爲參數是隨機變量,而樣本X 是固定的,由於樣本是固定的,所以他們重點研究的是參數的分佈。

二者本質上並不衝突,只是在對"隨機"的認識上角度不同。貝葉斯認爲隨機是由於人的認知不夠導致的,對於足夠信息的人是已知的,但是對於缺少相關信息的人是未知的。

1.2 相關概念

先驗概率:根據歷史和經驗的出來的概率,下雨的概率

後驗概率:在得到證據之後,更新推斷之後的概率。 比如天上有烏雲,下雨的概率

條件概率,在發生某個條件之後的某個事件發生的概率,即用某個條件去調整先驗概率,得到的就是後驗概率。

全概率公式:

設事件是一個完備事件組,則對於任意一個事件C,若有如下公式成立:

條件概率公式

P(A|B) = P(AB)/P(B) = [P(B|A)|P(A)]/P(B)

2 樸素貝葉斯

2.1 思想

認爲特徵之間的關係是獨立的

貝葉斯與監督式學習比如

待分類項特徵x =(a1,a2,a3), 類別y1,y2。

分類的過程其實就是分別求在a1,a2,a3條件下y1發生的概率和在在a1,a2,a3條件下y2發生的概率。概率最大這就是我們需要的確定的分類。

2.2 應用舉例

1 Google搜索的備選詞。 在輸入詞的條件下,求備選詞的概率,概率最大的就是我們需要的

2 醫療診斷, 在給定的若干項特徵下,求相關可能的疾病的概率,概率最大的就是最可能的疾病。

3 垃圾郵件,賬號真實性檢測

2.3 使用形式與場景

相對於決策樹,KNN之類的算法,樸素貝葉斯需要關注的參數是比較少的,這樣也比較容易掌握。在scikit-learn中,一共有3個樸素貝葉斯的分類算法類。

分別是GaussianNB,MultinomialNB和BernoulliNB。其中GaussianNB就是先驗爲高斯分佈的樸素貝葉斯,MultinomialNB就是先驗爲多項式分佈的樸素貝葉斯,而BernoulliNB就是先驗爲伯努利分佈的樸素貝葉斯。

import numpy as np
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
Y = np.array([1, 1, 1, 2, 2, 2])
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
#擬合數據
clf.fit(X, Y)
print "==Predict result by predict=="
print(clf.predict([[-0.8, -1]]))
print "==Predict result by predict_proba=="
print(clf.predict_proba([[-0.8, -1]]))
print "==Predict result by predict_log_proba=="
print(clf.predict_log_proba([[-0.8, -1]]))

 

2.4 難點

在實際問題中,先驗概率的獲取其實並不容易。

3 貝葉斯網絡

如果特徵之間的關係是不是獨立的,就需要一種描述特徵之間關係的有向無環圖。

 

9參考資料

https://www.cnblogs.com/pinard/p/6074222.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章