当前位置:   article > 正文

LDA 详解_lda 函数参数说明

lda 函数参数说明

欢迎到我的博客查看最新文章: https://blog.zplayer.cloud

先验知识

Gamma 函数

Beta/Dirichlet 分布与共轭

MCMC, 吉布斯采样

这块资料暂时自己去找, 等我有空写了 M C M C \rm{MCMC} MCMC 的教程再补上.

LDA 介绍

构成

L D A ( L a t e n t D i r i c h l e t A l l o c a t i o n ) \rm{LDA (Latent Dirichlet Allocation)} LDA(LatentDirichletAllocation) 是一种词袋模型. 由语料, 文档, 话题. , 这三个概念组成.

  • 语料

语料是文档的集合.

  • 文档

文档是词的集合, 可以看做是一篇作文, 或是像这篇一样的博文, 反正就是一篇完整的文本.

  • 话题

话题给出了某个词出现的概率. 到底是啥呢? L D A \rm{LDA} LDA 认为, 文档中每个词都应该有它的话题, 词是由话题来生成的. 比如说某个词的话题是 “概率论” , 那么这个词就很有可能是 " G a m m a \rm{Gamma} Gamma 函数" , 而不太可能是 “吃饭” . “可能” 与 “不太可能” 在数学上用概率描述, 而话题就给出了这个概率的值.

这应该无需多解释, “词” 本身就是一个词. 文档是由一个个词组成的

生成文档过程

生成文本的过程, 就像是上帝抛骰子. 关于这个骰子如何抛, 频率派与贝叶斯派有不同的解释, 而 L D A \rm{LDA} LDA 就是基于贝叶斯派的解释.

频率派

频率派认为, 上帝有两种骰子, 一种是 d o c − t o p i c \rm{doc-topic} doctopic 骰子, 它有 K K K 个面, 每个面都是一个 t o p i c \rm{topic} topic 的编号. 还有一种是 t o p i c − w o r d \rm{topic-word} topicword 骰子, 一共有 K K K 个, 正好对应 d o c − t o p i c \rm{doc-topic} doctopic K K K 个面. 每个 t o p i c − w o r d \rm{topic-word} topicword 骰子有 V V V 个面, 每一个面都对应一个词. 生成文档包括两个过程:

1. 1. 1. 抛投 d o c − t o p i c \rm{doc-topic} doctopic 骰子, 得到一个 t o p i c \rm{topic} topic 编号.

2. 2. 2. 按照这个 t o p i c \rm{topic} topic 编号, 找到对应的 t o p i c − w o r d \rm{topic-word} topicword 骰子, 再次抛投, 生成一个词.

假如说一个文档有 N N N 个词, 那么以上过程就重复 N N N 次, 这样就生成了这篇文档所有的词, 这篇文档也就生成完毕.

贝叶斯派

对于这样的抛骰子过程, 贝叶斯派可就不满意了. 无论是 d o c − t o p i c \rm{doc-topic} doctopic 骰子, 还是 t o p i c − w o r d \rm{topic-word} topicword 骰子, 都是模型里的参数, 参数都是随机变量, 怎么能没有先验呢?

于是, 就有了两大缸骰子, 一缸装了 d o c − t o p i c \rm{doc-topic} doctopic 骰子, 一缸装了 t o p i c − w o r d \rm{topic-word} topicword 骰子, 相比频率派, 贝叶斯派多了 1 , 2 1,2 1,2 两个过程.

1. 1. 1. t o p i c − w o r d \rm{topic-word} topicword 缸中取出 K K K t o p i c − w o r d \rm{topic-word} topicword 骰子, 每个 t o p i c − w o r d \rm{topic-word} topicword 骰子有 V V V 个面, 每一个面都对应一个词.

2. 2. 2. d o c − t o p i c \rm{doc-topic} doctopic 缸中取出一个 d o c − t o p i c \rm{doc-topic} doctopic 骰子, 所有的 d o c − t o p i c \rm{doc-topic} doctopic 骰子都只有 K K K 个面.

3. 3. 3. 抛投 d o c − t o p i c \rm{doc-topic} doctopic 骰子, 得到一个 t o p i c \rm{topic} topic 编号.

4. 4. 4. 按照这个 t o p i c \rm{topic} topic 编号, 找到对应的 t o p i c − w o r d \rm{topic-word} topicword 骰子, 再次抛投, 生成一个词. 如果一篇文档所有的词没有生成完毕, 那么就跳到第 3 3 3 点继续重复生成词.

