統計學習方法——第4章 樸素貝葉斯法

樸素貝葉斯法(naive Bayes):

      樸素貝葉斯法是基於貝葉斯理論與特徵條件獨立假設的分類方法。  對於給定的數據集,基於特徵條件獨立假設學習輸入/輸出的聯合概率分佈P(X,Y),然後基於此模型,對給定的輸入x,利用貝葉斯定理求解最大化後驗概率的輸出y

4.1 學習策略:   

      設輸入空間\mathcal{X} \subseteq \mathbf{R}^{n}爲n維向量的集合,輸出空間爲類別標記的集合, \mathcal{Y}=\{ c_1,c_2,....,c_K\}X是定義在輸入空間\mathcal{X}的隨機向量,Y是定義在輸出空間\mathcal{Y}上的隨機變量,P(X,Y)是隨機變量XY的聯合概率分佈。

訓練數據集:T=\{ (x_1,y_1), (x_2, y_2), ...., (x_N, y_N) \}

先驗概率分佈:P(Y=c_k)\ \ \ k=1,2...,K

條件概率分佈:P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},...,X^{(n)}=x^{(n)}|Y=c_k)

樸素貝葉斯對條件概率做獨立性假設,即:P(X=x|Y=c_k)=\prod_{j=1}^{n}P(X^{(j)}|Y=c_k)

後驗概率:(給定輸入x

                                                         P(Y=c_k|X=x)=\dfrac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_k{P(X=x|Y=c_k)}P(Y=c_k)}

帶入得: 

                     P(Y=c_k|X=x)=\dfrac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_k{P(X=x|Y=c_k)}P(Y=c_k)}=\dfrac{P(Y=c_k)\prod _jP(X^{(j)}=x^{(j)}|Y=c_k)}{\sum P(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)}

4.2 樸素貝葉斯分類器

                                              y=f(x)=arg\max_c_k\dfrac{P(Y=c_k)\prod _jP(X^{(j)}=x^{(j)}|Y=c_k)}{\sum P(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)}

注意到所有分母均相同,由於化簡式爲:y=f(x)=arg\max_c_k{P(Y=c_k)\prod _jP(X^{(j)}=x^{(j)}|Y=c_k)}

後驗概率最大化的含義:

設損失函數爲0-1損失函數,期望風險函數爲:R_{exp}(f)=E[L(Y, f(X))],由於期望是條件概率的期望,則該條件期望爲:

                                                              R_{exp}(f)=E_x\sum_{k=1}^{K}[L(c_k, f(X))]P(c_k|X)

X=x逐個極小化,由此可得:

                                                      f(x)=arg\min_{y\in\mathcal{Y}}\sum_{k=1}^KL(c_k,f(X))P(c_k|X=x)

                                                      f(x)=arg\min_{y\in\mathcal{Y}}(1-P(Y=c_k|X=x))

                                                      f(x)=arg\max_{y\in\mathcal{Y}}(P(Y=c_k|X=x))

所以,根據期望風險最小化準則得到的後驗概率最大化準則:

                                                     f(x)=arg\max_{y\in\mathcal{Y}}(P(Y=c_k|X=x))

4.3 貝葉斯參數估計

極大似然估計:

先驗概率P(Y=c_k)的極大似然估計:P(Y=c_k)=\dfrac{ \sum_{i=1}^{N}I(Y=c_k)}{N}

條件概率P(X^{(j)}=a_{jl}|Y=c_k)的極大似然估計:P(X^{(j)}=a_{jl}|Y=c_k)=\dfrac{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k) }{\sum_{i=1}^{N}I(y_i=c_k)}

對給定的實例x=(x^{(1)},x^{(2)},...,x^{n})^T,計算y=f(x)=arg\max_c_k{P(Y=c_k)\prod _jP(X^{(j)}=x^{(j)}|Y=c_k)},確定實例類別。

貝葉斯估計:

由於極大似然估計會出現估計的概率值爲0的情況,使分類產生偏差,使用貝葉斯估計解決該問題。

先驗概率的貝葉斯估計:P_\lambda (Y=c_k)=\dfrac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+K\lambda}

條件概率的貝葉斯估計:   P_\lambda (X^{(j)}=a_{jl}|Y=c_k)=\dfrac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+S_i\lambda}

 

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