LDA主题模型

理解LDA,可以分为下述4个步骤:
  1. 一个函数:gamma函数,
  2. 两个分布:beta分布、Dirichlet分布,
  3. 一个模型:LDA(文档-主题,主题-词语),
  4. 一个采样:Gibbs采样

本文便按照上述4个步骤来阐述,希望读者看完本文后,能对LDA有个尽量清晰完整的了解。并且,本文基于 邹博讲LDA的PPT 、rickjin的 LDA数学八卦 以及其它参考资料写就,可以定义为一篇 学习笔记 ,若有何问题,欢迎随时于本文评论下指出,thanks。

1 gamma函数

1.0 整体把握LDA

开篇之前,得先说下关于LDA,其实有两种含义,一种是统计学中的分析方法:线性判别分析(Linear Discriminant Analysis),一种概率主题模型:隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),本文讲后者(前者会在后面的博客中阐述)。

开篇之始,我也还是要简单说下LDA的整体思想,不然我怕你看了半天,铺了太长的前奏,却依然因没见到LDA的影子而显得心浮气躁,导致不想再继续看下去。所以,先给你吃一颗定心丸,明白整体框架后,咱们再一步步抽丝剥茧,展开来论述。

LDA由Blei, David M.、Ng, Andrew Y.、Jordan于2003年提出,它是一种典型的词袋模型,即一篇文档是由一组词构成,词与词之间没有顺序以及先后的关系。一篇文档可以包含多个主题,文档中每一个词都由其中的一个主题生成。

LDA的这三位作者在原始论文中给了一个简单的例子。比如给定这几个主题:Arts、Budgets、Children、Education,在这几个主题下,可以构造生成跟主题相关的词语,如下图所示:

然后可以根据这些词语生成如下图所示的一篇文章(其中不同颜色的词语分别对应上图中不同主题下的词)

表面上理解LDA比较简单,无非就是:当看到一篇文章后,我们往往喜欢推测这篇文章是如何生成的,我们可能会认为某个作者先确定这篇文章的几个主题,然后围绕这几个主题遣词造句,表达成文。

然,就是这么一个看似普通的LDA,一度吓退了不少想深入内部探究其原理的初学者。难在哪呢,难就难在LDA内部涉及到的数学知识点太多了。

根据wikipedia上的介绍,在LDA模型中一篇文档生成的方式如下:

  • 从狄利克雷分布 中取样生成文档i的主题分布
  • 从主题的多项式分布 中取样生成文档i第j个词的主题
  • 从狄利克雷分布 中取样生成主题 的词语分布
  • 从词语的多项式分布 中采样最终生成词语

其中,类似Beta分布是二项式分布的共轭先验概率分布,而狄利克雷分布是多项式分布的共轭先验概率分布。

此外,LDA贝叶斯网络结构如下图所示:

恩,不错,短短6句话整体概括了整个LDA的主体思想!但也是上面短短6句话,却接连不断或重复出现了beta分布、狄利克雷分布(Dirichlet分布)、共轭先验概率分布、取样,那么请问,这些都是啥呢?

别急,接下来,咱们就通过本文开头所说的思路:“一个函数:gamma函数,两个分布:beta分布、Dirichlet分布,一个模型:LDA(文档-主题,主题-词语),一个采样:Gibbs采样”一步步阐述,争取给读者一个尽量清晰完整的LDA。

1.1 gamma函数

咱们先来考虑一个问题:随机变量 ,把这n 个随机变量排序后得到顺序统计量 ,然后请问 的分布是什么。

为解决这个问题,可以尝试计算 落在区间[x,x+Δx]的概率。即求下述式子的值:

首先,把 [0,1] 区间分成三段 [0,x),[x,x+Δx],(x+Δx,1],然后考虑下简单的情形:即假设n 个数中只有1个落在了区间 [x,x+Δx]内,由于这个区间内的数X(k)是第k大的,所以[0,x)中应该有 k−1 个数,(x+Δx,1] 这个区间中应该有n−k 个数。如下图所示:

从而问题转换为下述事件E:

对于上述事件E,有:

其中,o(Δx)表示Δx的高阶无穷小。显然,由于不同的排列组合,即n个数中有一个落在 [x,x+Δx]区间的有n种取法,余下n−1个数中有k−1个落在[0,x)的有 种组合,所以和事件E等价的事件一共有 个。

如果有2个数落在区间[x,x+Δx]呢?如下图所示:

类似于事件E,对于2个数落在区间[x,x+Δx]的事件E’:

有:

2 beta分布

正在努力敲字当中..

3 狄利克雷分布

4 主题模型LDA

5 参考文献与推荐阅读

  1. Blei, David M.; Ng, Andrew Y.; Jordan, Michael I. Latent Dirichlet allocation(LDA原始论文): http://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf
  2. 一堆wikipedia,比如隐含狄利克雷分布LDA的wiki: http://zh.wikipedia.org/wiki/%E9%9A%90%E5%90%AB%E7%8B%84%E5%88%A9%E5%85%8B%E9%9B%B7%E5%88%86%E5%B8%83
  3. rickjin的LDA数学八卦: http://emma.memect.com/t/9756da9a47744de993d8df13a26e04e38286c9bc1c5a0d2b259c4564c6613298/LDA
  4. 机器学习班第12次课上,邹博讲主题模型LDA的PPT;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值