通過貝葉斯logistic迴歸看拉普拉斯近似
阿新 • • 發佈:2019-01-05
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(z−z0)
沒有一階項是因為z0 是概率分佈的區域性最大值兩邊同時取
指數
:f(z)≃f(z0)exp{−A2(z−z0)2}
3.歸一化
- 使用歸一化的
高斯分佈的標準形式
,得到歸一化的概率分佈q(z) :q(z)=(A2π)12exp{−A2(z−z0)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(z−z0)TA(z−z0)
其中M×M 的Hessian 矩陣A的定義為A=−∇∇lnf(z)∣z−z0 - 同時取指數:
f(z)≃f(z0)exp{−12(z−z0)TA(z−z0)2} - 歸一化,
q(z) 正比於f(z) (2.43):|A|12(2π)M2exp{−12(z−z0)TA(z−z0)2}