27[NLP训练营]collapsed gibbs sampling
Posted oldmao_2001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了27[NLP训练营]collapsed gibbs sampling相关的知识,希望对你有一定的参考价值。
公式输入请参考: 在线Latex公式
回顾
下图是LDA生成的过程。
为了更好描述collapsed gibbs sampling。把里面的标识换一下,问题的描述变成:
计算
P
(
Z
t
s
∣
Z
−
t
s
,
w
,
α
,
β
)
P(Z_{ts}|Z_{-ts},w,\\alpha,\\beta)
P(Zts∣Z−ts,w,α,β)
t
t
t代表第
t
t
t个文档
s
s
s代表第
t
t
t个文档的第
s
s
s个单词
假设有一个集合
x
=
{
x
1
,
x
2
,
.
.
.
x
n
}
x=\\{x_1,x_2,...x_n\\}
x={x1,x2,...xn}
那么它可以表示为:
x
=
x
i
∪
x
−
i
x=x_i\\cup x_{-i}
x=xi∪x−i
同样的,问题描述中的
Z
=
Z
t
s
∪
Z
−
t
s
Z=Z_{ts}\\cup Z_{-ts}
Z=Zts∪Z−ts
第一步
可以看到,问题描述中是没有
ϕ
,
θ
\\phi,\\theta
ϕ,θ的,我们就是要用collapsed 的方式把这两个变量进行边缘化,
P
(
Z
t
s
∣
Z
−
t
s
,
w
,
α
,
β
)
=
P
(
Z
,
w
∣
α
,
β
)
P
(
Z
−
t
s
,
w
∣
α
,
β
)
P(Z_{ts}|Z_{-ts},w,\\alpha,\\beta)=\\cfrac{P(Z,w|\\alpha,\\beta)}{P(Z_{-ts},w|\\alpha,\\beta)}
P(Zts∣Z−ts,w,α,β)=P(Z−ts,w∣α,β)P(Z,w∣α,β)
变成这个形式是有点原因的,
w
w
w是观测到的结果,把它挪到概率的前面部分,就相对于利用观测值来推断参数,可以走likelihood的套路。
上面的式子为什么会相等呢?
P
(
Z
,
w
∣
α
,
β
)
P
(
Z
−
t
s
,
w
∣
α
,
β
)
∗
P
(
α
,
β
)
P
(
α
,
β
)
=
P
(
Z
,
w
,
α
,
β
)
P
(
Z
−
t
s
,
w
,
α
,
β
)
(1)
\\begin{aligned}&\\cfrac{P(Z,w|\\alpha,\\beta)}{P(Z_{-ts},w|\\alpha,\\beta)}*\\cfrac{P(\\alpha,\\beta)}{P(\\alpha,\\beta)}\\\\ &=\\cfrac{P(Z,w,\\alpha,\\beta)}{P(Z_{-ts},w,\\alpha,\\beta)}\\tag1\\end{aligned}
P(Z−ts,w∣α,β)P(Z,w∣α,β)∗P(α,β)P(α,β)=P(Z−ts,w,α,β)P(Z,w,α,β)(1)
P
(
Z
t
s
∣
Z
−
t
s
,
w
,
α
,
β
)
×
P
(
Z
−
t
s
,
w
,
α
,
β
)
=
P
(
Z
t
s
,
Z
−
t
s
,
w
,
α
,
β
)
=
P
(
Z
,
w
,
α
,
β
)
(2)
\\begin{aligned}&P(Z_{ts}|Z_{-ts},w,\\alpha,\\beta)\\times P(Z_{-ts},w,\\alpha,\\beta)\\\\ &=P(Z_{ts},Z_{-ts},w,\\alpha,\\beta)\\\\&=P(Z,w,\\alpha,\\beta)\\tag2\\end{aligned}
P(Zts∣Z−ts,w,α,β)×P(Z−ts,w,α,β)=P(Zts,Z−ts,w,α,β)=P(Z,w,α,β)(2)
把公式2代入1就得到上面的等式了。
第二步 看分子
把第一步中的分子分母分开看,先看分子
P
(
Z
,
w
∣
α
,
β
)
P(Z,w|\\alpha,\\beta)
P(Z,w∣α,β)
如果要把
ϕ
,
θ
\\phi,\\theta
ϕ,θ边缘化就是要写成下面的积分:
P
(
Z
,
w
∣
α
,
β
)
=
P
(
Z
∣
α
)
⋅
P
(
w
∣
Z
,
β
)
=
∫
P
(
Z
∣
θ
)
⋅
P
(
θ
∣
α
)
d
θ
∫
P
(
w
∣
Z
,
ϕ
)
⋅
P
(
ϕ
∣
β
)
d
ϕ
\\begin{aligned}P(Z,w|\\alpha,\\beta)&=P(Z|\\alpha)\\cdot P(w|Z,\\beta)\\\\ &=\\int P(Z|\\theta)\\cdot P(\\theta|\\alpha)d\\theta\\int P(w|Z,\\phi)\\cdot P(\\phi|\\beta)d\\phi\\end{aligned}
P(Z,w∣α,β)=P(Z∣α)⋅P(w∣Z,β)=∫P(Z∣θ)⋅P(θ∣α)dθ∫P(w∣Z,ϕ)⋅P(ϕ∣β)dϕ
上面第一个等号实际上是根据LDA那个图进行拆分了一下,用依赖关系把联合概率拆分成对应的条件概率。上面的联合概率是有条件的,就是已知的超参数
α
,
β
\\alpha,\\beta
α,β
按上面的图本来第一个等号后面应该是写:
P
(
Z
∣
θ
)
⋅
P
(
w
∣
Z
,
ϕ
)
P(Z|\\theta)\\cdot P(w|Z,\\phi)
P(Z∣θ)⋅P(w∣Z,ϕ),但是为了要把
θ
,
ϕ
\\theta,\\phi
θ,ϕ进行边缘化,我们就把这个路径直接取到
α
,
β
\\alpha,\\beta
α,β那里了。
所以就写成了:
P
(
Z
∣
α
)
⋅
P
(
w
∣
Z
,
β
)
P(Z|\\alpha)\\cdot P(w|Z,\\beta)
机器学习:Gibbs 采样
最强 NLP 预训练模型库 PyTorch-Transformers 正式开源:支持 6 个预训练框架,27 个预训练模型