潜在语义索引是一种简单的主题模型(主题模型LDA现在还有人用吗)
编辑部
微信公众号
关键字全网搜索
『量化投资』:排名第一
『量 化』:排名第二
『机器学习』:排名第三
我们会再接再厉
成为全网优质的金融、技术技类公众号
本期编辑:Roy
● 复旦大学物理学士、计算机硕士
● 文本挖掘、机器学习、量化投资
一、概述
1. LDA是什么?
主题模型(Topic Model)
2003年由 Blei, Ng 和 Jordan提出的一种主题模型,可以用来分析文章的主题分布。
概率生成模型(Probabilistic Generative Model)
LDA模型认为一篇文章有若干个主题。
如下图所示:每一个词wi来自不同的主题zi,来自不同主题的概率不同;在每个主题zi下生成每个词的概率不同。所以一个词为wi的概率为:
LDA 的目的就是为了找出每篇文章的主题概率分布。
例子
有395 篇英文新闻,假设每篇新闻都有20个主题(#数字是拍脑袋得的)。
这样就完成了对于文本数据的降维工作,为进一步分析做好准备。
二、简化模型(掷骰子)
LDA 认为一篇文章由若干主题构成,每一个词都属于某一主题。
可以用抛骰子类比写文章的过程,存在两类不同骰子:
doc-topic 骰子:某篇文章对应不同主题的概率分布。
topic-word 骰子:某个主题对应不同词的概率分布。
生成 N 篇文章(语料库有 V 个不同词,K 个主题)的过程:
Step 1:从 topic-word 坛子抽取 K 个骰子
Step 2:对于每一篇文章,抽取一个新的 doc -topic 骰子
Step 3:抛骰子决定下一个词
三、概率表述
选骰子是Dirichlet,抛骰子是Multinomial
真正处理文本时,为了方便处理:直接分词,不考虑顺序,用 bag-of-words 模型.
比如:抛骰子 3 次,结果是「1, 2, 1」,对应概率是 p
我们所能观察到的只是文章 W,而用来生成文章的不同骰子是潜变量(latent variables)不能观测。我们所要做的是根据观测到的文章,去推测用了一个什么样的骰子。
其中分母部分无法直接求解,需近似求解。可以用 EM、Bayesian Variance、Expectation Propagation、Gibbs Sampling 等不同的方法求解。这里介绍用 Gibbs Sampling 求解的方法。
lda包()
https://github.com/ariddell/lda
以 5 篇文章、2 个主题的 Corpus 为例:
Corpus 用 Doc-Topic Matrix 表示:
五、总结
LDA模型本身简单明了,可以通过 “选骰子 — 抛骰子” 通俗理解。实际求解过程涉及数学背景较多,如:Dirichlet 分布、共轭分布、Bayesian Inference、Gibbs Sampling等。
Reference
投稿、商业合作
请发邮件到:lhtzjqxx@163.com
关注者
从1到10000+
我们每天都在进步
听说,置顶关注我们的人都不一般返回搜狐,查看更多