機器學習理論 | 周志華西瓜書 第七章:貝葉斯分類器

第七章 貝葉斯分類器

此係列文章旨在提煉周志華《機器學習》的核心要點,不斷完善中…


7.1 貝葉斯決策理論

  • 期望損失(expected loss):在樣本x上的“條件風險”(conditional risk)
    具體算式:R(cix)=j=1NλijP(cjx)R(c_i|\bm x)=\sum_{j=1}^N\lambda_{ij}P(c_j|\bm x)
    任務:最小化總體風險:R(h)=Ex[R(h(x)x)]R(h)=\mathbb{E}_{\bm x}[R(h(\bm x)|\bm x)]
  • 貝葉斯判定準則(Bayes decision rule)
    • 爲最小化總體風險,只需在每個樣本上選擇那個能使條件風險R(c|x)最小的類別標記
    • 具體算式:h(x)=arg mincY R(cx)h^*(\bm x)=arg\ min_{c\in \mathcal{Y}}\ R(c|\bm x)
      h(x)h^*(x):貝葉斯最優分類器(Bayes optimal classifier)
      與之對應:R(h)R(h^*)總體風險(貝葉斯風險 Bayes risk)
      1R(h)1-R(h^*):反映了分類器所能達到的最好性能(通過機器學習所能產生的模型精度的理論上限)
  • 最小化分類錯誤率(錯誤率對應於0/1損失)
  • 貝葉斯最優分類器
    • 具體算式:h(x)=arg maxcYP(cx)h^*(\bm x)=arg\ max_{c\in\mathcal{Y}}P(c|\bm x)
    • 對每個樣本x,選擇能使後驗概率P(cx)P(c|x)最大的類別標記
  • 機器學習所要實現的是基於有限的訓練樣本集儘可能準確估計出後驗概率P(c|x)
    • 策略一:判別式模型(discriminative models)
      給定x,可通過直接建模P(cx)P(c|x)來預測c
      決策樹、BP神經網絡、支持向量機等
    • 策略二:生成式模型(generative models)
      先對聯合概率分佈P(d,c)P(d,c)建模,然後再由此獲得P(cx)P(c|x)
      推導過程:P(cx)=P(x,c)P(x)P(c|\bm x)=\frac{P(\bm x,c)}{P(\bm x)} →貝葉斯定理→P(cx)=P(c)P(xc)P(x)P(c|\bm x)=\frac{P(c)P(\bm x|c)}{P(\bm x)}
      • P(c)P(c):類“先驗”概率(表達樣本空間中各類樣本所佔的比例,由大數定律,當訓練集包含充足的i.i.d樣本時,P©可通過各類樣本出現的頻率估計)
      • P(xc)P(x|c):樣本x相對於標記c的類條件概率(似然)(由於涉及關於x所有屬性的聯合概率,直接根據樣本的頻率來估計將會遇到嚴重困難)
      • P(x)P(x):用於歸一化的“證據”因子,對給定樣本x,證據因子對所有類標記均相同,可忽略

