贝叶斯推断之拉普拉斯近似
贝叶斯推断之拉普拉斯近似
本文介绍使用拉普拉斯近似方法来求解贝叶斯后验概率分布。在上一篇文章:贝叶斯推断之最大后验概率(MAP)中介绍了使用点估计法来求解后验概率分布,在文章中定义了后验概率分布公式:
分母是与参数 无关,可视为常量。
定义函数如下:
因此,与之比为常数。上文介绍了点估计法求解。本文介绍拉普拉斯近似法求解。
什么是拉普拉斯近似?
由于没法直接求解,转而求解,拉普拉斯近似就是首先假设函数服从高斯分布,然后通过泰勒展开公式,将在处展开。 就是上文使用牛顿法求得的最优参数。
高斯分布的数学表达式如下:
若知道了均值和方差,也就求得了的高斯分布形式。
泰勒展开
根据上文介绍在处,的一阶导数等于0,二阶导数小于0(对于多元函数,则是黑赛矩阵负定)。因此,对它进行二阶泰勒展开如下:
由于一阶导数为0,化简为:
公式(1)
其中,如下:
对高斯分布的数学表达式取对数:
其中,是一个常数。对比公式1 和 公式2,求得高斯分布参数:
至此,我们就求解出了函数的高斯分布,而与之比为常数,也就求得了后验概率的分布了。
使用后验概率分布的期望值进行预测
对于一个新样本,将它归为负类的概率为:
而这个概率就是计算: 所服从的分布的期望。 为什么是计算 期望呢?因为参数不是单个具体的值了,而是一个随机变量了,的函数服从高斯分布。而期望的数学意义是“平均”,因此将期望值作为“归类为负类的概率”更准确(capture more uncertainty)
通过前面的拉普拉斯近似,我们知道它服从正态分布:
~
若是对于多元变量,则
~,其中是个向量,是个矩阵
故:
高斯分布是个连接型随机变量的分布,因此求解高斯分布的期望值,就是对概率密度函数进行积分,显然概率密度函数是个关于的函数,然而由于:
对的积分值无法计算出来,即无法求解出:
幸运的是,我们求解的是高斯分布的期望值,于是选取 个样本来近似计算期望值:
从而,求得了预测概率。至此,使用拉普拉斯近似法 求解 后验概率分布就介绍完毕了。
decision boundary
点估计法求解出来的后验概率是一个具体的关于的函数,而拉普拉斯近似法求解出来的后验概率是一个服从高斯分布的随机变量。
在点估计法中,decision boundary是一条条的直线,而由于随机变量的不确定性,拉普拉斯近似法得出的decision boundary有很多是弯曲的:
总结
拉普拉斯近似法是计算后验概率的另一种方法。它首先假设后验概率 服从高斯分布。然后,将与后验概率 相比为常数的 函数 的log形式 在 处进行泰勒展开,从而求解出这个高斯分布。
则是通过上文中提到的牛顿法求解出来的。
有了这个高斯分布之后,对于每一个新样本,计算该高斯分布的期望值,就是模型对这个新样本的预测值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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数值