通俗理解lda主题模型latex版(排版by陈友和)

上传人:mg****85 文档编号:44620212 上传时间:2018-06-14 格式:PDF 页数:32 大小:1.32MB
返回 下载 相关 举报
通俗理解lda主题模型latex版(排版by陈友和)_第1页
第1页 / 共32页
通俗理解lda主题模型latex版(排版by陈友和)_第2页
第2页 / 共32页
通俗理解lda主题模型latex版(排版by陈友和)_第3页
第3页 / 共32页
通俗理解lda主题模型latex版(排版by陈友和)_第4页
第4页 / 共32页
通俗理解lda主题模型latex版(排版by陈友和)_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《通俗理解lda主题模型latex版(排版by陈友和)》由会员分享,可在线阅读,更多相关《通俗理解lda主题模型latex版(排版by陈友和)(32页珍藏版)》请在金锄头文库上搜索。

1、通俗理解 LDA 主题模型2015 年 1 10 1前印象中,最开始听说“LDA”这个名词,是缘于 rickjin 在 2013 年 3 写的个 LDA 科普系列,叫 LDA 数学卦,我当时直想看来着,记得还打印过次,但不知是因为这篇档的前序铺垫太长(现在才意识到这些“铺垫”都是深刻理解 LDA 的基础,但如果没有帮助初学者提纲挈领、把握主次、理清思路,则很容易陷 LDA 的细枝末节之中) ,还是因为其中的数学推导细节太多,导致直没有完整看完过。2013 年 12 ,在我组织的 Machine Learning 读书会第 8 期上, 夏粉 _ 百度讲机器学习中排序学习的理论和算法研究, 沈醉

2、2011 则讲主题模型的理解。又次碰到了主题模型,当时貌似只记得沈博讲了个汪峰写歌词的例,依然没有理解 LDA 到底是怎样个东西(但理解了 LDA 之后,再看沈博主题模型的 PPT 会很赞) 。直到昨下午,机器学习班第 12 次课上,邹博讲完 LDA 之后,才真正明 LDA 原来是那么个东东!上完课后,趁热打铁,再次看 LDA 数学卦,发现以前看不下去的档再看时竟然路都较顺畅,看完部。看完部后,思路清晰了,知道理解 LDA,可以分为下述 5 个步骤:1. 个函数:gamma 分布2. 四个分布:项分布、多项分布、beta 分布、Dirichlet 分布3. 个概念和个理念:共轭先验和贝叶斯框架

3、4. 两个模型:pLSA、LDA(在本第 4 部分阐述)5. 个采样:Gibbs 采样本便按照上述 5 个步骤来阐述,希望读者看完本后,能对 LDA 有个尽量清晰完整的了解。同时,本基于邹博讲LDA 的PPT、rickjin 的 LDA 数学卦及其它参考资料写就,可以定义为篇学习笔记或课程笔记,当然,后续不断加了很多的理解。若有任何问题,欢迎随时于本评论下指出,thanks。2gamma 函数2.1整体把握 LDA关于 LDA 有两种含义,种是线性判别分析(Linear Discriminant Analysis) ,种是概率主题模型:隐含狄利克雷分布(Latent Dirichlet All

4、ocation,简称 LDA) ,本讲后者(前者会在后的博客中阐述) 。另外,我先简单说下 LDA 的整体思想,不然我怕你看了半天,铺了太长的前奏,却依然因没见到 LDA 的影显得“浮躁” ,导致不想再继续看下去。所以,先给你吃颗定丸,明整体框架后,咱们再步步抽丝剥茧,展开来论述。1按照 wiki 上的介绍,LDA 由 Blei, David M.、Ng, Andrew Y.、Jordan 于 2003 年提出,是种主题模型,它可以将档集中每篇档的主题以概率分布的形式给出,从通过分析些档抽取出它们的主题(分布)出来后,便可以根据主题(分布)进主题聚类或本分类。同时,它是种典型的词袋模型,即篇档

