再学习EM算法

2022-11-15  本文已影响0人  闪电侠悟空

EM 算法是十大经典的机器学习算法,【PS:MC是二十世纪十大算法】

回顾下经典的EM算法,对其理解加深

1. 学习的本质问题

直接\max p(x)很难的,所以这里有两种方法转化为联合分布 p(x,z|\theta)

  1. 直接对联合分布求边缘分布,p(x) = \Sigma_z p(x,z|\theta);
  2. 配凑的方法,p(x)p(z|x)=p(x,z|\theta);

第一种方法,可用琴生不等式处理。第二种方法,得到的是一个等式,详细的推导过程如下:
\log p(x) = \log(\frac{p(x,z|\theta)}{p(z|x)})-\log(\frac{q(z)}{q(z)})

\log p(x) = \log(\frac{p(x,z|\theta)}{q(z)})-\log(\frac{p(z|x)}{q(z)})
然后对在q(z)的分布下求上式左右的期望,

\log p(x) = \int q(z) \log p(x)dz = \int q(z)\log(\frac{p(x,z|\theta)}{q(z)})dz-\int q(z) \log(\frac{p(z|x)}{q(z)})dz

\log p(x) = ELBO(q,\theta)+KL
其中ELBO是后面第一项,KL散度是后面的第二项;

2. 优化求解

2.1 目标函数特点分析

2.2 两阶段的EM优化算法

  1. E-step: 固定\theta, 求q。【q是分布,求期望就好理解了】;
  2. M-step: 固定q, 求\theta; 【\theta是参数,最大化操作就记住了】;

E-step

怎么理解?


E-step

M-step

怎么理解?


M-step

\int q(z)\log(\frac{p(x,z|\theta)}{q(z)})dz\propto \int q(z)\log(p(x,z|\theta))dz, 后面这个部分被称为complete-data log likelihood

3. 例子

上一篇下一篇

猜你喜欢

热点阅读