
为什么需要近似推断
现在棘手的问题在于
1.计算给定观察x后的隐变量z和参数θ的后验分布计算
2.计算观测变量的边缘分布

两种方法达到近似推断
1.决定性方法,-有解析解,快速,但是求出的是局部解
2.随机性方法,-慢,要采样多次,但是可以得到全局解(有证明的)
决定性推断有哪些?
1.拉普拉斯近似,使用一个高斯分布区近似,但是是局部解,有可能这个分布是多峰的,没法精确近似
2.变分推断(本章)-全局解方法
3.期望传播

变分推断是基于泛函分析的,什么是泛函分析?
重点!!!!!!!!
function(函数):x→t(通过函数f(x)),通过一个f将一个值x映射为另外一个值
functional(泛函):y(x)→t(通过一个泛函F(y)),将一个函数通过一个映射,映射为一个值
简单说泛函就是函数的函数
例子
比如说,熵的计算
H(p),这里的p是一个分布函数p(x)
还有KL散度,输入两个概率分布,得到一个值

所谓变分法,就是对泛函求导,求极值
泛函分析就是用变分法的取近似后验概率P(Z|X),Z是隐变量
也就是找一个概率分布q(Z)来逼近我们的后验分布P(Z|X)
逼近需要度量,用KL散度计算
fix p,扰动q,来使得KL散度达到最小
KL散度的公式,见上图
KL=0,即表示两个分布是一样的
p怎么求?没法得到,怎么解决?
p都知道了,还要求q干嘛呢?


对对数似然函数分解(第九章)+变分变量
lnp(X)=L(q)+KL(q||p)
图中的Z包含了隐变量和参数θ
lnp(X)虽然没法求,但是我们知道X是固定的,已知的,所以lnp(X)是固定值
其中q是扰动的,p(X,Z)是联合分布,不是下面KL中的条件分布,联合分布还是好求的(怎么求?)
本章先假设p(X,Z)是可以计算的,则L可以得到解析解
L是一个泛函
之前讲过lnp(X)是固定的,那么最大化L相当于最小化KL(q||p)
所以思路变成最大化L
然后用变分法求L最大值,所以L称为变分下界)

如何解决最大化问题呢,用的是平均场的方法,该方法用来限制/约束/假设q的分布
把隐变量/参数切成块(相互之间独立)-称为Factorized q distribution 分布分解,使得块之间可以乘积q(Z)=∏qi(Zi)
这个假设要越弱越好,q(Z)要尽可能的灵活,不能影响我们计算L的极值
这是本章最重要的公式!!!-10.9

将10.5公式代入10.3
推导得到10.9
q∗j是q的每个分块的最优解,这个最优解有10.9这个公式的表现形式
遍历所有的Z中的变量,除了不等于j的那个隐变量/参数的联合概率分不p(X,Z)先做一次ln然后求期望
因为变量之间的相互依赖关系,所以需要反复迭代,最后收敛,达到所有qi的最优解

案例
两个隐变量/参数 z1,z2

分别对z1,z2使用公式10.9计算

这里的Λ都是标量,最后得到关于z1的二次方程
根据第二章的知识,这里得到的q1分布是一个高斯分布−10.12

这张图就可以看到,隐变量之间相互依赖,没法一次求得,要逐步迭代,重新估计,re-estimation

这个KL散度不是对称的,意思就是KL(p||q)≠KL(q||p)
如果要用KL(p||q)也是可以的,图里展示了公式,公式下面应该有分母,是关于p(Z),不应该q,所以去掉了
直接用变分法+拉格朗日乘子的方法,得到q∗j(Zj)−10.3联系
这里我们发现不需要做反复迭代10.17−为啥?这个和期望传播算法有关
绿色是真实分布等高线,红色是q分布的等高线,b表示对p的估计太大了

这个图是用一个高斯分布去近似多峰的分布(多峰表示有多个众数)
蓝色是真实的二峰的等高线,用p||q 有点均衡了所有分布的意思
正式的例子

逼近q→p(μ,τ|x),μ是均值,τ是精度(应该是指方差的导数,第二章概率论中有)
似然函数见图
对先验分布进行设计,假设p(\my|\tao)为高斯分布,p(τ)是gamma分布
为什么这么设计?
因为是共轭先验,方便计算,后验和先验分布一样

