贝叶斯推断之拉普拉斯近似

贝叶斯推断之拉普拉斯近似

本文介绍使用拉普拉斯近似方法来求解贝叶斯后验概率分布。在上一篇文章:贝叶斯推断之最大后验概率(MAP)中介绍了使用点估计法来求解后验概率分布,在文章中定义了后验概率分布公式:

p(w|t,X)=p(t|X,w)p(w)p(t|X)

分母p(t|X)是与参数 w无关,可视为常量。

定义函数g如下:

g(w;X,t,σ2)=p(t|X,w)p(w|σ2)

因此,gp(w|t,X)之比为常数。上文介绍了点估计法求解p(w|t,X)。本文介绍拉普拉斯近似法求解p(w|t,X)

什么是拉普拉斯近似?

由于没法直接求解p(w|t,X),转而求解g(w;X,t,σ2)拉普拉斯近似就是首先假设函数log(g(w;X,t,σ2))服从高斯分布,然后通过泰勒展开公式,将log(g(w;X,t,σ2))w处展开。 w就是上文使用牛顿法求得的最优参数。

高斯分布的数学表达式如下:

12πexp((wu)22σ2)

若知道了均值u和方差σ2,也就求得了g的高斯分布形式。

泰勒展开

根据上文介绍在w处,log(g(w;X,t,σ2))的一阶导数等于0,二阶导数小于0(对于多元函数,则是黑赛矩阵负定)。因此,对它进行二阶泰勒展开如下:

由于一阶导数为0,化简为:

公式(1)

其中,v如下:

对高斯分布的数学表达式取对数:

logK(wu)22σ2(2)

其中,K=12π是一个常数。对比公式1 log(g(w;X,t,σ2)) 和 公式2,求得高斯分布参数:

u=w

σ2=1v

至此,我们就求解出了函数log(g(w;X,t,σ2))的高斯分布,而gp(w|t,X)之比为常数,也就求得了后验概率p(w|t,X)的分布了。

使用后验概率分布的期望值进行预测

对于一个新样本xnew,将它归为负类的概率为:P(Tnew=1|xnew,X,t,σ2)

而这个概率就是计算: p(w|t,X)所服从的分布的期望。 为什么是计算 期望呢?因为参数w不是单个具体的值了,而是一个随机变量了,w的函数服从高斯分布。而期望的数学意义是“平均”,因此将期望值作为“归类为负类的概率”更准确(capture more uncertainty)
通过前面的拉普拉斯近似,我们知道它服从正态分布:

p(w|t,X)~N(u,σ2)

w是对于多元变量,则

p(w|t,X)~N(u,Σ),其中u是个向量,Σ是个矩阵

故:

高斯分布是个连接型随机变量的分布,因此求解高斯分布的期望值,就是对概率密度函数进行积分,显然概率密度函数是个关于w的函数,然而由于:

P(Tnew=1|xnew,w)=11+exp(wTxnew)

w的积分值无法计算出来,即无法求解出:EN(u,Σ)(P(Tnew=1|xnew,w))

幸运的是,我们求解的是高斯分布的期望值,于是选取 Ns个样本来近似计算期望值:

从而,求得了预测概率。至此,使用拉普拉斯近似法 求解 后验概率分布就介绍完毕了。

decision boundary

点估计法求解出来的后验概率是一个具体的关于w的函数,而拉普拉斯近似法求解出来的后验概率是一个服从高斯分布的随机变量。

在点估计法中,decision boundary是一条条的直线,而由于随机变量的不确定性,拉普拉斯近似法得出的decision boundary有很多是弯曲的:

总结

拉普拉斯近似法是计算后验概率的另一种方法。它首先假设后验概率p(w|t,X) 服从高斯分布。然后,将与后验概率p(w|t,X) 相比为常数的 函数 g(w;X,t,σ2) 的log形式 在 w处进行泰勒展开,从而求解出这个高斯分布。

w则是通过上文中提到的牛顿法求解出来的。

有了这个高斯分布之后,对于每一个新样本,计算该高斯分布的期望值,就是模型对这个新样本的预测值。

原文:http://www.cnblogs.com/hapjin/p/8848480.html

posted @   大熊猫同学  阅读(12548)  评论(2编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2017-04-15 感知机的简单理解
2016-04-15 二叉树的先序遍历和后序遍历的应用--输出文件和统计目录大小
2016-04-15 数据结构---树---总结
2016-04-15 字符串数字转换成对应的Double数值
点击右上角即可分享
微信分享提示