变分贝叶斯推断
变分贝叶斯推断
变分原理
《动态最优化基础》中关于 泛函 和 变分 的推导。
Euler-Lagrange方程:
或者
F[t,y(t),y′(t)] 表示“弧值”的一般表达式
F[t,y(t),y′(t)]dt 表示t处的一段微小“弧值”
V[y]=∫T0F[t,y(t),y′(t)]dt 表示“弧值之和”
“弧值”的含义可以是 距离、时间、质量、概率 等等。
例,连接两点间的最短曲线
现在要找到“最短曲线”,意味着我们需要关于弧值为长度的一个泛函。
两点间长度的一般表达式 S=√(x1−x2)2+(y1−y2)2
曲线 y(x) 上任意相邻的两点 (x,y),(x+dx,y+dy) 微小“弧值”为:
设曲线的两端点为 (a,m) 和 (b,n) 则“弧值之和”
由Euler-Lagrange方程: ∂F∂y−ddx∂F∂y′=0
F中不包含y, 有 ∂F∂y=0, ∂F∂y′=y′√1+y′2 代入欧拉方程:
所以 y′√1+y′2=C常数,求得 y′=C, 然后对 y′ 求积分有:
变分贝叶斯推断
变分推理的目标是近似潜在变量(latent variables)在观测变量(observed variables)下的条件概率。解决该问题,需要使用优化方法。在变分推断中,需要使用到的一个重要理论,是平均场理论.
平均场理论
来源于物理学,是一种研究复杂多体问题的方法,将数量巨大的互相作用的多体问题转化成每一个粒子处在一种弱周期场中的单体问题。
对于概率模型:
可以找到一个近似模型:
使得 Q 与 P 尽可能相似。
在贝叶斯模型中, 通常需要从已知的样本中推测模型的参数,即 后验概率 P(Z|X), 然而 直接计算出P(Z|X)通常比较困难。我们可以利用平均场理论,通过模型 Q(Z)=∏iQ(zi) 来近似代替 P(Z|X)。
衡量两个概率密度函数(PDF)的差异,可以利用KL散度(KL-Divergence)。
这里 KL(Q(Z)||P(Z|X)) 即是关于 Q 的泛函。为使 Q 和 P 尽可能相似,则需要KL最小化。
求解KL最小化下,Q 的概率密度函数,即变分问题。其中 Q 的累积分布函数(CDF) ∫Q(Z)dz=1 。
令L(Q)=−[∫Q(Z)logP(Z)dZ−∫Q(Z)logP(Z,X)dZ], 则有
logP(X)的下界L(Q), 称为 ELOB (Evidence Lower Bound), 其中logP(X)为常数,通过最大化ELOB L(Q) 使得KL最小化。 求解最大化L(Q)的过程同样也是一个变分问题。
把平均场定理:Q(Z)=∏iQ(zi) 代入 L(Q) 中得到:
其中Q∗(zj)=exp(Ei≠j[logP(Z,X)])∫exp(Ei≠j[logP(Z,X)]), 归一化项 ∫exp(Ei≠j[logP(Z,X)]) 使得整体的Q∗(zj) PDF积分为1。详细推理过程参考变分贝叶斯推断(Variational Bayes Inference)简介
因为 信息熵∏i;i≠jH(Q(zi))≥0,且KL(Q(zj)||Q∗(zj))≥0
所以 最大化L(Q)只需令KL(Q(zj)||Q∗(zj))=0, 则有:
至此,变分贝叶斯推断的通用公式求法,如下:
- 循环直到收敛:
- 对于每个Q(zj):
- 令Q(zj)=Q∗(zj)
参考文章:
《动态最优化基础》蒋中一
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~