EM算法可视为“推断隐变量分布”和“求参数”交替进行。这里应用变分推断方法推断隐变量分布。
变分推断用于EM算法
(1)回顾7.10 EM算法的使用场景及步骤(反复循环执行E步和M步)的EM算法
- E步:推断隐变量分布 p ( z ∣ x , Θ t ) p(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},{\Theta}^{\,t}) p(z∣x,Θt)
- M步:求参数
Θ
t
+
1
{\Theta}^{\,t+1}
Θt+1
Θ t + 1 = arg max Θ Q ( Θ ∣ Θ t ) \begin{align} {\Theta}^{\,t+1}=\mathop{\arg\max}\limits_{\Theta}Q(\Theta\,|\,{\Theta}^{\,t}) \tag{14.85} \end{align} Θt+1=ΘargmaxQ(Θ∣Θt)(14.85)
其中
Q
(
Θ
∣
Θ
t
)
=
E
z
∼
p
(
z
∣
x
,
Θ
t
)
L
L
(
Θ
∣
x
,
z
)
=
∑
z
p
(
z
∣
x
,
Θ
t
)
ln
P
(
x
,
z
∣
Θ
)
\begin{align} Q(\Theta\,|\,{\Theta}^{\,t}) & = \mathop{\mathbb{E} }\limits_{\boldsymbol{\mathrm{z}}\sim p(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},{\Theta}^{\,t})}\, \mathrm{LL}(\Theta\,|\,\boldsymbol{\mathrm{x}},\boldsymbol{\mathrm{z}})\notag \\ & = \sum_{\boldsymbol{\mathrm{z}} }p(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},{\Theta}^{\,t})\, \ln\, P(\boldsymbol{\mathrm{x}},\boldsymbol{\mathrm{z}}\,|\,\Theta) \tag{14.86} \end{align}
Q(Θ∣Θt)=z∼p(z∣x,Θt)ELL(Θ∣x,z)=z∑p(z∣x,Θt)lnP(x,z∣Θ)(14.86)
EM算法可视为“推断隐变量分布”和“求参数”交替进行。
EM算法中需要推断隐变量分布,在7.9 EM原理的详细数学推导中,讨论了构造贝叶斯网络推断分布 p ( z ∣ x , Θ t ) p(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},{\Theta}^{\,t}) p(z∣x,Θt),并通过吉布斯采样计算式(14.86),这里应用的前述新方法(变分推断)推断隐变量分布。
将时刻 Θ t {\Theta}^{\,t} Θt的 p p p记为 p Θ t p_{{\Theta}^{\,t}} pΘt,如, p ( z ∣ x , Θ t ) = p Θ t ( z ∣ x ) p(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},{\Theta}^{\,t})=p_{{\Theta}^{\,t}}(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}}) p(z∣x,Θt)=pΘt(z∣x),其余类似。 这时,即可利用变分推断求出 p Θ t ( z ∣ x ) p_{{\Theta}^{\,t}}(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}}) pΘt(z∣x)(视为变分推断中的 p ( z ∣ x ) p(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}}) p(z∣x))的近似分布。
(2)上述是随机向量 x \boldsymbol{\mathrm{x}} x依赖于隐含变量 z \boldsymbol{\mathrm{z}} z,下面讨论一组随机向量 x i \boldsymbol{\mathrm{x}}_i xi依赖于同一隐含变量 z \boldsymbol{\mathrm{z}} z的情形。
【西瓜书图14.10】引入盘式记法:将处于同等地位的独立个体,以“代表”方式在图中体现,并标上个体数,放到一个盘子(方框)中,非常简洁。 变量集
x
=
{
x
1
,
x
2
,
⋯
,
x
N
}
\boldsymbol{\mathrm{x}}=\{\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N\}
x={x1,x2,⋯,xN}就是盘中的变量(
N
N
N个),是可观察的,而它所依赖的变量
z
\boldsymbol{\mathrm{z}}
z是隐变量,系统中还有参数
Θ
\Theta
Θ,则
p
(
x
∣
Θ
)
=
∏
i
=
1
N
p
(
x
i
∣
Θ
)
(由独立性)
=
∏
i
=
1
N
∑
z
p
(
x
i
,
z
∣
Θ
)
(边缘分布)
\begin{align} p(\boldsymbol{\mathrm{x}}\,|\,\Theta ) & =\prod _{i=1}^Np(\boldsymbol{x}_i\,|\,\Theta) \quad \text{(由独立性)} \notag \\ & =\prod _{i=1}^N\sum_{\boldsymbol{\mathrm{z}}}p(\boldsymbol{x}_i,\boldsymbol{\mathrm{z}}\,|\,\Theta) \quad \text{(边缘分布)} \tag{14.87} \end{align}
p(x∣Θ)=i=1∏Np(xi∣Θ)(由独立性)=i=1∏Nz∑p(xi,z∣Θ)(边缘分布)(14.87)
值得注意的是:当
x
1
\boldsymbol{x}_1
x1与
x
2
\boldsymbol{x}_2
x2独立时,能推出
P
(
x
2
∣
x
1
)
=
P
(
x
2
)
P(\boldsymbol{x}_2\,|\,\boldsymbol{x}_1)=P(\boldsymbol{x}_2)
P(x2∣x1)=P(x2),但不能推出
P
(
x
2
∣
x
1
,
z
)
=
P
(
x
2
∣
z
)
P(\boldsymbol{x}_2\,|\,\boldsymbol{x}_1,\boldsymbol{z})=P(\boldsymbol{x}_2\,|\,\boldsymbol{z})
P(x2∣x1,z)=P(x2∣z),一个常犯的错误是以为能推出后者。
取对数即得【西瓜书式(14.30)】的对数似然函数:
L
L
(
Θ
∣
x
)
=
∑
i
=
1
N
ln
(
∑
z
p
(
x
i
,
z
∣
Θ
)
)
\begin{align} \mathrm{LL}(\Theta\,|\,\boldsymbol{\mathrm{x}}) & =\sum _{i=1}^N\ln \left(\sum_{\boldsymbol{\mathrm{z}}}p(\boldsymbol{x}_i,\boldsymbol{\mathrm{z}}\,|\,\Theta) \right) \tag{14.88} \end{align}
LL(Θ∣x)=i=1∑Nln(z∑p(xi,z∣Θ))(14.88)
比较【西瓜书式(14.30)】与【西瓜书式(7.35)】,当 N = 1 N=1 N=1时,二者一致。
既然EM算法可以用于【西瓜书式(7.35)】来求解 Θ \Theta Θ及 p ( z ∣ x , Θ ) p(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},\Theta) p(z∣x,Θ),那么,当然可将其推广用于【西瓜书式(14.30)】。
这时有
ln
P
(
x
,
z
∣
Θ
)
=
ln
P
(
x
∣
Θ
)
P
(
z
∣
x
,
Θ
)
=
ln
P
(
x
∣
Θ
)
+
ln
P
(
z
∣
x
,
Θ
)
=
∑
i
=
1
N
ln
(
∑
z
p
(
x
i
,
z
∣
Θ
)
)
+
ln
P
(
z
∣
x
,
Θ
)
\begin{align} \ln \, P(\boldsymbol{\mathrm{x}},\boldsymbol{\mathrm{z}}\,|\,\Theta) & =\ln \,P(\boldsymbol{\mathrm{x}}\,|\,\Theta)P(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},\Theta)\notag \\ & =\ln \,P(\boldsymbol{\mathrm{x}}\,|\,\Theta)+\ln \,P(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},\Theta)\notag \\ & =\sum _{i=1}^N\ln \left(\sum_{\boldsymbol{\mathrm{z}}}p(\boldsymbol{x}_i,\boldsymbol{\mathrm{z}}\,|\,\Theta) \right)+\ln \,P(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},\Theta) \tag{14.89} \end{align}
lnP(x,z∣Θ)=lnP(x∣Θ)P(z∣x,Θ)=lnP(x∣Θ)+lnP(z∣x,Θ)=i=1∑Nln(z∑p(xi,z∣Θ))+lnP(z∣x,Θ)(14.89)
式(14.89)代入式(14.86),即
Q
(
Θ
∣
Θ
t
)
=
∑
z
p
(
z
∣
x
,
Θ
t
)
(
∑
i
=
1
N
ln
(
∑
z
p
(
x
i
,
z
∣
Θ
)
)
+
ln
P
(
z
∣
x
,
Θ
)
)
\begin{align} Q(\Theta\,|\,{\Theta}^{\,t}) & = \sum_{\boldsymbol{\mathrm{z}} }p(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},{\Theta}^{\,t})\, \left(\sum _{i=1}^N\ln \left(\sum_{\boldsymbol{\mathrm{z}}}p(\boldsymbol{x}_i,\boldsymbol{\mathrm{z}}\,|\,\Theta) \right)+\ln \,P(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},\Theta)\right) \tag{14.90} \end{align}
Q(Θ∣Θt)=z∑p(z∣x,Θt)(i=1∑Nln(z∑p(xi,z∣Θ))+lnP(z∣x,Θ))(14.90)
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:14.9 变分推断的详细推导(找一个“数学性质好的分布”来近似代替)
下一篇:14.11 趣谈话题模型(隐狄利克雷分配模型LDA)