执行完这 4 4 4 个过程一篇文档就生成完成, 然后重新回到 2 2 2 , 生成下一篇文档 (也就是说 K K K t o p i c − w o r d \rm{topic-word} topicword 骰子不用重新抽取), 直到整个语料 (包含 M M M 篇文档) 生成完毕, 也就是重复 M M M 次. 每篇文档都是独立的, 每个词也是, 所以生成的过程可以互相交换.

目标

L D A \rm{LDA} LDA 的目标就是给定文档 然后估计文档中每个词的 t o p i c \rm{topic} topic , 以及估计出你取到的 d o c − t o p i c \rm{doc-topic} doctopic 骰子与 t o p i c − w o r d \rm{topic-word} topicword 骰子到底是长啥样 (每个面的概率) . 我们这里将某篇文档的 d o c − t o p i c \rm{doc-topic} doctopic 骰子记为 θ ⃗ m \vec{\theta}_m θ m , 整个语料中的 d o c − t o p i c \rm{doc-topic} doctopic 骰子记为 θ ⃗ 1 , … , θ ⃗ M \vec{\theta}_1,\dots,\vec{\theta}_M θ 1,,θ M . θ ⃗ m \vec\theta_m θ m 向量的每个分量的值就是取到某个 t o p i c \rm{topic} topic 编号的概率. 而 K K K t o p i c − w o r d \rm{topic-word} topicword 骰子记为 φ ⃗ 1 , φ ⃗ 2 , … , φ ⃗ K \vec\varphi_1, \vec\varphi_2,\dots,\vec\varphi_K φ 1,φ 2,,φ K . 我们的目的就是求出 φ 1 , φ 2 , … , φ K \varphi_1, \varphi_2,\dots,\varphi_K φ1,φ2,,φK θ ⃗ 1 , … , θ ⃗ M \vec{\theta}_1,\dots,\vec{\theta}_M θ 1,,θ M. 我们再将每篇文档中的词记为 w ⃗ \vec{w} w , 整个语料 W \mathcal{W} W 包含 M M M 篇文档记为 w ⃗ = ( w ⃗ 1 , … w ⃗ M ) \vec{\boldsymbol{\mathrm{w}}}=(\vec{w}_1,\dots\vec{w}_M) w =(w 1,w M) , 所有的 w o r d \rm{word} word 对应的 t o p i c \rm{topic} topic 记为 z ⃗ = ( z ⃗ 1 , … z ⃗ M ) \boldsymbol{\vec{\mathrm{z}}}=(\vec{z}_1,\dots\vec{z}_M) z =(z 1,z M) .

先验分布

由于 t o p i c \rm{topic} topic w o r d \rm{word} word 的数量服从 M u l t i n o m i a l \rm{Multinomial} Multinomial 分布, 很自然就把骰子的分布设为与其共轭的 D i r i c h l e t \rm{Dirichlet} Dirichlet 分布. 于是有
p ( θ ⃗ m ∣ α ⃗ ) = D i r ( θ ⃗ m ∣ α ⃗ ) p ( φ ⃗ k ∣ β ⃗ ) = D i r ( φ ⃗ k ∣ β ⃗ ) p ( n ⃗ m ∣ θ ⃗ m ) = M u l t ( n ⃗ m ∣ θ ⃗ m ) p ( n ⃗ k ∣ z ⃗ m , φ ) = M u l t ( n ⃗ k ∣ z ⃗ m , φ ) p(\vec\theta_m\mid\vec{\alpha})=Dir(\vec\theta_m\mid \vec{\alpha})\\ p(\vec\varphi_k\mid\vec{\beta})=Dir(\vec\varphi_k\mid\vec{\beta})\\ p(\vec n_m\mid\vec\theta_m)= Mult(\vec n_m\mid\vec\theta_m)\\ p(\vec n_k\mid\vec z_m,\varphi)=Mult(\vec n_k\mid \vec z_m,\varphi) p(θ mα )=Dir(θ mα )p(φ kβ )=Dir(φ kβ )p(n mθ m)=Mult(n mθ m)p(n kz m,φ)=Mult(n kz m,φ)
其中 α ⃗ , β ⃗ \vec\alpha, \vec\beta α ,β D i r i c h l e t \rm{Dirichlet} Dirichlet 分布的参数, 求取前就已经确定, φ = ( φ ⃗ 1 , φ ⃗ 2 , … , φ ⃗ K ) \varphi=(\vec\varphi_1, \vec\varphi_2,\dots,\vec\varphi_K) φ=(φ 1,φ 2,,φ K) , N m N_m Nm 是第 m m m 篇文档中词的数量. n ⃗ m = ( n ⃗ m ( 1 ) , … , n ⃗ m ( K ) ) \vec{n}_m=(\vec{n}_m^{(1)},\dots,\vec{n}_m^{(K)}) n m=(n m(1),,n m(K)) , 它的分量 n ⃗ m ( k ) \vec{n}_m^{(k)} n m(k) 代表第 m m m 篇文档中第 k k k t o p i c \rm{topic} topic 产生的词的数量. n ⃗ k = ( n ⃗ k ( 1 ) , … , n ⃗ k ( V ) ) \vec{n}_k=(\vec{n}_k^{(1)},\dots,\vec{n}_k^{(V)}) n k=(n k(1),,n k(V)) , n ⃗ k ( v ) \vec n_k^{(v)} n k(v) 表示第 k k k t o p i c \rm{topic} topic 产生的词中 w o r d    v \mathrm{word}\;v wordv 的个数. 当然这里表述有点不严谨, 因为都用的是字母 n n n , 只是根据下标区别.

