《LDA漫游指南》——第1章 背景

本节书摘来异步社区《LDA漫游指南》一书中的第1章,作者: 马晨,更多章节内容可以访问云栖社区“异步社区”公众号查看

第1章 背景

LDA漫游指南
LDA算法使用的全部知识的渊源可以追溯到18世纪的欧拉。欧拉(Leonhard Euler ,1707年4月15日—1783年9月18日),瑞士数学家,如图1-1所示。欧拉一生贡献颇丰,1734年,欧拉因解决巴塞尔问题而出名,巴塞尔问题见式(1.1)的值是多少。

762d4086aa8fe766abb8a49e4dad2fb28d3aaed1

(1.1)

这个问题困扰了数学家长达几个世纪的,当时的数学家只知道该级数的值小于2,但不知道精确值,欧拉准确的推导出该式的值等于π^2/6。欧拉的方法聪明而新颖,他创造性地将有限多项式的观察推广到无穷级数,并假设相同的性质对于无穷级数也是成立的:

d18db80b1df332edcda7c4304c9bc5290d833b57

(1.2)

欧拉最后的发现是令人惊奇的,π这个数字在与圆周率无关的场合中出现了,这足以说明数学与自然存在着某些神秘的联系。虽然以现代数学的眼光来看,欧拉的证明还不严密。但作为第一个(富有创造性的)证明,欧拉的这个证明永远有着其宝贵的价值。欧拉的另一个贡献就是发现了gamma函数f(x) = Gamma (x)。该函数后被广泛应用于概率论,这个函数也是本文的主角之一。

作为算法标题之一的Dirichlet, wiki一下,一个19世纪的人映入了我们的眼帘。Dirichlet(1805—1859),德国数学家,生于现德国 Duren(当时属法国),卒于哥廷根,如图1-2所示。他是解析数论的奠基者,也是现代函数观念的定义者。在本文中该数学家的主要贡献是Dirichlet分布。

aaceae4255246f3a5e3070e270cb966ebd902a7d

但是这还不是故事的全部,说到底19世纪的时候还没有发明计算机,LDA应该不是这哥们发明的,于是继续查找,最后查明改成哥伦比亚大学的David M.Blei(见图1-3)是最初LDA论文的作者。Blei同学借用了Dirichlet Distribution,而创造了Latent Dirichlet Allocation。

Blei以PLSA(LDA之前的另一个概率模型)为基础,加上了贝叶斯先验,从而发明了LDA算法。LDA算法最初的论文使用的是变分EM方法训练(Variational Inference)。该方法较为复杂,而且最后训练出的主题非全局最优分布,而是局部最优分布。后期发明了Collapsed Gibbs Sampling方法,推导和使用都较为简洁。Blei及其LDA算法具体介绍如下:

a1b5a84455a8cb61fad407f4d7956d00918da188

Latent Dirichlet Allocation是Blei等人于2003年提出的基于概率模型的主题模型算法。LDA是一种无监督机器学习技术,可以用来识别大规模文档集或语料库中的潜在隐藏的主题信息。该方法假设每个词是由背后的一个潜在隐藏的主题中抽取出来。

对于语料库中的每篇文档,LDA定义了如下生成过程(generative process):

(1)对每一篇文档,从主题分布中抽取一个主题。

(2)从上述被抽到的主题所对应的单词分布中抽取一个单词。

(3)重复上述过程直至遍历文档中的每一个单词。

LDA认为每篇文章是由多个主题混合而成的,而每个主题可以由多个词的概率表征。所以整个程序的输入和输出如表 1-1所示。

2b95e95e08f63a6ae8f2928be913a2817be20e54

如果你想使用LDA算法,建议从Gibbs LDA++代码开始使用。在使用过程中,你就会发现该算法的使用方式还算简单,并且生成的结果文件也很规则,根据手册一看便懂。输入分词后的文件,一个文章一行,输出其中看到每个主题规则文件.twords如下格式所示。

dc6a8760e19d41139e57d5835d983bcd0466ba11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值