美文网首页
再学习EM算法

再学习EM算法

作者: 闪电侠悟空 | 来源:发表于2022-11-15 14:28 被阅读0次

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

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

    1. 学习的本质问题

    • \max p(x), 这是学习的基本目标。人称,likelihood.

    直接\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 目标函数特点分析

    • KL散度大于等于0;
    • ELBO 是\log p(x)的下界 (lower bound);

    2.2 两阶段的EM优化算法

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

    E-step

    怎么理解?


    E-step
    • 改变q, 使得ELBO(q, \theta^{old})=\log p(x);
    • 实现: KL散度为0,q(z)=p(z|x;\theta^{old});
    • 评论:这里并没有优化\theta, 只是对隐变量z做出估计。

    M-step

    怎么理解?


    M-step
    • 改变\theta, 使得ELBO(q,\theta)变的更大;
    • 那么 \log p(x|\theta) 也必然变大了;
    • 实现: 直接优化ELBO(q,\theta), 具体为 \max_\theta \int q(z)\log(\frac{p(x,z|\theta)}{q(z)})dz\propto

    \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

    • 评论:这里优化ELBO中的\theta,从而实现对期望似然的最大化。

    3. 例子

    • 带有outlier的曲面拟合。快速收敛,精度更高,MVFC

      MVFC文章截图
    • 结构光解相位。\log p(x)没有封闭解,而构造的p(x,z)存在封闭解,从而快速求解 CFPE

      ELBO公式存在解析解

    相关文章

      网友评论

          本文标题:再学习EM算法

          本文链接:https://www.haomeiwen.com/subject/ohhdxdtx.html