首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【原创精品】主题模型 - LDA学习笔记(一)

【原创精品】主题模型 - LDA学习笔记(一)

作者头像
量化投资与机器学习微信公众号
发布2018-01-29 16:56:16
1.3K0
发布2018-01-29 16:56:16
举报

本期编辑:Roy

● 复旦大学物理学士、计算机硕士

● 文本挖掘、机器学习、量化投资

一、概述

1. LDA是什么?

主题模型(Topic Model)

2003年由 Blei, Ng 和 Jordan提出的一种主题模型,可以用来分析文章的主题分布。

概率生成模型(Probabilistic Generative Model)

LDA模型认为一篇文章有若干个主题。

如下图所示:每一个词wi来自不同的主题zi,来自不同主题的概率不同;在每个主题zi下生成每个词的概率不同。所以一个词为wi的概率为:‍‍

LDA 的目的就是为了找出每篇文章的主题概率分布。

例子

有395 篇英文新闻,假设每篇新闻都有20个主题(#数字是拍脑袋得的)。

这样就完成了对于文本数据的降维工作,为进一步分析做好准备。

二、简化模型(掷骰子)

LDA 认为一篇文章由若干主题构成,每一个词都属于某一主题。

可以用抛骰子类比写文章的过程,存在两类不同骰子:

  1. doc-topic 骰子:某篇文章对应不同主题的概率分布。
  2. 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(x1,x2,x3)= p(x1=1)p(x2=2)p(x3=1) 。

因为不考虑顺序了,对应的概率是 p(x1,x2,x3) 是多项式分布p(x1,x2,x3)=C(3,2)p(x=1)^2 * C(3,1)p(x=2)。

然后在求后验分布时,分子上似然概率中的系数和分母归一常数中的系数约掉了,所以文中提到多项式分布的地方都省略掉了多项式分布系数。

求解(Gibbs Sampling)

‍‍我们所能观察到的只是文章 ‍‍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

  1. Blei D M, Ng A Y, Jordan M I. Latent dirichlet allocation[J]. Journal of Machine Learning Research, 2003, 3:993-1022.
  2. D. Blei. Probabilistic topic models. Communications of the ACM,55(4):77–84, 2012.
  3. Griffiths, Thomas L., and Mark Steyvers. “Finding scientific topics.“ Proceedings of the National academy of Sciences 101.suppl 1 (2004): 5228-5235.
  4. 《LDA 数学八卦》
  5. Heinrich G. Parameter Estimation for Text Analysis[J]. Technical Report, 2005.
  6. 《Computational Statistics in Python》by Cliburn Chan from Duke
  7. LDA作者 David M. Blei 的 lecture 视频
  8. Teh, Yee Whye, et al. “Hierarchical dirichlet processes.“ *Journal of the american statistical association* (2012).
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Reference
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档