LDA Topic Models: The Generative Code of Text
引言:从词袋到生成式模型
在处理文本数据时,最简单的方法是词袋模型 (Bag-of-Words, BoW)。它忽略词序和语法,只将文档看作词汇的集合。但 BoW 无法捕捉文档背后的语义结构。直觉上,文章围绕某些“话题”展开,词汇则是这些话题的具体表现。
主题模型 (Topic Model) 基于这种直觉。它假设文档是由隐藏的“主题”生成的。作为该领域的经典模型,潜在狄利克雷分配 (Latent Dirichlet Allocation, LDA) 是一个三层贝叶斯概率图模型。它常用于自然语言处理,也是概率图模型(结合有向图、潜变量、共轭先验)的典型应用。
贝叶斯视角:共轭先验的引入
在进入 LDA 结构之前,需要先理解其数学组件:狄利克雷分布 (Dirichlet Distribution)。
LDA 是一个贝叶斯模型。在频率派的 PLSA (Probabilistic Latent Semantic Analysis) 中,参数被直接估计。而在 LDA 中,参数本身也被视为随机变量,并服从某个先验分布。
- 多项式分布 (Multinomial):描述了“掷骰子”生成词汇的过程。
- 狄利克雷分布 (Dirichlet):描述了“制造骰子”的过程。它是多项式分布的共轭先验 (Conjugate Prior)。
如果先验是 Dirichlet,似然是 Multinomial,那么后验依然是 Dirichlet。这一性质简化了数学推导和计算。
生成过程:Plate Notation
LDA 将文档生成过程描述为一个“掷骰子”的过程。
核心概念
- 文档 (Document): 篇文档。
- 主题 (Topic): 个主题。每个主题 是词汇表 上的一个概率分布。
- 词 (Word):文档中的具体单词。
Plate Notation
graph TD
subgraph Plate_K [K Topics]
beta((beta)) --> phi((phi))
end
subgraph Plate_D [D Documents]
alpha((alpha)) --> theta((theta))
subgraph Plate_N [N Words]
theta --> z((z))
z --> w((w))
phi --> w
end
end
style w fill:#ddd,stroke:#333,stroke-width:2px
- (灰色节点):唯一可观测的变量(文档中的词)。
- (白色节点):隐含变量,需要推断。
- :超参数。
生成故事 (Generative Story)
- 生成主题-词分布:对于每个主题 :
- 从先验分布 中采样得到该主题的词分布 。
- 生成文档:对于每篇文档 :
- 确定主题比例:从先验分布 中采样得到该文档的主题分布 。
- 生成词汇:对于文档中的第 个词:
- 从 中采样一个主题指派 。
- 根据主题 对应的词分布 ,采样生成具体的词 。
联合概率分布为:
推断:折叠吉布斯采样 (Collapsed Gibbs Sampling)
要解决的问题是逆向工程:已知观测到的文档 ,反推其背后的隐含结构(主题分布 和文档主题比例 )。即计算后验概率 。
由于直接计算该后验分布的分母(积分)是不可行的,我们再次通过近似推断。LDA 最常用的算法是 Collapsed Gibbs Sampling。
之所以叫“Collapsed (折叠)”,是因为利用共轭先验的性质,可以将连续变量 和 直接积分掉 (Integrate out),只对离散隐变量 进行采样。这降低了采样空间的维度。
采样公式
我们需要计算:给定所有其他词的主题分配 ,当前词 被分配给主题 的条件概率:
- Doc-Topic Part:文档 中目前被分配给主题 的词越多,新词属于主题 的概率越大。
- Topic-Word Part:主题 中包含词 的次数越多,该词由主题 生成的概率越大。
算法流程
- 随机初始化:为语料库中每个词随机分配一个主题 。
- 迭代采样:
- 遍历每个文档中的每个词 。
- 将 从当前统计量中移除(Decremental)。
- 根据上述公式计算 属于各个主题 的概率。
- 依照该概率分布采样新的主题 。
- 更新统计量(Incremental)。
- 参数估计: 采样收敛后,利用统计量估计 和 :
总结与系列回顾
LDA 展示了概率图模型的表达能力:通过合理的先验假设和结构设计,可以从看似杂乱的数据中提取结构化知识。
至此,我们的概率图模型系列涵盖了四大里程碑:
- 贝叶斯网络:建立了有向图与因果推断的桥梁。
- HMM:处理了具有时间依赖的序列数据。
- MRF:捕捉了具有空间对称性的相关关系。
- LDA:展示了贝叶斯生成式模型在非结构化数据挖掘中的应用。
无论是因果推断、时间序列预测、图像处理还是文本挖掘,概率图模型都提供了一种统一语言:用图描述结构,用概率量化不确定性。这也是统计学习的吸引力所在。
- Title: LDA Topic Models: The Generative Code of Text
- Author: Hyacehila
- Created at : 2026-02-12 04:00:00
- Link: https://hyacehila.github.io//blog/2026/02/12/topic-model-lda/
- License: This work is licensed under CC BY-NC-SA 4.0.