联合分布

这里注意到, 整个 L D A \rm{LDA} LDA 过程就是 ( M + K ) (M+K) (M+K) D i r i c h l e t − M u l t i n o m i a l \rm{Dirichlet-Multinomial} DirichletMultinomial 共轭.
p ( w ⃗ , z ⃗ ∣ α ⃗ , β ⃗ ) = p ( w ⃗ ∣ z ⃗ , β ⃗ ) p ( z ⃗ ∣ α ⃗ ) p(\vec{\boldsymbol{\mathrm{w}}}, \boldsymbol{\vec{\mathrm{z}}}\mid\vec{\alpha},\vec{\beta})=p(\vec{\boldsymbol{\mathrm{w}}}\mid \boldsymbol{\vec{\mathrm{z}}},\vec{\beta})p(\boldsymbol{\vec{\mathrm{z}}}\mid \vec{\alpha}) p(w ,z α ,β )=p(w z ,β )p(z α )
现在我们要分别求出 p ( w ⃗ ∣ z ⃗ , β ⃗ ) p(\vec{\boldsymbol{\mathrm{w}}}\mid \boldsymbol{\vec{\mathrm{z}}},\vec{\beta}) p(w z ,β ) , 与 p ( z ⃗ ∣ α ⃗ ) p(\boldsymbol{\vec{\mathrm{z}}}\mid \vec{\alpha}) p(z α ) .这里设. 那么有
p ( z ⃗ ∣ α ⃗ ) = ∏ m = 1 M p ( z ⃗ m ∣ α ⃗ ) = ∏ m = 1 M ∫ p ( z ⃗ m ∣ θ ⃗ m ) p ( θ ⃗ m ∣ α ⃗ )   d θ ⃗ m = ∏ m = 1 M ∫ p ( z ⃗ m ∣ θ ⃗ m ) D i r ( θ ⃗ m ∣ α ⃗ )   d θ ⃗ m = ∏ m = 1 M ∫ ∏ k = 1 K ( θ ⃗ m ( k ) ) n ⃗ m ( k ) 1 Δ ( α ⃗ ) ∏ k = 1 K ( θ ⃗ m ( k ) ) α v − 1   d θ ⃗ m = ∏ m = 1 M 1 Δ ( α ⃗ ) ∫ ∏ k = 1 K ( θ ⃗ m ( k ) ) n ⃗ m ( k ) + α v − 1   d θ ⃗ m = ∏ m = 1 M Δ ( n ⃗ m + α ⃗ ) Δ ( α ⃗ )

