(《机器学习》完整版系列)第14章 概率图模型——14.10 变分推断用于EM算法

EM算法可视为“推断隐变量分布”和“求参数”交替进行。这里应用变分推断方法推断隐变量分布。

变分推断用于EM算法

(1)回顾7.10 EM算法的使用场景及步骤(反复循环执行E步和M步)的EM算法

  • E步:推断隐变量分布 p ( z   ∣   x , Θ   t ) p(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}},{\Theta}^{\,t}) p(zx,Θ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)=zp(zx,Θt)ELL(Θx,z)=zp(zx,Θ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(zx,Θ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(zx,Θt)=pΘt(zx),其余类似。 这时,即可利用变分推断求出 p Θ   t ( z   ∣   x ) p_{{\Theta}^{\,t}}(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}}) pΘt(zx)(视为变分推断中的 p ( z   ∣   x ) p(\boldsymbol{\mathrm{z}}\,|\,\boldsymbol{\mathrm{x}}) p(zx))的近似分布。

(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=1Np(xiΘ)(由独立性)=i=1Nzp(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(x2x1)=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(x2x1,z)=P(x2z),一个常犯的错误是以为能推出后者。

取对数即得【西瓜书式(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=1Nln(zp(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(zx,Θ),那么,当然可将其推广用于【西瓜书式(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(zx,Θ)=lnP(xΘ)+lnP(zx,Θ)=i=1Nln(zp(xi,zΘ))+lnP(zx,Θ)(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)=zp(zx,Θt)(i=1Nln(zp(xi,zΘ))+lnP(zx,Θ))(14.90)

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:14.9 变分推断的详细推导(找一个“数学性质好的分布”来近似代替)
下一篇:14.11 趣谈话题模型(隐狄利克雷分配模型LDA)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值