西瓜書 第七章 貝葉斯分類器

7.1貝葉斯決策論

貝葉斯分類器:各類分類器中錯誤率最小或者在給定風險情況下平均代價最小的分類器。通過后驗概率來計算損失的一類分類器。
貝葉斯決策論:用于在知道概率和誤判損失來選擇最優(yōu)的類別標記。
我們要如何理解貝葉斯決策論呢?課本給了例子,我們一起來看一下吧。

假定有N種可能的標記類別,即\gamma=\{c_1,c_2,..,c_N{\}},\lambda_{ij}是將一個真實標記為c_j的樣本分為c_i所產生的損失?;?strong>后驗概率P(c_i|x)可以將樣本x分類為c_i所產生的期望損失,即樣本x的條件風險記為:
R(c_i|x)=\sum_{j=1}^N\lambda_{ij}P(c_j|x)
要怎么理解這個公式呢?首先是等式左邊,將樣本x分為c_i所產生的代價,而等式右邊既然我們將x分為c_i但是如果樣本是c_j那么我們就要付出代價,所以等式左邊是x為c_j的概率稱為分類錯誤的損失,只有當i=j時損失為0,所以這個等式是計算將樣本分為某個類別所產生的損失或者所需要付出的代價。

但是貝葉斯決策并不是要獲得某個樣本分類代價最小,而是要全體樣本分類代價最小,這才是貝葉斯分類器。
所以貝葉斯決策其實就是最小化總體風險。在定義單個樣本的條件風險上,我們給出總體風險:R(h)=E_x[R(h(x)|x)]
描述的是所有樣本的條件風險的期望,其中h是用于產生分類結果的判斷準則h:x->y,貝葉斯分類器就是最小化總體風險的判斷準則。
那要如何求得h呢?若對于每個樣本,通過h對其分類能使得每個條件風險最小,那么總體風險也將最小,即:

h^*(x)=arg\min_{c∈\lambda}R(c|x)
此時,h^*被稱為貝葉斯分類器R(h^*)稱為貝葉斯風險。

具體一點,當最小化目標是分類錯誤率時,分類正確代價為0,分類錯誤代價為1。
此時條件風險:R(c|x)=1-P(c|x)
要如何理解這個公式呢?

R(c_i|x)=1*P(c_1|x)+1*P(c_2|x)...+0*P(c_i|x)...+1*P(c_N|x)整理后就得到條件風險了。
R(c|x)=1-P(c|x)。

所以此時的最小化錯誤率的貝葉斯最優(yōu)分類器為:
h^*(x)=arg\max_{c∈y}P(c|X)
所以現(xiàn)在只要求得后驗概率就可以得到貝葉斯分類器,來進行最優(yōu)分類了,但是后驗概率如何獲得呢?
主要有兩種方法:①判別式模型:給定x,通過直接建模P(c|x)來預測c。決策樹、BP神經網絡、支持向量機都是這種模型。②生成式模型:給定x,對聯(lián)合概率分布P(x,c)建模,來求后驗概率P(c|x)=\frac{P(x,c)}{P(x)}?;谪惾~斯定理我們可以得到P(c|x)=\frac{{P(c)P(x|c)}}{P(x)}

在貝葉斯定理中,每個概率都有約定俗成的名稱:
P(c)是C的先驗概率,因為不用考慮如何x的因素。
P(x|c)是樣本x相對于c的條件概率,稱為類條件概率。如果對概率論有所了解,那么也可以認為在C條件下發(fā)生x的概率。
P(c|x)c相對于x的條件概率,稱為后驗概率。
如果對于這三個概率還是弄不清楚可以看一下這個視頻(https://www.bilibili.com/video/av84799361)。

理一下思路:我們要進行多分類任務,要求分類錯誤率要盡量小,所以求得一個分類判別來使的錯誤率小,這一個分類判別就是貝葉斯分類器。通過上面的式子可知要得到這個判別式我們要求后驗概率,而后驗概率有兩種方法,我們利用第二種使得求后驗概率變?yōu)榍笙闰灨怕屎皖悧l件概率,求出這兩個概率就可以得到貝葉斯分類器完成分類任務了。
先驗概率可以通過各類樣本出現(xiàn)的頻率來估計,類條件概率用極大似然估計來求。