p(zα)=m=1Mp(zmα)=m=1Mp(zmθm)p(θmα)dθm=m=1Mp(zmθm)Dir(θmα)dθm=m=1Mk=1K(θm(k))nm(k)1Δ(α)k=1K(θm(k))αv1dθm=m=1M1Δ(α)k=1K(θm(k))nm(k)+αv1dθm=m=1MΔ(nm+α)Δ(α)
p(z α )=m=1Mp(z mα )=m=1Mp(z mθ m)p(θ mα )dθ m=m=1Mp(z mθ m)Dir(θ mα )dθ m=m=1Mk=1K(θ m(k))n m(k)Δ(α )1k=1K(θ m(k))αv1dθ m=m=1MΔ(α )1k=1K(θ m(k))n m(k)+αv1dθ m=m=1MΔ(α )Δ(n m+α )
上式已经给出了 M M M D i r i c h l e t − M u l t i n o m i a l \rm{Dirichlet-Multinomial} DirichletMultinomial 共轭. 其中 Δ ( α ⃗ ) \Delta(\vec\alpha) Δ(α ) 是归一化因子, 也可以看做是高维的 B e t a \rm{Beta} Beta 函数. (本来还想根据规律称其为狄利克雷函数, 但是这个名字已经被占用了) .
Δ ( α ⃗ ) = ∫ ∏ k = 1 K ( θ ⃗ m ( k ) ) α k − 1   d θ ⃗ m \Delta(\vec\alpha)=\int\prod_{k=1}^K{\left(\vec{\theta}_m^{(k)}\right)}^{\alpha_k-1}\,\mathrm{d}\vec{\theta}_m Δ(α )=k=1K(θ m(k))αk1dθ m
还记得我上面提到的吗, 由于每篇文档都是独立的, 每个词也是, 所以生成的过程可以互相交换. 那么在每个词的 t o p i c \rm{topic} topic (也就是 φ ⃗ \vec{\varphi} φ z ⃗ m \vec{z}_m z m) 已经生成的条件下, 可以将语料中的词进行交换, 将相同 t o p i c \rm{topic} topic 的词放在一起生成
w ⃗ ′ = ( w ⃗ ( 1 ) , … w ⃗ ( K ) ) z ⃗ ′ = ( z ⃗ ( 1 ) , … z ⃗ ( K ) ) \vec{\boldsymbol{\mathrm{w}}}'=(\vec{w}_{(1)},\dots\vec{w}_{(K)})\\ \boldsymbol{\vec{\mathrm{z}}}'=(\vec{z}_{(1)},\dots\vec{z}_{(K)}) w =(w (1),w (K))z =(z (1),z (K))
因此有
p ( w ⃗ ∣ z ⃗ , β ⃗ ) = p ( w ⃗ ′ ∣ z ⃗ ′ , β ⃗ ) = ∏ k = 1 K p ( w ⃗ ( k ) ∣ z ⃗ ( k ) , β ⃗ ) = ∏ k = 1 K ∫ p ( w ⃗ ( k ) ∣ z ⃗ ( k ) , φ ⃗ k ) p ( φ ⃗ k ∣ β ⃗ )   d φ ⃗ k = ∏ k = 1 K ∫ ∏ v = 1 V ( φ ⃗ k ( v ) ) n ⃗ k ( v ) 1 Δ ( β ⃗ ) ∏ v = 1 V ( φ ⃗ k ( v ) ) β ⃗ v − 1   d φ ⃗ k = ∏ k = 1 K 1 Δ ( β ⃗ ) ∫ ∏ v = 1 V ( φ ⃗ k ( v ) ) n ⃗ k ( v ) + β ⃗ v − 1   d φ ⃗ k = ∏ k = 1 K Δ ( n ⃗ k + β ⃗ ) Δ ( β ⃗ )
p(wz,β)=p(wz,β)=k=1Kp(w(k)z(k),β)=k=1Kp(w(k)z(k),φk)p(φkβ)dφk=k=1Kv=1V(φk(v))nk(v)1Δ(β)v=1V(φk(v))βv1dφk=k=1K1Δ(β)v=1V(φk(v))nk(v)+βv1dφk=k=1KΔ(nk+β)Δ(β)
p(w z ,β )=p(w z ,β )=k=1Kp(w (k)z (k),β )=k=1Kp(w (k)z (k),φ k)p(φ kβ )dφ k=k=1Kv=1V(φ k(v))n k(v)Δ(β )1v=1V(φ k(v))β v1dφ k=k=1KΔ(β )1v=1V(φ k(v))n k(v)+β v1dφ k=k=1KΔ(β )Δ(n k+β )