分解q(μ,τ)10.24不分解虽然书上没有说明,但是应该是有问题的

10.25 是一元二次方程,q(μ)还是一个高斯分布,q(τ)是gamma分布

μ,τ是相互依赖的,又需要迭代了re−estimation

这是迭代过程图,绿色是真实分布p,蓝色是q,,bc两张图就是μ,τ的反复迭代,d是最优迭代截止
Illustration :混合高斯的变分
目标:关于隐变量和参数的后验分布的推断(类似第九章EM)

π是1of K的向量
设计先验π,μ,Λ
因为p(Z|π)是多项式分布的乘积(10.37),多项式分布的共轭先验是狄利克雷分布,所以这里设计p(π)是狄利克雷分布
10.40公式,对μ,Λ的联合分布做先验的设计,先做一个乘法规则,然后设计p(μ|Λ)是高斯分布,p(Λ)是温莎特分布
因为对于一个均值未知,协方差矩阵也未知的高斯分布来说,他们两者(μ,Λ)的共轭先验就是高斯分布和温莎特分布的乘积

这里展示了有向图模型
展示了观测x的生成过程

目标:计算p(Z,π,μ,Λ|X)
但是很难算,所有还是要计算一个q(Z,π,μ,Λ)来逼近p
对q的分解要适度,这里只分解成两个因子,为啥?
可以用10.9公式了



10.45 两边取指数
10.47 未归一化
怎么做归一化
先得到10.47 这样一个正比例关系,因为有常数项,所以这里先做正比例关系
znk是 one hot vector
所以对10.47 的右边做归一化
N是数据点的个数,K是分类数,或者叫component
所以这里的ρ是服从多项式分布的
归一化的方式是fix n,对k做归一化

把k看做聚类的簇
Nk是属于k簇的有效数据点个数
xk中心点
Sk簇中的相关性
上面考虑了q(Z),先开始考虑q(π)

继续使用10.9公式
继续分解,π 可以分解出来
前面的分解q(Z,π,μ,Λ)=q(Z)q(π,μ,Λ)是假设的,这里的分解是推导出来的

继续分而治之,推导出q∗(π)是狄利克雷分布
然后这里又是一层依赖关系,要计算q∗(π)要依赖于rnk,而计算rnk 就依赖于q∗(Z),回到前面 q∗(Z) 又依赖于q∗(π)
分而治之的另外一部分 10.59 公式
中间又有依赖关系,不理了,太烦了

数学公式,记号的回顾,好几个量,或者中间量

总结
要用贝叶斯框架计算高斯混合模型中的隐变量的后验估计
总结就是一个变分EM的算法

另外一个方法是用变分下界进行估计-用的是参数法(对L参数化),不是变分法

新值的估计

对z做sum up,隐去z
发现^x 就是服从一个高斯混合模型
加上隐变量,^x服从的是高斯分布
但是10.79 中这部分很难算
用q近似,

从10.79-10.80 中间有一步积分过程
解10.80 得到10.81 得到是一个混合t分布
例子
对贝叶斯回归模型做变分推断

先验设置为gamma分布是因为高斯的共轭先验是gamma,简化运算

β,ϕ是固定的
对α采样,再对giveα采样w,最后givenw的情况下采样tn

对α,w的后验进行近似
q(w)算出来是高斯分布,q(α)算出来是gamma分布

变分推断两大场景
1.EM中需要计算后验概率
2.进行预测的时候需要后验概率,如图

这个方法中的分布是人为设定的,而变分推断的分布是推算出来的,所以变分法更为灵活
关于指数分布族的问题

X本身不是指数族分布,因为高斯混合模型不是指数族分布
所以引入了隐变量
η自然参数
这里的分解都是假设的,假设q(Z,η)可以分解成q(Z)q(η)


上面又出现了Z和η的相互依赖
重要的关于指数族的结论
如果p(X,Z|η)是指数族分布,那么我们就会发现q(Z),q(η)的最优解之间是相互依赖,耦合的关系,所以要相互迭代计算
前面的例子都是满足这个结论的,q∗(Z),q∗(η)是一个更加广义的模型
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)