7.2極大似然估計

估計類條件概率常用的策略,先假定其具有某種確定的分布,然后基于訓練集樣本對概率分布的參數(shù)進行估計,從而得到類條件概率。

具體一點來說明,記關于類別C的類條件概率為P(c|x),假定P(c|x)具有確定的形式并且被參數(shù)向量\theta_c唯一確定,我們的任務就是利用訓練集D估計參數(shù)\theta_c。為明確起見我們將p(c|x)記為P(x|\theta_c)。
D_c表示訓練集D中第c類樣本組成的集合,假設這些樣本獨立同分布,則參數(shù)\theta_c對于數(shù)據(jù)集D_c的似然:P(D_c|\theta_c)=\Pi_{x∈D_c}P(x|\theta_c)
由于連乘容易造成下溢,通常使用對數(shù)似然:
LL(\theta_c)=\log{P(D_c|{\theta_c})}=\sum_{x∈D_c}\log{P(x|{\theta_c})}
所謂的極大似然估計就是找出令似然最大的參數(shù)\theta_c,所以只要對上面的式子求導得到最大來取得\theta_c的值就可以,知道了\theta_c就可以求得類條件概率了。
【補充:假設若某種分布為正太分布,即類條件概率服從正太分布,那么\theta_c即為方差和均值,此時的\theta_c不再是一個參數(shù)了,而是一個參數(shù)向量了,那么求導就變成了求偏導,課本給出一個結論通過極大似然估計求得若其服從正太分布,那么均值為樣本均值,方差是(x-\hat{u_c})(x-\hat{u_c})^T的均值?!?/p>

7.3樸素貝葉斯分類器

既然我們已經了解了貝葉斯分類器是什么,怎么求之后,我們來看一下第一個分類器樸素貝葉斯分類器。
前面我們知道求后驗概率的困難在于類條件概率(所有屬性上的聯(lián)合概率)難求,所以才用到了極大似然估計來求類條件概率。而樸素貝葉斯分類器采用了“屬性條件獨立性假設”即所有屬性獨立的對分類結果產生影響。
所以基于其屬性條件獨立性假設,后驗概率為:P(c|x)=\frac{{P(c)P(x|c)}}{P(x)}={\frac{P(c)}{P(x)}}\Pi^d_{i=1}P(x_i|c)其中d為屬性數(shù)目,x_i為i在第i個屬性上的取值。
因為對于所有類別P(x)相同,所以樸素貝葉斯分類器的表達式:h_{nb}(x)=\argmax_{c∈\gamma}P(c)\Pi^d_{i=1}P(x_i|c)

在樸素貝葉斯分類器訓練過程就是利用訓練集來估計類條件概率和先驗概率
先驗概率:P(c)=\frac{|D_c|}{|D|}其中D_c表示訓練集D中第c類樣本組成的集合。
類條件概率:①離散型屬性P(x_i|c)=\frac{|D_{c,x_i}|}{|D_c|},其中D_{c,x_i}表示D_c中在第i個屬性上取值為x_i的樣本組成的集合。
????????????????????????②連續(xù)屬性,假定p(x_i|c)~N(u_{c,i},\sigma^2_{c,i}),其中u_{c,i},\sigma^2_{c,i}分別是第c類樣本在第i個屬性上取值的均值和方差,則有P(x_i|c)={\frac{1}{\sqrt{2\pi}\sigma_{c,i}}}exp(-\frac{(x_i-u_{c,i})^2}{2\sigma_{c.i}^2})

上面就是樸素貝葉斯分類器的式子以及如何求解,課本中有一個西瓜判別示例,對樸素貝葉斯分類器進行了很詳細的說明,我這里就不在舉例了。

平滑

