目錄
1. 樸素貝葉斯分類(最小錯誤率貝葉斯)
首先得清楚:樸素貝葉斯就是最小錯誤率貝葉斯,同時也是最大後驗概率貝葉斯。
樸素貝葉斯是基於貝葉斯定理與特徵條件獨立假設的分類方法。
對於給定的訓練數據集,先假設輸入輸出的聯合概率分佈(特徵條件獨立);然後給定一個輸入x,利用貝葉斯頂級求出輸出y。
可以簡單的認爲訓練的數據可以得到先驗概率分佈和條件概率分佈,然後輸入一個實例,計算這個實例的後驗概率,通過後驗概率的大小判斷輸出值y。
1.1 理論:
設訓練空間爲,是由P(X,Y)獨立同分布產生
先驗概率分佈:,其中是訓練空間的輸出標籤。
例如一個訓練數據的輸入是那麼,。
條件概率分佈:,可以理解爲在發生的概率下,x發生的概率,但x又有,之前說過訓練空間是獨立同分布,因此
貝葉斯定理:,把條件概率分佈帶入貝葉斯公式中,可以得到:
。
通過這個貝葉斯定理,輸入一個x,我們就可以計算在x的條件概率下y的概率。這是樸素貝葉斯分類算法的基本公式。
因此樸素貝葉斯分類器可以表示爲:
1.2 樸素貝葉斯算法流程:
輸入:訓練數據,其中,
輸出:某個輸入x的分類
- 計算先驗概率和條件概率,
- 輸入的實例,計算後驗概率:
- 確定輸入實例x的類,在輸出y:
1.3 舉例說明
例如有一個表格,輸入是X(),輸出是Y。的取值有1,2,3,的取值有S,M,L。求給一個輸入x=(2,S)的輸出標記類y的值。
1.3.1 計算步驟:
1.3.2 程序代碼:
from sklearn.naive_bayes import GaussianNB
# x_1 取值1 ,2 ,3
# x_2 取值s,m , l用4, 5, 6代替
X_train = [[1, 4], [1, 5], [1, 5], [1, 4], [1, 4], [2, 4], [2, 5], [2, 5], [2, 6], [2, 6],
[3, 6], [3, 5], [3, 5], [3, 6], [3, 6]]
y_train = [-1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1]
clf = GaussianNB()
clf.fit(X_train, y_train)
print(clf.predict([[2,4]]))
輸出結果爲-1,這和手動計算結果一致。
2. 貝葉斯估計
從上面,可以使用樸素貝葉斯完成分類,但是如果出現概率爲0的情況時,會影響到後驗概率計算的結果,產生偏差,所以引入貝葉斯估計算法,就是在原來的最小錯誤率貝葉斯的基礎上增加一個參數和權重。
條件概率的貝葉斯估計公式爲:,可以看到,在隨機變量各個取值的頻數上加了一個正數(),時就是極大似然估計,也是樸素貝葉斯,時稱爲拉普拉斯平滑。
是每個輸入的維度,例如上個例題中,X分爲的輸入均是3維的,即輸入是,所以
先驗概率的貝葉斯估計公式爲:,其中K是y的種類個數,如,那麼K=2。
2.1 算法流程:
輸入:訓練數據,其中,
輸出:某個輸入x的分類
確定, =3,K=2
- 計算先驗概率和條件概率:,
- 輸入的實例,計算後驗概率
- 確定輸入實例x的類,在輸出y:
2.2 舉例說明
同樣是上一個例題問題,計算過程如下:
3 最小風險貝葉斯
在做決策的時候,我們往往不僅僅關心錯誤率是否最小。有時,我們更加關心某種決策帶來的損失是否可以接受,以及接受的程度是多少。例如,在判斷病人是否得傳染病時,若把正常人判定爲病人,那麼患者就需要多承擔費用。若把傳染病人判定成正常人,那麼會帶來更多人感染的風險,損失將會是巨大的。
從這可以看出,引入風險後的貝葉斯是一種符合現實生活中的情景的。因此,需要事先做大量的調查,找到損失的分佈,計算決策表。
引入風險函數,或者損失函數。假設x取,採用作爲當前風險。那麼損失函數定義爲:。按照損失函數的形式求出一個矩陣,稱之爲決策表。把決策表中的損失和樸素貝葉斯求到的分類概率乘起來,得到條件風險。最後選擇最小風險的方式,選出風險最小的分類。
3.1算法流程:
- 計算先驗概率和條件概率,
- 輸入的實例,計算後驗概率:
- 利用決策表計算後驗風險:
- 選擇最小風險,輸出y:
3.2 案例說明
繼續 以上面案例爲例,通過樸素貝葉斯部分內容,得到
假設決策表如下:
1 | -1 | |
1 | 0 | 1 |
-1 | 6 | 0 |
所以得到的後驗風險爲:
所以,根據最小風險,選擇作爲最後的結果輸出。
決策表是假設出來的,在現實生活中,決策表是通過大量的樣本估計出來的。從決策表中可以看出,把1估計成-1的風險是1,把-1估計成1的風險則是6,因此把-1估計錯誤的風險代價要大得多。
--------------------------------------------------------------------------------------------------------------------------------------------------------
2020-6-18更新了最小風險貝葉斯部分內容。