隐式狄利克雷分布(LDA)的坐标上升变分推断(CAVI)算法原理与参数估计过程
题目描述
隐式狄利克雷分布(Latent Dirichlet Allocation, LDA)是一种生成式概率主题模型,用于从文本语料中自动发现潜在主题结构。给定文档集合,LDA假设每篇文档由多个主题混合生成,每个主题是单词上的概率分布。模型参数包括文档-主题分布θ和主题-单词分布φ,两者分别服从狄利克雷先验。变分推断(Variational Inference, VI)是LDA参数估计的主流方法之一,其中坐标上升变分推断(Coordinate Ascent Variational Inference, CAVI)通过优化变分分布逼近真实后验分布。本题要求详解CAVI在LDA中的数学原理、变分分布设计、证据下界(ELBO)推导以及迭代优化过程。
解题过程
- LDA生成过程与联合概率分布
- LDA的生成过程为:
(1) 对每个主题k∈[1,K],从狄利克雷分布Dir(β)生成主题-单词分布φ_k
(2) 对每篇文档d∈[1,D]:
- 从狄利克雷分布Dir(α)生成文档-主题分布θ_d
- 对文档d中的每个词n∈[1,N_d]:
* 从多项式分布Mult(θ_d)采样主题z_{d,n}
* 从多项式分布Mult(φ_{z_{d,n}})采样单词w_{d,n} - 联合概率分布为:
- LDA的生成过程为:
\[p(\mathbf{w}, \mathbf{z}, \boldsymbol{\theta}, \boldsymbol{\phi} | \alpha, \beta) = \prod_{k=1}^K p(\phi_k | \beta) \prod_{d=1}^D p(\theta_d | \alpha) \prod_{n=1}^{N_d} p(z_{d,n} | \theta_d) p(w_{d,n} | \phi_{z_{d,n}}) \]
-
变分推断基本思想
- 目标:近似后验分布\(p(\mathbf{z}, \boldsymbol{\theta}, \boldsymbol{\phi} | \mathbf{w}, \alpha, \beta)\),其计算不可行(因边缘化\(\mathbf{z}\)的复杂度高)
- 变分法:引入变分分布\(q(\mathbf{z}, \boldsymbol{\theta}, \boldsymbol{\phi})\),通过最小化KL散度\(KL(q || p)\)逼近真实后验
- 根据ELBO关系:\(\log p(\mathbf{w} | \alpha, \beta) = ELBO(q) + KL(q || p)\),最大化ELBO等价于最小化KL散度
-
LDA的变分分布设计(平均场假设)
- 假设变分分布可分解为:
\[q(\mathbf{z}, \boldsymbol{\theta}, \boldsymbol{\phi}) = \prod_{k=1}^K q(\phi_k | \lambda_k) \prod_{d=1}^D q(\theta_d | \gamma_d) \prod_{n=1}^{N_d} q(z_{d,n} | \phi_{d,n}) \]
- 其中:
- \(q(\phi_k | \lambda_k)\)为狄利克雷分布,参数\(\lambda_k \in \mathbb{R}^V\)(V为词表大小)
- \(q(\theta_d | \gamma_d)\)为狄利克雷分布,参数\(\gamma_d \in \mathbb{R}^K\)
- \(q(z_{d,n} | \phi_{d,n})\)为多项式分布,参数\(\phi_{d,n} \in \mathbb{R}^K\)表示主题概率
- ELBO的推导与分解
- ELBO表达式:
\[ELBO(q) = \mathbb{E}_q[\log p(\mathbf{w}, \mathbf{z}, \boldsymbol{\theta}, \boldsymbol{\phi} | \alpha, \beta)] - \mathbb{E}_q[\log q(\mathbf{z}, \boldsymbol{\theta}, \boldsymbol{\phi})] \]
- 代入联合分布和变分分布,分解为五部分:
(1) \(\mathbb{E}_q[\log p(\phi_k | \beta)]\):主题-单词先验的期望
(2) \(\mathbb{E}_q[\log p(\theta_d | \alpha)]\):文档-主题先验的期望
(3) \(\mathbb{E}_q[\log p(z_{d,n} | \theta_d)]\):主题生成的期望
(4) \(\mathbb{E}_q[\log p(w_{d,n} | \phi_{z_{d,n}})]\):单词生成的期望
(5) \(-\mathbb{E}_q[\log q(\cdot)]\):变分分布的熵项 - 利用狄利克雷和多项分布的期望性质(如\(\mathbb{E}[\log \theta_{d,k}] = \psi(\gamma_{d,k}) - \psi(\sum_{j=1}^K \gamma_{d,j})\),其中\(\psi\)为digamma函数)将ELBO化为参数\(\gamma, \lambda, \phi\)的函数
- CAVI迭代优化步骤
- E-Step(固定γ, λ,优化φ):
对每个词\(w_{d,n}\),更新其主题分布参数\(\phi_{d,n}\):
- E-Step(固定γ, λ,优化φ):
\[\phi_{d,n,k} \propto \exp\left( \psi(\gamma_{d,k}) + \psi(\lambda_{k,w_{d,n}}) - \psi(\sum_{v=1}^V \lambda_{k,v}) \right) \]
其中第一项反映文档d中主题k的权重,第二项反映主题k生成单词$w_{d,n}$的权重
- M-Step(固定φ,优化γ, λ):
- 更新文档-主题变分参数\(\gamma_d\):
\[\gamma_{d,k} = \alpha_k + \sum_{n=1}^{N_d} \phi_{d,n,k} \]
- 更新主题-单词变分参数$\lambda_k$:
\[\lambda_{k,v} = \beta_v + \sum_{d=1}^D \sum_{n=1}^{N_d} \phi_{d,n,k} \cdot I(w_{d,n}=v) \]
其中$I(\cdot)$为指示函数,统计词v在主题k下的出现次数
- 迭代执行E-Step和M-Step直至ELBO收敛
- 参数估计与预测
- 主题-单词分布估计:\(\hat{\phi}_k = \frac{\lambda_k}{\sum_{v=1}^V \lambda_{k,v}}\)
- 文档-主题分布估计:\(\hat{\theta}_d = \frac{\gamma_d}{\sum_{k=1}^K \gamma_{d,k}}\)
- 对新文档推断:固定λ,仅优化γ和φ(类似E-Step和局部M-Step)
关键点总结
CAVI通过变分分布简化后验推断,将复杂的概率图模型优化转化为坐标上升过程。其核心在于利用共轭先验性质(狄利克雷-多项式共轭)使ELBO有闭式解,迭代更新局部参数(φ)和全局参数(γ, λ)。相比吉布斯采样,CAVI更易于并行化且收敛速度快,但需注意变分近似可能低估后验不确定性。