3 樸素貝葉斯法(Naive Bayes)

  • 樸素貝葉斯法是基於貝葉斯定理特徵條件獨立假設的分類方法
  • 對於給定的訓練數據集,首先基於特徵條件獨立假設學習輸入輸出的聯合概率分佈
  • 然後基於此模型,對給定的輸入 x,利用貝葉斯定理求出後驗概率最大的輸出y
  • 樸素貝葉斯法與貝葉斯估計是不同的概念

樸素貝葉斯法的學習與分類

基本方法
  • 通過訓練數據集學習聯合概率分佈 P(X, Y),具體地是通過學習以下先驗概率分佈及條件概率分佈來學習到該聯合概率分佈:
    • 先驗概率分佈:
      P(Y=ck),k=1,2,K
    • 條件概率分佈:
      P(X=x|Y=ck)=P(X(1)=x(1),,X(n)=x(n)|Y=ck),k=1,2,,K
    • 其中,X 是定義在輸入空間 X 上的隨機向量, Y 是定義在輸出空間 Y 上的隨機變量。輸出空間表示爲類標記集合 Y={c1,c2,,ck} .
    • 輸入爲特徵向量 xX , 輸出爲類標記(class label) yY
  • 條件概率分佈 P(X=x|Y=ck) 有指數級數量的參數,其估計實際是不可行的。而樸素貝葉斯對這個條件概率分佈作了條件獨立性的假設,這顯然是個很強的假設,而naive也是這樣得來的。條件獨立性假設如下:
    P(X=x|Y=ck)=P(X(1)=x(1),,X(n)=x(n)|Y=ck)=j=1nP(X(j)=x(j)|Y=ck)

    • 樸素貝葉斯法實際上學習到生成數據的機制,所以屬於生成模型
  • 在其分類時,對給定的輸入 x, 通過學習到的模型計算後驗概率分佈 P(Y=ck|X=x) ,將後驗概率最大的類作爲 x 的類輸出。後驗概率計算根據貝葉斯定理得到:
    P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)kP(X=x|Y=ck)P(Y=ck)

    • 將以上兩個公式結合可得出樸素貝葉斯法分類的基本公式:
      P(Y=ck|X=x)=P(Y=ck)nj=1P(X=x(j)|Y=ck)kP(Y=ck)nj=1P(X(j)=x(j)|Y=ck)c=1,2,,K
    • 樸素貝葉斯分類器可表示爲:
      y=f(x)=arg maxck P(Y=ck)nj=1P(X=x(j)|Y=ck)kP(Y=ck)nj=1P(X(j)=x(j)|Y=ck)
    • 因爲上式分母對所有ck 都是相同的,所以只用最大化上面的分子就行了
後驗概率最大化的含義
  • 樸素貝葉斯法將實例分到後驗概率最大的類中,等價於期望風險最小化。假設選擇0-1損失函數:
    L(Y,f(X))={1,Yf(X)0,Y=f(X)

    • 其中 f(X) 是分類決策函數
    • 此時,期望風險函數爲
      Rexp(f)=E[L(Y,f(X))]
    • 期望是對聯合分佈P(X,Y)取的,得
      Rexp(f)=EXk=1K[L(ck,f(X))]P(ck|X)
  • 爲了使期望風險最小化,只需對X=x逐個極小化:
    f(x)=arg minyYk=1KL(ck,y)P(ck|X=x)=arg minyYk=1KP(yck|X=x)=arg minyY(1P(y=ck|X=x))=arg maxyYP(y=ck|X=x)

    • 根據上式,最後得出的就是後驗概率,所以期望風險最小化變成了後驗概率最大化。

樸素貝葉斯法的參數估計

極大似然估計
  • 在樸素貝葉斯法中,學習意味這估計 P(Y=ck)P(X(j)=x(j)|Y=ck) , 可以應用極大似然估計法估計相應的概率。
  • 先驗概率 P(Y=ck) 的極大似然估計是:
    P(Y=ck)=Ni=1I(yi=ck)N,k=1,2,...,K
  • 設第 j 個特徵 x(j) 可能取值的集合爲{aj1,aj2,,ajSj,} ,則條件概率的極大似然估計爲
    P(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)Ni=1I(yi=ck)

    • j=1,2...,n , x(j)i 是第 i 個樣本的第 j 個特徵值
    • l=1,2...,Sj , x(j)i 是第 j 個特徵可能取的第 l 個值
    • I 爲指示函數
學習與分類算法
  • 步驟就是: 先計算先驗概率和條件概率,然後計算可能的後驗概率,選最大的後驗概率作爲最終的分類
  • 算法符號太多,直接上實例:
    這裏寫圖片描述
貝葉斯估計
  • 用極大似然估計可能會出現所要估計的概率值爲0的情況,這會影響到後驗概率的計算結果,使分類產生偏差。解決這個問題的方法就是採用 貝葉斯估計
  • 條件概率的貝葉斯估計爲:
    Pλ(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)+λNi=1I(yi=ck)+Sjλ

    • 其中,λ0 ,等價於在隨機變量各個取值的頻數上賦予一個整數 λ>0
    • λ=0 時就是極大似然估計,常常取λ=1 ,這時稱爲拉普拉斯平滑(Laplace smoothing)
  • 先驗概率的貝葉斯估計爲:
    Pλ(Y=ck)=Ni=1I(yi=ck)+λN+Kλ

    • 實例如下:
      這裏寫圖片描述
To to list
  • 極大似然估計法?如何推出上面的式子
  • 貝葉斯估計?如何推出上面的式子
發佈了57 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章