5、是由组词构成,词与词之间没有先后顺序的关系。此外,篇档可以包含多个主题,档中每个词都由其中的个主题成。LDA 的这三位作者在原始论中给了个简单的例。如假设事先给定了这个主题:Arts、Budgets、Children、Education,然后通过学习的式,获取每个主题 Topic 对应的词语。如下图所:然后以定的概率选取上述某个主题,再以定的概率选取那个主题下的某个单词,不断的重复这两步,最终成如下图所的篇章(其中不同颜的词语分别对应上图中不同主题下的词) :当我们看到篇章后,往往喜欢推测这篇章是如何成的,我们可能会认为作者先确定这篇章的个主题,然后围绕这个主题遣词造句,表达成。LDA 就是要

6、这事:根据给定的篇档,推测其主题分布。然,就是这么个看似普通的 LDA,度吓退了不少想深探究其内部原理的初学者。难在哪呢,难就难在 LDA内部涉及到的数学知识点太多了。在 LDA 模型中,篇档成的式如下: 从狄利克雷分布 中取样成档 i 的主题分布 i 从主题的多项式分布 i中取样成档 i 第 j 个词的主题 zi,j 从狄利克雷分布 中取样成主题 zi,j对应的词语分布 zi,j 从词语的多项式分布 zi,j中采样最终成词语 wi,j2其中,类似 Beta 分布是项式分布的共轭先验概率分布,狄利克雷分布(Dirichlet 分布)是多项式分布的共轭先验概率分布。此外,LDA 的图模型结构如下

7、图所(类似贝叶斯络结构) :恩,不错,短短 6 句话整体概括了整个 LDA 的主体思想!但也就是上短短 6 句话,却接连不断或重复出现了项分布、多项式分布、beta 分布、狄利克雷分布(Dirichlet 分布) 、共轭先验概率分布、取样,那么请问,这些都是啥呢?这先简单解释下项分布、多项分布、beta 分布、Dirichlet 分布这 4 个分布。 项分布(Binomial distribution)项分布是从伯努利分布推进的。伯努利分布,又称两点分布或 0-1 分布,是个离散型的随机分布,其中的随机变量只有两类取值,正即负 +,-。项分布即重复 n 次的伯努利试验,记为 X b(n,p)。

8、简之,只做次实验,是伯努利分布,重复做了 n 次,是项分布。项分布的概率密度函数为:P(K = k) =(nk) pk(1 p)nk对于 k = 0,1,.,n 其中的(nk)=n! k!(nk)!是项式系数(这就是项分布的名称的由来) ,又记为 C(n,k)。回想起中所学的那丁点概率知识了么:想必你当年定死记过 C(n,k) 这个项式系数就是n! k!(nk)!。 多项分布,是项分布扩展到多维的情况多项分布是指单次试验中的随机变量的取值不再是 0-1 的,是有多种离散值可能(1,2,3.,k) 。如投掷 6 个的骰实验,N 次实验结果服从 K=6 的多项分布。其中ki=1pi= 1,pi 0

9、多项分布的概率密度函数为:P(x1,x2,.,xk;n,p1,p2,.,pk) =n! x1!.xk!px1 1.pxkk Beta 分布,项分布的共轭先验分布给定参数 0 和 0,取值范围为 0,1 的随机变量 x 的概率密度函数:f(x;,) =1 B(,)x1(1 x)1其中: 1 B(,)=( + ) ()(),(z) =0tz1etdt注:(x) 便是所谓的 gamma 函数,下会具体阐述。3 Dirichlet 分布,是 beta 分布在维度上的推。Dirichlet 分布的的密度函数形式跟 beta 分布的密度函数如出辙:f(x1,x2,.,xk;1,2,.,k) =1 B()k