某個屬性值在訓練集中沒有與某個類同時出現(xiàn)過,那么當我們利用樸素貝葉斯求解時,其類條件概率則為0,整個式子將為0,導致其他信息攜帶的信息被抹去,所以要進行平滑。常用的平滑方法有拉普拉斯修正。舉個例子,若對西瓜進行分類這時測試集出現(xiàn)了一個樣本,它有一個屬性值“敲聲=清脆”沒有在訓練集(某個類)“好瓜”中出現(xiàn)過,那么求得這個測試樣本為好瓜的概率就為0了,所以要進行平滑。

\hat{P(c)}=\frac{|D_c|+1}{|D|+N}其中N表示訓練集D中可能的類別數(shù),如:乳腺癌中的良性與惡性N=2。
\hat{P(x_i|c)}={\frac{|D_{c,x_i}|+1}{{|D_c|+N_i}}}(式子1)其中N_i表示第i個屬性可能的取值數(shù)。
雖然修正后這個未出現(xiàn)過的屬性值的類條件概率很小,但是由于其他屬性值的存在,連乘后便可以幫助其進行正確分類了。

7.4半樸素貝葉斯分類器

在樸素貝葉斯分類器中假設所有屬性相互獨立(現(xiàn)實中基本不可能的),這里我們放松一下假設,考慮部分屬性鍵的相互依賴。半樸素貝葉斯分類器常采用的策略獨依賴估計,即假設每個屬性在類別之外最多僅依賴一個其他屬性,得到:P(c|x){\propto}P(c)\Pi^d_{i=1}P(x_i|c,pa_i)其中pa_ix_i所依賴的屬性,稱為x_i的父屬性。
如果父類屬性已知我們就可以通過式子1來求估計P(x_i|c,pa_i),所以半樸素貝葉斯分類器在于如何確定其父屬性,不同的做法產生不同的獨依賴分類器。

這里介紹三種獨依賴分類器:
①SPODE,所有屬性都依賴于同一個屬性,稱為“超父”,可以通過交叉驗證等模型來確定超父。

20190826212509825.jpg

②TAN是一種基于最大權生成樹算法的基礎上,通過四個步驟來生成獨依賴分類器:
??????(1)計算如何兩個屬性之間的條件相互信息:I(x_i,x_j|y)=\sum_{x_i,x_j;c∈\gamma}P(x_i,x_j|c)\log{\frac{P(x_i,x_j|c)}{P(x_i|c)P(x_j|c)}};
??????(2)以屬性為結點構建完全圖,任意兩個結點之間便的權重設為I(x_i,x_j|y);
??????(3)構建此完全圖的最大帶權生成樹,挑選根變量,將邊置為有向;
??????(4)加入類別結點y,增加從y到每個屬性的有向邊。
TAN.jpg

