深入解析CS228-notes中的隐变量模型学习
隐变量模型(Latent Variable Models, LVM)是概率图模型中一类重要的模型,它通过引入未观测的隐变量来增强模型的表达能力。本文将系统性地介绍隐变量模型的基本概念、典型应用以及核心学习算法。
隐变量模型概述
在传统的概率图模型学习中,我们通常假设所有待建模的变量都是可观测的。然而,现实场景中往往存在部分变量无法直接观测的情况。例如在新闻文章的主题建模中,每篇文章的实际主题通常是未知的。
形式上,隐变量模型p定义为两个变量集合x和z上的概率分布:
$$ p(x, z; \theta) $$
其中x是在数据集D中可观测的变量,而z是始终不可观测的隐变量。这类模型可以是生成式的,也可以是判别式的。
高斯混合模型(GMM)实例
高斯混合模型是最常用的隐变量模型之一。在GMM中,每个数据点(xi, zi)包含:
- xi ∈ ℝ^d:观测到的特征向量
- zi ∈ {1,2,...,K}:未观测的类别标签
联合分布分解为:
$$ p(x, z) = p(x|z)p(z) $$
其中p(z=k) = πk是类别先验概率,p(x|z=k) = N(x; μk, Σk)是第k个高斯分量。
隐变量模型的优势
使用隐变量模型主要有两方面原因:
- 处理自然缺失数据:例如临床试验中部分患者中途退出导致数据缺失
- 融入先验知识增强模型:如新闻主题分类中利用主题信息
此外,隐变量模型还能显著提升模型的表达能力。例如GMM通过多个高斯分量的混合,可以建模比单高斯更复杂的分布。
边缘似然训练
训练LVM的目标是使边缘分布p(x)与观测数据匹配,因此需要最大化边缘对数似然:
$$ \log p(D) = \sum_{x \in D} \log p(x) = \sum_{x \in D} \log \left( \sum_z p(x|z) p(z) \right) $$
由于log内包含求和,这个目标函数比普通对数似然更复杂,且通常是非凸的,需要特殊的学习算法。
期望最大化(EM)算法
EM算法是学习有向隐变量图模型的核心方法,它通过迭代以下两步实现优化:
- E步(期望步):基于当前参数θt,计算后验分布p(z|x; θt)
- M步(最大化步):优化期望对数似然:
$$ \theta_{t+1} = \arg\max_\theta \sum_{x \in D} \E_{z \sim p(z|x; \theta_t)} \log p(x,z; \theta) $$
GMM中的EM算法
对于GMM模型,EM算法的具体实现为:
E步:计算每个数据点x对各高斯分量的"软"分配概率:
$$ p(z_k|x; θ_t) = \frac{π_k N(x; μ_k, Σ_k)}{\sum_{j=1}^K π_j N(x; μ_j, Σ_j)} $$
M步:更新参数:
- 均值μk:数据点的加权平均
- 协方差Σk:数据点的加权协方差
- 先验πk:各分量的平均分配概率
EM算法的变分解释
EM算法可以理解为在变分推断框架下交替优化:
- 固定θ优化q(E步,使ELBO紧致)
- 固定q优化θ(M步,最大化ELBO)
这种解释说明了为什么EM能保证边缘似然单调递增。
EM算法的特性
- 收敛性保证:每次迭代边缘似然不减,最终必然收敛
- 局部最优:结果严重依赖初始参数,通常需要多次随机初始化
- 广泛适用性:对许多隐变量模型效果良好
尽管存在局部最优问题,EM算法因其简单有效,在实践中仍然被广泛应用。理解其原理对于掌握概率图模型的学习至关重要。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



