当前位置:   article > 正文

LDA模型_关于lda模型中的k

关于lda模型中的k

https://www.cnblogs.com/pinard/p/6831308.html

LDA主题模型
    前面做了这么多的铺垫,我们终于可以开始LDA主题模型了。
在这里插入图片描述
我们的目标是找到每一篇文档的主题分布和每一个主题中词的分布。在LDA模型中,我们需要先假定一个主题数目 K K K,这样所有的分布就都基于 K K K个主题展开。那么具体LDA模型是怎么样的呢?具体如下图:

在这里插入图片描述

我们的问题是这样的,我们有 M M M篇文档,对应第d个文档中有有 N d N_d Nd个词。即输入为如下图:
 LDA假设文档主题的先验分布是Dirichlet分布,即对于任一文档 d d d, 其主题分布 θ d \theta_d θd为: θ d = D i r i c h l e t ( α ⃗ ) \theta_d = Dirichlet(\vec \alpha) θd=Dirichlet(α )

其中, α \alpha α为分布的超参数,是一个 K K K维向量。

LDA假设主题中词的先验分布是Dirichlet分布,即对于任一主题 k k k, 其词分布 β k \beta_k βk为: β k = D i r i c h l e t ( η ⃗ ) \beta_k= Dirichlet(\vec \eta) βk=Dirichlet(η )

其中, η \eta η为分布的超参数,是一个 V V V维向量。 V V V代表词汇表里所有词的个数。

对于数据中任一一篇文档 d d d中的第 n n n个词,我们可以从主题分布 θ d \theta_d θd中得到它的主题编号 z d n z_{dn} zdn的分布为: z d n = m u l t i ( θ d ) z_{dn} = multi(\theta_d) zdn=multi(θd)

而对于该主题编号,得到我们看到的词 w d n w_{dn} wdn的概率分布为: w d n = m u l t i ( β z d n ) w_{dn} = multi(\beta_{z_{dn}}) wdn=multi(βzdn)

理解LDA主题模型的主要任务就是理解上面的这个模型。这个模型里,我们有 M M M个文档主题的Dirichlet分布,而对应的数据有 M M M个主题编号的多项分布,这样( α → θ d → z ⃗ d \alpha \to \theta_d \to \vec z_{d} αθdz d)就组成了Dirichlet-multi共轭,可以使用前面提到的贝叶斯推断的方法得到基于Dirichlet分布的文档主题后验分布。

如果在第d个文档中,第k个主题的词的个数为: n d ( k ) n_d^{(k)} nd(k), 则对应的多项分布的计数可以表示为 n ⃗ d = ( n d ( 1 ) , n d ( 2 ) , . . . n d ( K ) ) \vec n_d = (n_d^{(1)}, n_d^{(2)},...n_d^{(K)}) n d=(nd(1),nd(2),...nd(K))

利用Dirichlet-multi共轭,得到 θ d \theta_d θd的后验分布为: D i r i c h l e t ( θ d ∣ α ⃗ + n ⃗ d ) Dirichlet(\theta_d | \vec \alpha + \vec n_d) Dirichlet(θdα +n d)

同样的道理,对于主题与词的分布,我们有 K K K个主题与词的Dirichlet分布,而对应的数据有 K K K个主题编号的多项分布,这样( η → β k → w ⃗ ( k ) \eta \to \beta_k \to \vec w_{(k)} ηβkw (k))就组成了Dirichlet-multi共轭,可以使用前面提到的贝叶斯推断的方法得到基于Dirichlet分布的主题词的后验分布。

如果在第k个主题中,第v个词的个数为: n k ( v ) n_k^{(v)} nk(v), 则对应的多项分布的计数可以表示为 n ⃗ k = ( n k ( 1 ) , n k ( 2 ) , . . . n k ( V ) ) \vec n_k = (n_k^{(1)}, n_k^{(2)},...n_k^{(V)}) n k=(nk(1),nk(2),...nk(V))

利用Dirichlet-multi共轭,得到 β k \beta_k βk的后验分布为: D i r i c h l e t ( β k ∣ η ⃗ + n ⃗ k ) Dirichlet(\beta_k | \vec \eta+ \vec n_k) Dirichlet(βkη +n k)

由于主题产生词不依赖具体某一个文档,因此文档主题分布和主题词分布是独立的。理解了上面这 M + K M+K M+K组Dirichlet-multi共轭,就理解了LDA的基本原理了。

现在的问题是,基于这个LDA模型如何求解我们想要的每一篇文档的主题分布和每一个主题中词的分布呢?

一般有两种方法,第一种是基于Gibbs采样算法求解,第二种是基于变分推断EM算法求解。

如果你只是想理解基本的LDA模型,到这里就可以了,如果想理解LDA模型的求解,可以继续关注系列里的另外两篇文章。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/928168
推荐阅读
相关标签
  

闽ICP备14008679号