③AODE,是一種基于集成學習機制、更為強大的獨依賴分類器。嘗試將每個屬性作為超父類構建SPODE,將那些有足夠訓練數(shù)據(jù)支持的SPODE集成起來作為最終結果,即P(c|x){\propto}\sum^d_{{i=1},{|D_{x_i}≥m'|}}P(c,x_i){\Pi}_{j=1}^dP(x_j|c,x_i)其中D_{x_i}是在第i個屬性上取值為x_i的樣本的集合,m'為閾值。

7.5貝葉斯網

貝葉斯網又稱“信念網”,用有向無環(huán)圖(DAG)來刻畫屬性間的依賴關系,用條件概率表(CPT)來描述屬性的聯(lián)合分布。一個貝葉斯網B由結構G(有向無環(huán)圖,每個結點對應一個屬性)和參數(shù)θ(描述屬性的依賴關系,假定屬性x_i在G中的父結點為\pi_i,則θ包含每個屬性的條件概率表\theta_{x_i|\pi_i}=P_B(x_i|\pi_i))構成,即B=<G,θ>。
1、結構
貝葉斯網結構有效的表達了屬性間的條件獨立性。給定父結點集,貝葉斯網假設每個屬性與它的非后裔屬性獨立。
B=<G,θ>將屬性x_1,x_2,...,x_d的聯(lián)合概率分布定義為:P_B(x_1,x_2,...,x_d)=\Pi^d_{i=1}P_B(x_i|\pi_i)=\Pi^d_{i=1}\theta_{x_i|\pi_i}
2.學習
貝葉斯網中如果條件已知,那么條件概率可求。所以貝葉斯網最主要就是確定網絡結構。
評分搜索是求解結構的常用方法,定義一個評分函數(shù),以此來評估貝葉斯網與訓練數(shù)據(jù)的契合程度,然后基于這個評分函數(shù)來尋找結構最優(yōu)的貝葉斯網。
但是這一方法容易陷入NP難題,難以快速求解,所以經常使用兩種方法求得近似解。①貪心法,從某個網絡結構出發(fā)每次調整一條邊(增加、刪除、調整方向),直到評分函數(shù)不再下降為止。②是通過給網絡結構施加約束來削減搜索空間,例如將網絡結構限定為樹形結構等。
3.推斷
貝葉斯網訓練完可以通過已有的屬性來推出待查詢的屬性,這一過程稱為“推斷”,已知的變量觀測值稱為“證據(jù)”。如我們可以通過西瓜已有的屬性值色澤=“烏黑”,敲聲=“清脆”等,來推出其是否為好瓜。
貝葉斯網的近似推斷常用吉布斯采樣。

吉布斯采樣的算法過程.png

對于吉布斯采樣若不懂可以看一下這一博客,里面具了一簡單例子來幫助理解這一算法過程

7.6EM算法

在現(xiàn)實中若一些屬性值無法觀測出,導致一些訓練樣本不完整,如西瓜的根蒂個別脫落。這些未觀測變量稱為“隱變量”。

令X表示已觀測變量,Z表示隱變量集,θ表示模型參數(shù),按照極大似然估計的思路,我們依然是想找出令訓練集被觀測到的概率最大的模型參數(shù) θ。也即最大化對數(shù)似然:LL({\theta}|X,Z)={\ln}{P(X,Z|\theta)}
而因為Z是隱變量,所以該式子是沒法求的,此時我們通過計算對Z的期望,來最大化以觀測數(shù)據(jù)的對數(shù)“邊際似然”LL(\theta|X)={\ln}P(X|\theta)={\ln}\sum_ZP(X,Z|\theta)
EM算法:①設定初始θ
??????????????????②基于當前\theta^t推斷隱變量Z的期望,記為Z^t
??????????????????③基于已觀測的變量和步驟②的Z^t對參數(shù)θ做極大似然估計,記為\theta^{t+1}
??????????????????④若未收斂(如θ^t\theta^{t+1}的差大于閾值),則返回第二步直到收斂。
EM算法可看作坐標下降法來最大化對數(shù)似然的過程,每次固定一個參數(shù)對另一個進行優(yōu)化,直到收斂或求得局部最優(yōu)解。

參考:(https://blog.csdn.net/TeFuirnever/article/details/100070548)
(https://blog.csdn.net/shandianke/article/details/76599872)
實例代碼

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1. 章節(jié)主要內容 貝葉斯分類器是機器學習領域應用很廣、效果不錯,且算法相對通俗易懂的分類器,并且章節(jié)中的一些概念...
    閃電隨筆閱讀 4,946評論 0 12
  • 章節(jié)思路 章節(jié)思路寫在文章開頭,是因為每一節(jié)之間都有很強的聯(lián)系,帶著每一節(jié)的問題去學比較容易接受知識點 7.1貝葉...
    Guodw閱讀 1,792評論 0 0
  • 7.1 貝葉斯決策論 1.相關概率 1)先驗概率:在事情發(fā)生之前事情發(fā)生的概率。是根據(jù)以往經驗和分析得到的概率???..
    D系鼎溜閱讀 1,963評論 0 0
  • 貝葉斯分類器是一類分類算法的總稱,是各種分類器中分類錯誤概率最小的分類器,而貝葉斯定理是這類算法的核心。 貝葉斯決...
    塵濯閱讀 1,089評論 0 1
  • 葉斯分布是運用概率學進行計算和分類的方法,與其說是一種算法,不如說是一種思想,先了解概念 條件概率 條件概率(又稱...
    一杭oneline閱讀 1,313評論 0 0

友情鏈接更多精彩內容