Δ ( β ) \Delta(\beta) Δ(β) 同样是归一化因子
Δ ( β ) = ∫ ∏ v = 1 V ( φ ⃗ k ( v ) ) β ⃗ v − 1   d φ ⃗ k \Delta(\beta)=\int \prod_{v=1}^V\left({\vec\varphi_k^{(v)}}\right)^{\vec\beta_v-1}\,\mathrm{d}\vec\varphi_k Δ(β)=v=1V(φ k(v))β v1dφ k
最终有
p ( w ⃗ , z ⃗ ∣ α ⃗ , β ⃗ ) = p ( w ⃗ ∣ z ⃗ , β ⃗ ) p ( z ⃗ ∣ α ⃗ ) = ∏ k = 1 K Δ ( n ⃗ k + β ⃗ ) Δ ( β ⃗ ) ∏ m = 1 M Δ ( n ⃗ m + α ⃗ ) Δ ( α ⃗ )
p(w,zα,β)=p(wz,β)p(zα)=k=1KΔ(nk+β)Δ(β)m=1MΔ(nm+α)Δ(α)
p(w ,z α ,β )=p(w z ,β )p(z α )=k=1KΔ(β )Δ(n k+β )m=1MΔ(α )Δ(n m+α )

多么简洁漂亮!

吉布斯采样

我们要估计的是 p ( z ⃗ ∣ w ⃗ ) p(\boldsymbol{\vec{\mathrm{z}}}\mid\vec{\boldsymbol{\mathrm{w}}}) p(z w ) , 根据吉布斯采样的要求, 我们要求出 p ( z i ∣ z ⃗ − i , w ⃗ ) p(z_i\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}}) p(ziz i,w ) .
p ( z i = k ∣ z ⃗ − i , w ⃗ ) p ( w i = v ∣ z ⃗ − i , w ⃗ − i ) = p ( z i = k , w i = v ∣ z ⃗ − i , w ⃗ − i ) p(z_i=k\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}})p(w_i=v\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}}_{-i})=p(z_i=k,w_i=v\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}}_{-i}) p(zi=kz i,w )p(wi=vz i,w i)=p(zi=k,wi=vz i,w i)
注意到 p ( w i = t ∣ z ⃗ − i , w ⃗ − i ) p(w_i=t\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}}_{-i}) p(wi=tz i,w i) p ( z i = k ∣ z ⃗ − i , w ⃗ ) p(z_i=k\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}}) p(zi=kz i,w ) 无关, 因此有
p ( z i = k ∣ z ⃗ − i , w ⃗ ) ∝ p ( z i = k , w i = v ∣ z ⃗ − i , w ⃗ − i ) p(z_i=k\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}})\propto p(z_i=k,w_i=v\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}}_{-i}) p(zi=kz i,w )p(zi=k,wi=vz i,w i)
那么就有
p ( z i = k ∣ z ⃗ − i , w ⃗ ) ∝ p ( z i = k , w i = v ∣ z ⃗ − i , w ⃗ − i ) = ( ∫ p ( z i = k , θ ⃗ m ∣ z ⃗ − i , w ⃗ − i )   d θ ⃗ m ) ( ∫ p ( w i = v , φ ⃗ k ∣ z ⃗ − i , w ⃗ − i )   d φ ⃗ k ) = ( ∫ p ( z i = k ∣ θ ⃗ m ) p ( θ ⃗ m ∣ z ⃗ − i , w ⃗ − i )   d θ ⃗ m ) ( ∫ p ( w i = v ∣ φ ⃗ k ) p ( φ ⃗ k ∣ z ⃗ − i , w ⃗ − i )   d φ ⃗ k )

