1. 程式人生 > >通過貝葉斯logistic迴歸看拉普拉斯近似

通過貝葉斯logistic迴歸看拉普拉斯近似

PRML Reading Group

@(PRML)[拉普拉斯近似, 貝葉斯logist迴歸]

首先貝葉斯logistic迴歸是什麼呢?

如果想了解拉普拉斯近似,我們不妨可以先從他的應用—-貝葉斯logistic迴歸看起,那麼它和貝葉斯線性迴歸,logistic迴歸有什麼區別呢?

  • 線性模型:像我們熟悉的logistic迴歸,通常做法就是取一個二項分佈的似然函式,再最大似然這個函式,轉換成求最小二乘法,再求匯出w向量的解析解,最後就是用梯度下降,牛頓啊去估計這個引數w的最優解(就是那一套通用流程)。所以線性模型重點就是放在求某個引數上。但。。。是,logistic迴歸屬於點估計
    ,點少了,很容易造成容易過擬合overfitting
  • 貝葉斯模型:它估計的是一個分佈。而不是一個最優化的值Wmap,我們通過似然函式×先驗求出後驗概率分佈之後,再用它去積分進行了類別預測,考慮的是全域性的所有w,所以自然的就消除了過擬合。但。。。是, 所以這也就是為什麼難操作intractable

拉普拉斯近似

Alt text

logistc迴歸的貝葉斯觀點中,後驗分佈不是高斯分佈了(上圖),所以我們就不能精確的對w求積分,因此有必要介紹某種形式的近似。我們就引入了拉普拉斯近似。

目標:找到定義在一組變數上的概率密度的高斯近似

拉普拉斯近似的推導

單一連續變數:

1.尋找眾數

  • 假定分佈P(z)=1Zf(z)
    Z=f(z)是歸一化係數。
    我們假定Z的值是未知的。在拉普拉斯方法中,我們就是要尋找高斯近似q(z),他的中心位於p(z)眾數的位置,所以就去尋找眾數,即尋找一個點使p(z)=0

2.泰勒展開 並取指數

  • 高斯分佈的對數是變數的二次函式。所以考慮lnf(z)以眾數z0為中心的泰勒展開:

    ln(z)lnf(z0)12A(zz0)
    沒有一階項是因為z0是概率分佈的區域性最大值
  • 兩邊同時取指數

    f(z)f(z0)exp{A2(zz0)2}

3.歸一化

  • 使用歸一化的高斯分佈的標準形式,得到歸一化的概率分佈q(z):q(z)=(A2π)12exp{A2(zz0)2}
    • 高斯近似只在精度A>0時有良好的定義,也就是駐點z0一定是個區域性最大值,使得f(z)在駐點z0處的二階導數為負

推廣到M維空間z

  • M維空間z上的概率分佈p(z)=f(z)Z,在駐點z0處,梯度f(z)將會消失,在駐點z0處展開,我們有:ln(z)lnf(z0)12(zz0)TA(zz0)
    其中M×MHessian矩陣A的定義為A=lnf(z)zz0
  • 同時取指數:f(z)f(z0)exp{12(zz0)TA(zz0)2}
  • 歸一化,q(z)正比於f(z)(2.43):|A|12(2π)M2exp{12(zz0)TA(zz0)2}