7.2 極大似然估計

  • 估計類條件概率的一種常用策略
    • 先假定其具有某種確定的概率分佈形式
      • 記關於類別c的類條件概率爲P(xc)P(\bm x|c)
      • 假定其有確定形式且被參數向量唯一確定,記爲P(xθc)P(\bm x|\bm θ_c)
    • 再基於訓練樣本對概率分佈的參數進行估計
      • 利用訓練集D估計參數θc
  • 參數估計(parameter estimation)過程
    • 兩個學派,兩個方案
      Frequentist:認爲參數客觀存在且固定,通過優化似然函數等確定
      Bayesian:認爲參數爲隨機變量,假定參數先驗分佈,基於觀測計算後驗分佈
    • 頻率主義學派的極大似然估計(MLE)
      • 理論
        DcD_c:訓練集D第c類樣本集合(假定i.i.d),參數θc對Dc的似然:
        P(Dcθc)=xDcP(xθc)P(D_c|\bm \theta_c)=\prod_{\bm x\in D_c}P(\bm x|\bm\theta_c)
        θcθ_c進行極大似然估計就是尋找能最大化似然P(Dcθc)P(D_c|θ_c)的參數值

        連乘操作易造成下溢,使用對數似然(log-likelihood)
        LL(θc)=log P(Dcθc)=xDclog P(xθc)LL(\bm\theta_c)=log\ P(D_c|\bm\theta_c)=\sum_{\bm x\in D_c}log\ P(\bm x|\bm\theta_c)
        參數θc\bm θ_c的極大似然估計:θc^=arg maxθcLL(θc)\hat{\bm \theta_c}=arg\ max_{\bm \theta_c}LL(\bm\theta_c)

      • 實例
        在連續屬性情形下,假設概率密度函數:μc^=1DcxDcx\hat{\bm \mu_c}=\frac 1 {|D_c|}\sum_{\bm x\in D_c}\bm{x}
        2個參數的極大似然估計:σc2^=1DcxDc(xμc^)(xμc^)T\hat{\bm\sigma_c^2}=\frac 1 {|D_c|}\sum_{\bm x\in D_c}(\bm x-\hat{\bm \mu_c})(\bm x-\hat{\bm \mu_c})^T

      通過極大似然法得到的正態分佈均值——樣本均值
      通過極大似然法得到的正態分佈方差——樣本和樣本均值差與其轉置的乘積的均值

7.3 樸素貝葉斯分類器

7.3.1 解決的問題

基於貝葉斯公式來估計後驗概率P(c|x)難點:類條件概率P(x|c)爲所有屬性上的聯合概率,難以從有限的訓練樣本直接估計而得

  • 組合爆炸
  • 樣本稀疏

7.3.2 解決的方法

  • 屬性條件獨立性假設(attribute conditional independence assumption):
    對已知類別,假設所有屬性相互獨立(每個屬性獨立地對分類結果發生影響)
  • 表達式:P(cx)=P(c)P(xc)P(x)=P(c)P(x)i=1dP(xic)P(c|\bm x)=\frac{P(c)P(\bm x|c)}{P(\bm x)}=\frac{P(c)}{P(\bm x)}\prod_{i=1}^dP(x_i|c)
    d:屬性數目,xix_i:在第i個屬性上的取值
  • 對所有類別,P(x)P(\bm x)相同,由貝葉斯判定準則:
    hnb(x)=arg maxcYP(c)i=1dP(xic)h_{nb}(\bm x)=arg\ max_{c\in{\mathcal Y}}P(c)\prod_{i=1}^dP(x_i|c)

樸素貝葉斯分類器的表達式

  • 訓練過程:基於D估計先驗概率P(c)P(c)併爲每個屬性估計條件概率P(xic)P(x_i|c)
    • 類先驗概率
      表達式:P(c)=DcDP(c)=\frac{|D_c|}{|D}
      條件:充足的獨立同分布樣本
    • 條件概率P(xic)P(x_i|c)
      • 對離散屬性
        表達式:P(xic)=Dc,xiDcP(x_i|c)=\frac{|D_{c,x_i}|}{|D_c|}
        Dc,xiD_{c,x_i}:在第i個屬性上取值爲xi的樣本組成的集合
      • 對連續屬性
        表達式:p(xic)=12πσc,iexp((xiμc,i)22σc,i2)p(x_i|c)=\frac 1{\sqrt{2\pi}\sigma_{c,i}}exp(-\frac{(x_i-\mu_{c,i})^2}{2\sigma_{c,i}^2})
        參數:第c類樣本在第i個屬性上的均值/方差

7.3.3 實例 西瓜數據集訓練樸素貝葉斯分類器