p(zi=kzi,w)p(zi=k,wi=vzi,wi)=(p(zi=k,θmzi,wi)dθm)(p(wi=v,φkzi,wi)dφk)=(p(zi=kθm)p(θmzi,wi)dθm)(p(wi=vφk)p(φkzi,wi)dφk)
p(zi=kz i,w )p(zi=k,wi=vz i,w i)=(p(zi=k,θ mz i,w i)dθ m)(p(wi=v,φ kz i,w i)dφ k)=(p(zi=kθ m)p(θ mz i,w i)dθ m)(p(wi=vφ k)p(φ kz i,w i)dφ k)
注意到 p ( θ ⃗ m ∣ z ⃗ − i , w ⃗ − i ) p(\vec\theta_m\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}}_{-i}) p(θ mz i,w i) 是一个 D i r i c h l e t − M u l t i n o m i a l \rm{Dirichlet-Multinomial} DirichletMultinomial 共轭结构即
D i r ( θ ⃗ m ∣ α ⃗ ) + M u l t ( n ⃗ m ∣ θ ⃗ m ) = D i r ( θ ⃗ m ∣ n ⃗ m + α ⃗ ) Dir(\vec\theta_m\mid\vec\alpha)+Mult(\vec n_m\mid \vec\theta_m)=Dir(\vec\theta_m\mid\vec n_m+\vec\alpha) Dir(θ mα )+Mult(n mθ m)=Dir(θ mn m+α )
所以
p ( θ ⃗ m ∣ z ⃗ − i , w ⃗ − i ) = D i r ( θ ⃗ m ∣ n ⃗ m , − i + α ⃗ ) p(\vec\theta_m\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}}_{-i})=Dir(\vec\theta_m\mid\vec n_{m,-i}+\vec\alpha) p(θ mz i,w i)=Dir(θ mn m,i+α )
p ( φ ⃗ k ∣ z ⃗ − i , w ⃗ − i ) p(\vec{\varphi}_k\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}}_{-i}) p(φ kz i,w i) 也有类似的结论. 因此有
p ( z i = k ∣ z ⃗ − i , w ⃗ ) ∝ ( ∫ p ( z i = k ∣ θ ⃗ m ) p ( θ ⃗ m ∣ z ⃗ − i , w ⃗ − i )   d θ ⃗ m ) ( ∫ p ( w i = v ∣ φ ⃗ k ) p ( φ ⃗ k ∣ z ⃗ − i , w ⃗ − i )   d φ ⃗ k ) = ( ∫ θ m k D i r ( θ ⃗ m ∣ n ⃗ m , − i + α ⃗ )   d θ ⃗ m ) ( ∫ φ k v D i r ( φ ⃗ k ∣ n ⃗ k , − i + β ⃗ )   d φ ⃗ k ) = E ( θ m k ) E ( φ k v ) = θ ^ m k φ ^ k v
p(zi=kzi,w)(p(zi=kθm)p(θmzi,wi)dθm)(p(wi=vφk)p(φkzi,wi)dφk)=(θmkDir(θmnm,i+α)dθm)(φkvDir(φknk,i+β)dφk)=E(θmk)E(φkv)=θ^mkφ^kv
p(zi=kz i,w )(p(zi=kθ m)p(θ mz i,w i)dθ m)(p(wi=vφ k)p(φ kz i,w i)dφ k)=(θmkDir(θ mn m,i+α )dθ m)(φkvDir(φ kn k,i+β )dφ k)=E(θmk)E(φkv)=θ^mkφ^kv

根据 D i r i c h l e t \rm{Dirichlet} Dirichlet 分布的期望, 我们得到
θ ^ m k = n ⃗ m , − i ( k ) + α k ∑ k = 1 K ( n ⃗ m , − i ( k ) + α k ) φ ^ k v = n ⃗ k , − i ( v ) + α k ∑ v = 1 V ( n ⃗ k , − i ( v ) + α k ) \hat{\theta}_{mk}=\frac{\vec{n}_{m,-i}^{(k)}+\alpha_k}{\sum_{k=1}^K(\vec{n}_{m,-i}^{(k)}+\alpha_k)}\\ \hat{\varphi}_{kv}=\frac{\vec{n}_{k,-i}^{(v)}+\alpha_k}{\sum_{v=1}^V(\vec{n}_{k,-i}^{(v)}+\alpha_k)} θ^mk=k=1K(n m,i(k)+αk)n m,i(k)+αkφ^kv=v=1V(n k,i(v)+αk)n k,i(v)+αk
因此
p ( z i = k ∣ z ⃗ − i , w ⃗ ) ∝ n ⃗ m , − i ( k ) + α k ∑ k = 1 K ( n ⃗ m , − i ( k ) + α k ) ⋅ n ⃗ k , − i ( v ) + α k ∑ v = 1 V ( n ⃗ k , − i ( v ) + α k ) p(z_i=k\mid\boldsymbol{\vec{\mathrm{z}}}_{-i},\vec{\boldsymbol{\mathrm{w}}})\propto\frac{\vec{n}_{m,-i}^{(k)}+\alpha_k}{\sum_{k=1}^K(\vec{n}_{m,-i}^{(k)}+\alpha_k)}\cdot\frac{\vec{n}_{k,-i}^{(v)}+\alpha_k}{\sum_{v=1}^V(\vec{n}_{k,-i}^{(v)}+\alpha_k)} p(zi=kz i,w )k=1K(n m,i(k)+αk)n m,i(k)+αkv=1V(n k,i(v)+αk)n k,i(v)+αk
通过吉布斯采样, 我们就可以估计出 φ 1 , φ 2 , … , φ K \varphi_1, \varphi_2,\dots,\varphi_K φ1,φ2,,φK θ ⃗ 1 , … , θ ⃗ M \vec{\theta}_1,\dots,\vec{\theta}_M θ 1,,θ M 了.

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

闽ICP备14008679号