折叠吉布斯采样(Collapsed Gibbs Sampling)是一种用于潜在狄利克雷分配(LDA)后验推断的方法。然而,其迭代性质,即一次处理一个词元 (token)分配,对于大型语料库而言计算量可能很大。变分贝叶斯(VB)提供了一种确定性替代方法,通常可以更有效地扩展。VB将推断问题转化为一个优化问题,而非采样。
LDA的变分贝叶斯方法
LDA推断中的主要挑战是计算后验分布 p(θ,z,β∣w),其中 θ 代表文档-主题分布,z 代表每个词的主题分配,β 代表主题-词分布,w 代表观测到的词。由于变量之间复杂的依赖关系,这个后验分布是难以处理的。
变分贝叶斯通过引入一个更简单的近似分布 q(θ,z,β) 来解决这个问题,该分布选自分布族 Q。目标是找到分布族 Q 中最接近真实后验 p 的分布 q。接近程度通常使用Kullback-Leibler(KL)散度 KL(q∣∣p) 来衡量。最小化这个KL散度等价于最大化数据对数边缘似然的下界,这个下界被称为证据下界(ELBO):
L(q)=Eq[logp(θ,z,β,w)]−Eq[logq(θ,z,β)]≤logp(w)
对于LDA,变分族 Q 的常见选择是 平均场 族,该族假设近似后验中的潜在变量是相互独立的:
q(θ,z,β∣γ,ϕ,λ)=d=1∏Mq(θd∣γd)k=1∏Kq(βk∣λk)n=1∏Ndq(zdn∣ϕdn)
这里:
- q(θd∣γd) 是一个狄利克雷分布,近似文档 d 的主题混合后验,其参数 (parameter)是变分狄利克雷参数向量 (vector) γd=(γd1,...,γdK)。
- q(βk∣λk) 是一个狄利克雷分布,近似主题 k 的词分布后验,其参数是变分狄利克雷参数向量 λk=(λk1,...,λkV),其中 V 是词汇表 (vocabulary)大小。
- q(zdn∣ϕdn) 是一个多项式分布,近似文档 d 中第 n 个词的主题分配后验,其参数是变分多项式参数向量 ϕdn=(ϕdn1,...,ϕdnK),其中 ∑kϕdnk=1。
参数 γ、ϕ 和 λ 是我们为了最大化ELBO需要优化的 变分参数。
平均场近似假设变分分布 q 中的潜在变量(θ、β、z)之间相互独立,从而简化了真实后验 p 中存在的难以处理的依赖关系。
LDA的坐标上升变分推断(CAVI)
ELBO可以通过迭代坐标上升方法最大化。我们循环更新变分参数 (parameter)(ϕ、γ、λ),每次固定其他参数。更新方程是通过对ELBO的每个参数求导,将其设为零并求解而得出的。结果更新通常具有直观的形式,类似于期望最大化(EM)算法中的更新。
-
更新 ϕdnk:此更新估计词 wdn 属于主题 k 的概率。它依赖于文档 d 的主题比例的期望对数概率的当前估计(与 γd 相关)以及词 wdn 在主题 k 下的期望对数概率(与 λk 相关)。
ϕdnk∝exp(Eq(θd∣γd)[logθdk]+Eq(βk∣λk)[logβk,wdn])
期望涉及双伽马函数 Ψ,因为 E[logθdk]=Ψ(γdk)−Ψ(∑j=1Kγdj)。在计算所有 k 的右侧后,ϕdn 进行归一化 (normalization),使得 ∑kϕdnk=1。
-
更新 γdk:此更新聚合了文档 d 中所有词分配给主题 k 的责任(ϕdnk),并加上原始的狄利克雷先验参数 αk。它表示文档 d 中分配给主题 k 的预期词数。
γdk=αk+n=1∑Ndϕdnk
-
更新 λkv:此更新聚合了在所有文档中词 v 的所有实例(其中 wdn=v)分配给主题 k 的责任(ϕdnk),并加上原始的狄利克雷先验参数 ηv。它表示词 v 由主题 k 生成的预期次数。
λkv=ηv+d=1∑Mn:wdn=v∑ϕdnk
这些更新会迭代进行,直到ELBO收敛,这意味着变分参数趋于稳定。
结果的解读
一旦收敛,优化的变分参数 (parameter)会提供后验分布的近似值:
- γ∗:参数化了文档 d 的主题混合的近似后验狄利克雷分布 q(θd∣γd∗)。预期的主题比例为 E[θdk]=γdk∗/∑j=1Kγdj∗。
- λ∗:参数化了主题 k 的词分布的近似后验狄利克雷分布 q(βk∣λk∗)。预期的词概率为 E[βkv]=λkv∗/∑v′=1Vλkv′∗。
- ϕ∗:表示词 wdn 属于主题 k 的优化后验概率 q(zdn=k∣ϕdn∗)。
VB与折叠吉布斯采样的比较
| 特点 |
变分贝叶斯 (VB) |
折叠吉布斯采样 |
| 方法 |
优化(最大化ELBO) |
采样 |
| 性质 |
确定性 |
随机性 |
| 速度 |
每轮迭代通常更快 |
每轮迭代可能较慢 |
| 可扩展性 |
更适合大型数据集 |
处理大数据可能存在困难 |
| 收敛性 |
收敛到ELBO的局部最优 |
(在极限情况下)收敛到真实后验 |
| 准确度 |
提供近似值(有偏) |
渐近精确 |
| 实现 |
更新方程可能复杂 |
采样方法更简单 |
| 并行性 |
更易于某些并行化 |
可以并行化(例如,按文档) |
VB通常比吉布斯采样收敛快得多,特别是在大型数据集上。然而,由于它基于近似分布族(平均场假设)来优化下界,它可能收敛到一个对真实后验近似较差的解,相比于运行良好的吉布斯采样器。平均场假设倾向于低估后验分布的方差。
进一步扩展:随机变分推断
对于真正大规模的数据集,即使是标准的批量VB也可能太慢,因为它在λ的每次更新步骤中都需要处理整个语料库。随机变分推断(SVI)通过对ELBO使用随机梯度上升来解决这个问题。它在每一步处理小批量的文档,从而实现在线学习和显著加速,使得VB适用于网络规模的数据集。
总之,变分贝叶斯为LDA提供了一个强大且可扩展的推断框架。通过将推断视为优化问题,并使用因子化近似,它使我们能够从大型文本集合中有效地估计主题模型,补充了像折叠吉布斯采样这样的基于采样的方法。