7.3.4 拉普拉斯修正(Laplacian correction)

  • 解決的問題:避免其他屬性的信息被訓練集中未出現的屬性值“抹去”,估計概率值通常要平滑(smoothing)
  • 解決的方法
    N:D中可能類別數,Ni:第i個屬性可能取值數
    類先驗概率:P^(c)=Dc+1D+N\hat{P}(c)=\frac{|D_c|+1}{|D|+N}
    屬性條件概率:P^(xic)=Dc,xi+1Dc+Ni\hat{P}(x_i|c)=\frac{|D_{c,x_i}|+1}{|D_c|+N_i}
  • 好處
    避免因訓練樣本不充分導致概率估值爲零的問題
    訓練集變大,修正過程所引入的先驗的影響逐漸可忽略(使估值趨於實際概率)

7.3.5 現實使用

  • 任務對預測速度要求高:給定訓練集,將樸素貝葉斯分類器設計的所有概率估值事先計算存儲,預測時只需“查表”
  • 任務數據更替頻繁:懶惰學習(lazy learning)
  • 數據不斷增加:現有估值基礎上僅對新增樣本的屬性所涉及的概率估值進行計數修正(增量學習)

7.4 半樸素貝葉斯分類器

7.4.1 概述

  • 解決的問題:樸素貝葉斯屬性條件獨立性假設現實難成立
  • 基本想法:適當考慮一部分屬性間相互依賴信息(不需進行完全聯合概率計算,也不徹底忽略強屬性依賴關係)
  • 基本策略:獨依賴估計(One-Dependent Estimator,ODE)
    假設每個屬性在類別之外最多僅依賴於一個其他屬性
    P(cx)P(c)i=1dP(xic,pai)P(c|\bm x)∝P(c)\prod_{i=1}^dP(x_i|c,pa_i)
    paip_{ai}:屬性xix_i所依賴的屬性(xix_i的父屬性)

