LDA(Lanton Dirichlet Allocation)浅显理解0.1

本文介绍了LDA(Latan Dirichlet Allocation)主题模型的基本思想,通过逐步解析Unigram Model、Mixture of Unigrams、pLSI到LDA的过程,阐述了LDA如何动态地处理主题和词汇的概率分布。同时,文章对比了pLSA与LDA的差异,并提及了相关知识点如gamma函数、Dirichlet分布和贝叶斯框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这一段时间在看LDA主题模型,这里说一下我对LDA的理解,抛开复杂的数学、概率论、机器机器学习算法,只说思路,其他内容以后再更加详细的写。
假设有一个机器人,他想写一篇文章,每篇文章包含N个词,那么他怎么写呢???
这里写图片描述

1、Unigram model

科学家A一开始这么设计,先给机器人读大量的文章,这样这个机器人的大脑中会有S个词,这些词组成了词向量 W=[w1,w2,w3......wS] ,每一个词都有相对应的概率 P=[p(w1),p(w2),p(w3)......p(wS)
算法如下:


for i = 1 to N:
  choose a word wip(W)


数学表示即:

p(w)=p(wn)
这里写图片描述

2、Mixture of unigrams

科学家B觉得不应该这样,他认为机器人读的这些文章分成不同的主题 Z=[z1,z2......zt] ,每个主题的概率为 P(Z)=[p(z1),p(z2),......p(zt))] ,第i主题下又有S个高频词向量 W=[w1,w2,w3......wS] ,每一个词都有相对应的概率 P=[p(w1|zi),p(w2|zi),p(w3|zi)......p(wS|zi)
算法描述如下:


choose a topic $z_i~p(Z);

for i = 1 to N
  choose a word wip(W|zi)


数学表示为:

$p(w) = ∑ p(z) ∏ p(w n | z)
这里写图片描述

也就是说按照学习到的概率选择一个Topic,按照这个Topic下词的概率选择N个词。

3、Probabilistic lantent semantic indexinal(pLSI)

科学家C(Hoffman)认为应该一篇文档可以由多个主题(topic Z=[z1,z2......zt] )混合而成,每个主题的概率为 P(Z)=[p(z1),p(z2),......p(zt))] ,而每个Topic都是词汇上的概率分布 P=[p(w1|zi),p(w2|zi),p(w3|zi)......p(wS|zi)] ,文章中的每一个词都有固定的topic。
算法描述:


Choose parameter θ ~ p(θ) #θ为选择出来的主题向量
for i = 1 to N
  choose a topic zjp(z|θ)
  choose a word wkp(w|zj)


数学表示即:

这里写图片描述
这里写图片描述
这里写图片描述

4、Lanton Dirichlet Allocation(LDA)

科学家D(David M. Blei)认为这个主题的概率分布、词汇的概率分布并不是固定的(与pLSA相比),应该是符合某一个分布,选取主题或词汇的时候,这个概率是动态变化的。


initialize φ0ni := 1/k for all i and n
initialize γi:=αi+N/k for all i and n
repeat
 for n = 1 to N
  for i = 1 to k
    φt+1ni=βiwnexp(Ψ(γti))
  normalize φt+1n to sum to 1.
  γt+1=α+Nn=1φt+1n
until convergence


数学公式如下:


这里写图片描述
这里写图片描述
这里写图片描述

上述是我理解的LDA,一个机器人想要写一篇文章,那么先按照Dirichlet分布选择出主题向量,载这个主题向量的基础上,生成词汇。
使用LDA模型进行推断的时候,是倒过来的,由文档的词汇生成主题。因此LDA常常也用来做 降维工具。使用在语义分析,图像、文本分类等等

5、pLSA与LDA对比

LDA:假定语料库中共有M篇文章,每篇文章下的Topic的主题分布是一个从参数为的Dirichlet先验分布中采样得到的Multinomial分布,每个Topic下的词分布是一个从参数为的Dirichlet先验分布中采样得到的Multinomial分布。
这里写图片描述

pLSA:对于某篇文章中的第n个词,首先从该文章中出现的每个主题的Multinomial分布(主题分布)中选择或采样一个主题,然后再在这个主题对应的词的Multinomial分布(词分布)中选择或采样一个词。不断重复这个随机生成过程,直到M篇文章全部生成完成。
这里写图片描述

6、相关知识点

  • gamma函数
  • Dirichlet分布
  • 共轭先验和贝叶斯框架
  • EM模型
  • MCMC、Gibbs采样

7、训练和推断

对于LDA模型,有两个目标:
* 估计模型中的语料库中的主题Dirichlet分布和每个主题下的词汇的Dirichlet分布
* 对于一篇新的文档,计算这篇文档的topic分布
训练过程:
这里写图片描述
推断过程:
这里写图片描述

参考资料

1、Blei, David M.; Ng, Andrew Y.; Jordan, Michael I. Latent Dirichlet allocation(LDA原始论文):http://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf
2、rickjin的LDA数学八卦(力荐,本文部分图片和公式来自于此文档)
网页版:http://www.flickering.cn/tag/lda/
PDF:http://emma.memect.com/t/9756da9a47744de993d8df13a26e04e38286c9bc1c5a0d2b259c4564c6613298/LDA
3、搜索背后的奥秘——浅谈语义主题计算:http://www.semgle.com/search-engine-algorithms-mystery-behind-search-on-the-calculation-of-semantic-topic
4、LDA的相关论文、工具库:http://site.douban.com/204776/widget/notes/12599608/note/287085506/
5、LDA实现 http://www.cs.princeton.edu/~blei/topicmodeling.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值