貝葉斯推斷之拉普拉斯近似
本文介紹使用拉普拉斯近似方法來求解貝葉斯后驗概率分布。在上一篇文章:貝葉斯推斷之最大后驗概率(MAP)中介紹了使用點估計法來求解后驗概率分布,在文章中定義了后驗概率分布公式:
分母\(p(t|X)\)是與參數 \(w\)無關,可視為常量。
定義函數\(g\)如下:
因此,\(g\)與\(p(w|t,X)\)之比為常數。上文介紹了點估計法求解\(p(w|t,X)\)。本文介紹拉普拉斯近似法求解\(p(w|t,X)\)。
什么是拉普拉斯近似?
由於沒法直接求解\(p(w|t,X)\),轉而求解\(g(w;X,t,\sigma^2)\),拉普拉斯近似就是首先假設函數\(log(g(w;X,t,\sigma^2))\)服從高斯分布,然后通過泰勒展開公式,將\(log(g(w;X,t,\sigma^2))\)在\(w^*\)處展開。 \(w^*\)就是上文使用牛頓法求得的最優參數。
高斯分布的數學表達式如下:
若知道了均值\(u\)和方差\(\sigma^2\),也就求得了\(g\)的高斯分布形式。
泰勒展開
根據上文介紹在\(w^*\)處,\(log(g(w;X,t,\sigma^2))\)的一階導數等於0,二階導數小於0(對於多元函數,則是黑賽矩陣負定)。因此,對它進行二階泰勒展開如下:
由於一階導數為0,化簡為:
公式(1)
其中,\(v\)如下:
對高斯分布的數學表達式取對數:
其中,\(K=\frac{1}{\sqrt{2\pi}}\)是一個常數。對比公式1 \(log(g(w;X,t,\sigma^2))\) 和 公式2,求得高斯分布參數:
\(u=w^*\)
\(\sigma^2=\frac{1}{v}\)
至此,我們就求解出了函數\(log(g(w;X,t,\sigma^2))\)的高斯分布,而\(g\)與\(p(w|t,X)\)之比為常數,也就求得了后驗概率\(p(w|t,X)\)的分布了。
使用后驗概率分布的期望值進行預測
對於一個新樣本\(x_{new}\),將它歸為負類的概率為:\(P(T_{new}=1|x_{new},X,t,\sigma^2)\)
而這個概率就是計算: \(p(w|t,X)\)所服從的分布的期望。 為什么是計算 期望呢?因為參數\(w\)不是單個具體的值了,而是一個隨機變量了,\(w\)的函數服從高斯分布。而期望的數學意義是“平均”,因此將期望值作為“歸類為負類的概率”更准確(capture more uncertainty)
通過前面的拉普拉斯近似,我們知道它服從正態分布:
\(p(w|t,X)\)~\(N(u,\sigma^2)\)
若\(w\)是對於多元變量,則
\(p(w|t,X)\)~\(N(u, \Sigma)\),其中\(u\)是個向量,\(\Sigma\)是個矩陣
故:
高斯分布是個連接型隨機變量的分布,因此求解高斯分布的期望值,就是對概率密度函數進行積分,顯然概率密度函數是個關於\(w\)的函數,然而由於:
對\(w\)的積分值無法計算出來,即無法求解出:\(E_{N(u,\Sigma)}(P(T_{new}=1|x_{new},w))\)
幸運的是,我們求解的是高斯分布的期望值,於是選取 \(N_s\)個樣本來近似計算期望值:
從而,求得了預測概率。至此,使用拉普拉斯近似法 求解 后驗概率分布就介紹完畢了。
decision boundary
點估計法求解出來的后驗概率是一個具體的關於\(w\)的函數,而拉普拉斯近似法求解出來的后驗概率是一個服從高斯分布的隨機變量。
在點估計法中,decision boundary是一條條的直線,而由於隨機變量的不確定性,拉普拉斯近似法得出的decision boundary有很多是彎曲的:
總結
拉普拉斯近似法是計算后驗概率的另一種方法。它首先假設后驗概率\(p(w|t,X)\) 服從高斯分布。然后,將與后驗概率\(p(w|t,X)\) 相比為常數的 函數 \(g(w;X,t,\sigma^2)\) 的log形式 在 \(w^*\)處進行泰勒展開,從而求解出這個高斯分布。
\(w^*\)則是通過上文中提到的牛頓法求解出來的。
有了這個高斯分布之后,對於每一個新樣本,計算該高斯分布的期望值,就是模型對這個新樣本的預測值。