7.4.1 不同的獨依賴分類器

  • 概述:如何確定每個屬性的父屬性,不同的做法產生不同的獨依賴分類器在這裏插入圖片描述

  • ODE

    • SPODE(Super-Parent ODE)
      假設所有屬性依賴同一個屬性(超父 super-parent)
      通過交叉驗證等模型選擇方式確定超父屬性

    • TAN(Tree Augmented naive Bayes)

      • 在最大帶權生成樹(maximum weighted spanning tree)算法基礎上,將屬性間的依賴關係約簡爲如圖樹形結構
        1.計算任意兩屬性之間的條件互信息(conditional mutual information)
        2.以屬性爲結點構建完全圖,任意兩個結點之間邊的權重設爲I(xi,xjy)I(x_i,x_j|y)
        3.構建此完全圖的最大帶權生成樹,挑選根變量,將邊設置爲有向
        4.加入類別結點y,增加從y到每個屬性的有向邊
      • 條件互信息I(xi,xjy)I(x_i,x_j|y)刻畫了屬性xix_ixjx_j在已知類別情況下的相關性,通過最大生成樹算法,TAN僅保留了強相關屬性之間的依賴性
    • AODE(Averaged One-Dependent Estimator)

      • 基於集成學習機制、更爲強大的獨依賴分類器
      • AODE嘗試將每個屬性作爲超父來構建SPODE,然後將具有足夠訓練數據支撐的SPODE集成起來作爲最終結果
        表達式
        P(cx)i=1, DximdP(c,xi)j=1dP(xjc,xi)P(c|\bm x)∝\sum_{i=1,\ |D_{x_i}|≥m'}^dP(c,x_i)\prod_{j=1}^dP(x_j|c,x_i)
        DxiD_{x_i}:第i個屬性上取值爲xi的樣本集合,m’:閾值常數
        類先驗概率:P^(c,xi)=Dc,xi+1D+N\hat{P}(c,x_i)=\frac{|D_{c,x_i}|+1}{|D|+N}
        屬性條件概率:P^(xjc,xi)=Dc,xi,xj+1Dc,xi+N\hat{P}(x_j|c,x_i)=\frac{|D_{c,x_i,x_j}|+1}{|D_{c,x_i}|+N}
        NiN_i:第i個屬性可能的取值數,Dc,xiD_{c,x_i}:類別爲c且在第i個屬性上取值爲xi的樣本集合,Dc,xi,xjD_{c,x_i,x_j}:類別爲c且在第i和第j個屬性上取值分別爲xi和xj的樣本集合
  • kDE

    • 通過考慮屬性間的高階依賴來進一步提升泛化性能
    • 注意:隨着k增加,準確估計概率P(xiy,pai)P(x_i|y,pa_i)所需的訓練樣本數量將以指數級增加
      若訓練數據非常充分,泛化性能有可能提升
      有限樣本條件下,又陷入估計高階聯合概率的泥沼

7.5 貝葉斯網 (信念網,經典的概率團模型)

7.5.0 概述

藉助有向無環圖(DAG, Directed Acyclic Graph)刻畫屬性之間的依賴關係
使用條件概率表(CPT, Conditional Probability Table)來描述屬性的聯合概率密度
貝葉斯網B=(G,θ)B=(G,θ);G:結構,θ:參數

7.5.1 結構

  • 1)貝葉斯網結構有效表達了屬性間的條件獨立性
    給定父結點集,貝葉斯網假設每個屬性與它的非後裔屬性獨立
    B=(G,θ)B=(G,θ)對屬性x1,x2,...xdx_1,x_2,...x_d的聯合概率分佈定義
    PB(x1,x2,...xd)=i=1dPB(xiπi)=i=1dθxiπiP_B(x_1,x_2,...x_d)=\prod_{i=1}^dP_B(x_i|\pi_i)=\prod_{i=1}^d\theta_{x_i|\pi_i}
  • 2)貝葉斯網中三個變量之間的典型依賴關係
    在這裏插入圖片描述
    • 同父結構(common parent)
      給定父節點取值,則X3與X4條件獨立
    • V型結構(V-structure,衝撞結構)
      給定子節點X4的取值,X1與X2不必獨立
      若X4的取值完全未知,則V型結構下X1與X2卻相互獨立
      簡單驗證:P(x1,x2)=x4P(x1,x2,x4)=x4P(x4x1,x2)P(x1)P(x2)P(x_1,x_2)=\sum_{x_4}P(x_1,x_2,x_4)=\sum_{x_4}P(x_4|x_1,x_2)P(x_1)P(x_2)
      稱謂:邊際獨立性(marginal independence)
    • 順序結構
      給定x值,y與z條件獨立
  • 3)有向分離(D-separation)
    作用:分析有向圖中變量間的條件獨立性
    步驟
    • 將有向圖轉變爲一個無向圖
    • 找出有向圖中的所有V型結構,在V型結構的兩個父節點之間加上一條無向邊
    • 將所有有向邊改爲無向邊
  • 4)道德圖(端正圖 moral graph)
    定義:有向分離產生的無向圖
    基於道德圖能直觀、迅速地找到變量間的條件獨立性
    • 假定:道德圖中變量x,y,變量集合z={zi}
    • 條件:x,y能在圖上被z分開(從道德圖中將變量集合z去除,x和y分屬兩個連通分支)
    • 結論:x和y被z有向分離
      舉例:
  • 5)道德化(moralization)
    定義:令父節點相連的過程
    值義:孩子的父母應該建立牢固的關係,否則是不道德的

7.5.2 學習