10、i=1xi1i其中:B() =k i=1(i) (ki=1i), xi= 1此,我们可以看到项分布和多项分布很相似,Beta 分布和 Dirichlet 分布很相似,于“Beta 分布是项式分布的共轭先验概率分布,狄利克雷分布(Dirichlet 分布)是多项式分布的共轭先验概率分布”这点在下中说明。OK,接下来,咱们就按照本开头所说的思路: “个函数:gamma 函数,四个分布:项分布、多项分布、beta分布、Dirichlet 分布,外加个概念和个理念:共轭先验和贝叶斯框架,两个模型:pLSA、LDA(档 -主题,主题-词语) ,个采样:Gibbs 采样”步步详细阐述,争取给读者个尽量清晰

11、完整的 LDA。(当然,如果你不想深究背后的细节原理,只想整体把握 LDA 的主体思想,可直接跳到本第 4 部分,看完第 4 部分后,若还是想深究背后的细节原理,可再回到此处开始看)2.2gamma 函数咱们先来考虑个问题(此问题 1 包括下的问题 2-问题 4 皆取材 LDA 数学卦) : 问题 1 随机变量 X1,X2,.,Xniid Uniform(0,1) 把这 n 个随机变量排序后得到顺序统计量 X(1),X(2),.,X(n) 然后请问 X(k)的分布是什么为解决这个问题,可以尝试计算 X(k)落在区间 x,x + x 的概率。即求下述式的值:P(x X(k) x + x) =?先

12、,把 0,1 区间分成三段 0,x),x,x+x,(x+x,1,然后考虑下简单的情形:即假设 n 个数中只有 1 个落在了区间 x,x+x 内,由于这个区间内的数 X(k) 是第 k 的,所以 0,x) 中应该有 k1 个数,(x+x,1 这个区间中应该有 nk 个数。如下图所:从问题转换为下述事件 E:E=X1 x,x + x,Xi 0,x)(i = 2,.,k),Xj (x + x,1)(j = k + 1,.,n)4对上述事件 E,有:P(E)=ni=1P(Xi)=xk1(1 x x)nkx=xk1(1 x)nkx + o(x)其中,o(x) 表 x 的阶穷。显然,由于不同的排列组合,即

13、 n 个数中有个落在 x,x + x 区间的有 n种取法,余下 n1 个数中有 k1 个落在 0,x) 的有(n1k1)种组合,所以和事件 E 等价的事件共有 n(n1k1)个。如果有 2 个数落在区间 x,x + x 呢?如下图所:类似于事件 E,对于 2 个数落在区间 x,x + x 的事件 E:E=X1,X2 x,x + x,Xi 0,x)(i = 3,.,k),Xj (x + x,1(j = k + 1,.,n)有:P(E) = xk2(1 x x)nk(x)2= o(x)从上述的事件 E、事件 E 中,可以看出,只要落在 x,x+x 内的数字超过个,则对应的事件的概率就是 o(x)。

14、于是乎有:P(x X(k) x + x)= n(n 1k 1) P(E) + o(x)= n(n 1k 1) xk1(1 x)nkx + o(x)从得到 X(k)的概率密度函数 f(x) 为:f(x)=lim x0P(x X(k) x + x) x=n(n 1k 1) xk1(1 x)nk=n! (k 1)!(n k)!xk1(1 x)nkx 0,1此,本节开头提出的问题得到解决。然仔细观察 X(k)的概率密度函数,发现式的最终结果有阶乘,联想到阶乘在实数上的推 (x) 函数:(x) =0tx1etdt5两者结合是否会产奇妙的效果呢?考虑到 (x) 具有如下性质:(n) = (n 1)!故将 (n) = (n 1)! 代到 X(k)的概率密度函数 f(x) 中,可得:f(x) =(n + 1) (k)(n k + 1)xk1(1 x)nk然后取 = k, = n k + 1,转换 f(x) 得到:f(x) =( + ) ()()x1(1 x)1如果熟悉 beta 分布的朋友,可能会惊呼:哇,竟然推出了 beta 分布!3beta 分布3.1beta 分布在概率论中,beta 是指组定义在区间 (0,1) 的连续概率分布,有两个参数 和 ,且 , 0。beta 分布的概率密度函数是:f(x;,)=x1(1 x)110u1(1 u)1du=( + ) ()()x1(1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号