一句话定义
潜狄利克雷分配(Latent Dirichlet Allocation,LDA)是主题模型(topic model)的经典代表:它假设每篇文档是若干话题(topic)按不同比例的概率混合,而每个话题是词汇表上的一张概率表;只看到文字本身,就能反推出这套混合比例和词表。
它怎么"生成"一篇文章
想象一个编辑部。每个记者(对应一篇文档)动笔前,脑子里有一张选题配比表:七成写体育、三成写财经。每个选题(对应一个话题)有一本常用词手册:体育选题里"球员""客场""比分"概率高,财经选题里"利率""财报""融资"概率高。写稿时,记者对每一个词先按配比掷骰子抽一个话题,再从该话题的词手册里抽一个词,重复到成文。
LDA 把上面这套流程写成了概率公式,但我们只看得见成稿,所以要做"逆向工程":用吉布斯采样(Gibbs sampling)或变分推断等方法,去猜最可能产生这些文字的配比表和词手册。
Dirichlet 分布在这里的角色是"描述比例的分布"。配比表也好、词手册也好,本质都是一组概率,而 Dirichlet 恰好刻画"一组比例该怎么随机取",并且天然偏好平缓、不极端的取值,相当于给模型加了一层温和的先验约束——名字里的 Dirichlet 就来自这里。
和相邻概念的区别
| 对比对象 | 关键差异 |
|---|---|
| k-means 这类硬聚类 | 一篇文档只归一个簇;LDA 给的是"70% 体育 + 30% 财经"式的软分配 |
| 潜在语义分析(Latent Semantic Analysis,LSA)、非负矩阵分解 | 本质是矩阵分解,没有生成故事;LDA 是概率生成模型,输出可读性更强 |
| pLSA | 把"文档—话题"分布当固定参数,文档越多参数越多、新文档要重训;LDA 把它当随机变量,对新文档也能做推断 |
对从业者意味着什么
LDA 的卖点是"无标注也能分类":不需要人工打标签,只要一批文本,就能得到每篇文档的话题分布——新闻自动归类、论文检索、客服工单分流、用户兴趣画像、推荐冷启动都用得上;而且话题以"高概率词"的形式输出,业务同事可以直接给它起名字。
几个实践提醒:话题数 K 要人工设定,常见做法是试几个值,用困惑度(perplexity)或话题一致性(coherence)比较,也可用层级狄利克雷过程(Hierarchical Dirichlet Process,HDP)这类非参数变体自动定 K;它是词袋(bag-of-words)模型,忽略词序,对短文本和"手机/iPhone"这类语义近义词不友好,所以如今常被神经主题模型替代。但作为理解生成式模型、贝叶斯推断与无监督学习的入门样本,它依然值得细读一遍。