1)解決的問題:現實中不知曉網絡結構,因此首要任務爲根據訓練數據找到結構最恰當的貝葉斯網
2)解決的方法:評分搜索

  • 評分函數(score function)
  • 基本描述
    作用:評估貝葉斯網絡與訓練數據的契合程度,然後基於這個評分來尋找結構最優的貝葉斯網
    準則:基於信息論準則
    學習目標:找到一個能以最短編碼長度描述訓練數據的模型
    最小描述長度準則(MDL Minimal Description Length):選擇綜合編碼長度(包括描述網絡和編碼數據)最短的貝葉斯網
  • 表達式
    評分函數:s(BD)=f(θ)BLL(BD)s(B|D)=f(\theta)|B|-LL(B|D)
    貝葉斯網B的對數似然:LL(BD)=i=1mlogPB(xi)LL(B|D)=\sum_{i=1}^mlogP_B(\bm x_i)
  • 類別
    • AIC(Akaike Information Criterion)評分函數 :f(θ)=1(每個參數用1字節描述)
      AIC(BD)=BLL(BD)AIC(B|D)=|B|-LL(B|D)
    • BIC(Bayesian Information Criterion)評分函數:f(θ)=0.5+logm(每個參數用0.5+logm字節描述)
      BIC(BD)=log m2BLL(BD)BIC(B|D)=\frac{log\ m}2|B|-LL(B|D)
    • 負對數似然,相應的,學習任務退化爲極大似然估計:f(θ)=0(不計算對網絡進行編碼的長度)
      θxiπi=P^D(xiπi)\theta_{x_i|\pi_i}=\hat{P}_D(x_i|\pi_i)
    • 網絡結構G固定
  • 搜索貝葉斯網絡空間NP難問題
    問題:從所有可能的網絡結構空間搜索最優貝葉斯網結構是一個NP難問題,難以快速求解
    在有限時間內求得近似解的策略
    • 貪心法
    • 是通過給網絡結構施加約束來削減

7.5.3 推斷

  • 概述
    貝葉斯網訓練好->回答查詢(query)(通過一些屬性變量的觀測值來推測其他屬性變量的取值)
    證據(evidence):已知變量觀測值
  • 吉布斯採樣(Gibbs sampling)算法
    貝葉斯網的近似推斷常用方法、一種隨機採樣法
    隨機漫步、馬爾可夫鏈、平穩分佈
    具體算法
    在這裏插入圖片描述
    特點
    • 馬爾可夫鏈通常需要很長時間才能趨於平穩分佈(Gibbs sampling)收斂速度慢
    • 若貝葉斯網中存在極限概率0或1,則不能保證馬爾可夫鏈存在平穩分佈(此時會給出錯誤的估計結果)

7.6 EM算法

  • 特點:期望最大化算法,常用的估計參數隱變量的利器,迭代式算法
  • 解決的問題:“不完整”的訓練樣本(不是雖有屬性變量的值都能觀測到)
  • 解決的方法
    最大化對數似然:LL(ΘX,Z)=lnP(X,ZΘ)LL(\Theta|\bm X,\bm Z)=lnP(\bm X,\bm Z|\Theta)
    最大化已觀測數據的對數“邊際似然”(marginal likelihood):LL(ΘX)=lnP(XΘ)=lnZP(X,ZΘ)LL(\Theta|\bm X)=lnP(\bm X|\Theta)=ln\sum_{\bm Z}P(\bm X,\bm Z|\Theta)
  • 基本思想
    參數已知,則可以根據訓練數據推斷出最優隱變量Z的值(E步)
    若Z的值已知,則可方便地對參數做極大似然估計(M步)
  • EM算法的兩個步驟
    • E步(Expectation)
      當前參數θ^t推斷隱變量分佈:P(ZX,Θt)P(\bm Z|\bm X,\Theta^t)
      計算對數似然LL(ΘX,Z)LL(\Theta|\bm X,\bm Z)關於Z的期望:Q(ΘΘt)=EZX,ΘtLL(ΘX,Z)Q(\Theta|\Theta_t)=\mathbb{E}_{\bm Z|\bm X,\Theta_t}LL(\Theta|\bm X,\bm Z)
    • M步(Maximization)
      尋找參數最大化期望似然
      Θt+1=arg maxΘ Q(ΘΘt)\Theta^{t+1}=arg\ max_{\Theta}\ Q(\Theta|\Theta^t)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章