返回介绍

数学基础

统计学习

深度学习

工具

Scala

五、EM 算法的推广

发布于 2023-07-17 23:38:25 字数 4486 浏览 0 评论 0 收藏 0

5.1 F 函数

  1. F函数:假设隐变量 $ MathJax-Element-287 $ 的概率分布为 $ MathJax-Element-288 $ ,定义分布 $ MathJax-Element-289 $ 与参数 $ MathJax-Element-353 $ 的函数 $ MathJax-Element-317 $ 为:

    $ F(\tilde P,\theta)=\mathbb E_{\tilde P}[\log P( Y, Z ;\theta)]+H(\tilde P) $

    其中 $ MathJax-Element-2778 $ 是分布 $ MathJax-Element-298 $ 的熵。

    通常假定 $ MathJax-Element-295 $ 是 $ MathJax-Element-353 $ 的连续函数,因此 $ MathJax-Element-317 $ 为 $ MathJax-Element-298 $ 和 $ MathJax-Element-353 $ 的连续函数。

  2. 函数 $ MathJax-Element-317 $ 有下列重要性质:

    • 对固定的 $ MathJax-Element-353 $ ,存在唯一的分布 $ MathJax-Element-302 $ 使得极大化 $ MathJax-Element-317 $ 。此时 $ MathJax-Element-304 $ ,并且 $ MathJax-Element-305 $ 随着 $ MathJax-Element-353 $ 连续变化。
    • 若 $ MathJax-Element-307 $ , 则 $ MathJax-Element-308 $ 。
  3. 定理一:设 $ MathJax-Element-863 $ 为观测数据的对数似然函数, $ MathJax-Element-352 $ 为 EM 算法得到的参数估计序列,函数 $ MathJax-Element-2793 $ ,则:

    • 如果 $ MathJax-Element-317 $ 在 $ MathJax-Element-313 $ 和 $ MathJax-Element-321 $ 有局部极大值,那么 $ MathJax-Element-320 $ 也在 $ MathJax-Element-321 $ 有局部极大值。
    • 如果 $ MathJax-Element-317 $ 在 $ MathJax-Element-318 $ 和 $ MathJax-Element-321 $ 有全局极大值,那么 $ MathJax-Element-320 $ 也在 $ MathJax-Element-321 $ 有全局极大值。
  4. 定理二:EM算法的一次迭代可由 F 函数的极大-极大算法实现:设 $ MathJax-Element-352 $ 为第 $ MathJax-Element-326 $ 次迭代参数 $ MathJax-Element-353 $ 的估计, $ MathJax-Element-341 $ 为第 $ MathJax-Element-326 $ 次迭代函数 $ MathJax-Element-327 $ 的估计。在第 $ MathJax-Element-360 $ 次迭代的两步为:

    • 对固定的 $ MathJax-Element-352 $ ,求 $ MathJax-Element-343 $ 使得 $ MathJax-Element-344 $ 极大化。
    • 对固定的 $ MathJax-Element-343 $ ,求 $ MathJax-Element-357 $ 使得 $ MathJax-Element-347 $ 极大化。

5.2 GEM算法1

  1. GEM算法1(EM算法的推广形式):

    • 输入:

      • 观测数据 $ MathJax-Element-1207 $
      • $ MathJax-Element-336 $ 函数
    • 输出:模型参数

    • 算法步骤:

      • 初始化参数 $ MathJax-Element-350 $ ,开始迭代。

      • 第 $ MathJax-Element-360 $ 次迭代:

        • 记 $ MathJax-Element-352 $ 为参数 $ MathJax-Element-353 $ 的估计值, $ MathJax-Element-341 $ 为函数 $ MathJax-Element-342 $ 的估计值。求 $ MathJax-Element-343 $ 使得 $ MathJax-Element-344 $ 极大化。
        • 求 $ MathJax-Element-357 $ 使得 $ MathJax-Element-347 $ 极大化。
        • 重复上面两步直到收敛。
  2. 该算法的问题是,有时候求 $ MathJax-Element-347 $ 极大化很困难。

5.3 GEM算法2

  1. GEM算法2(EM算法的推广形式):

    • 输入:

      • 观测数据 $ MathJax-Element-1207 $
      • $ MathJax-Element-358 $ 函数
    • 输出:模型参数

    • 算法步骤:

      • 初始化参数 $ MathJax-Element-350 $ ,开始迭代。

      • 第 $ MathJax-Element-360 $ 次迭代:

        • 记 $ MathJax-Element-352 $ 为参数 $ MathJax-Element-353 $ 的估计值, 计算

          $ Q(\theta,\theta^{})=\sum_{j=1}^N\left(\sum_Z P(Z\mid Y=y_j;\theta^{})\log P(Y=y_j,Z;\theta) \right) $
        • 求 $ MathJax-Element-357 $ 使得 $ MathJax-Element-372 $

        • 重复上面两步,直到收敛。

  2. 此算法不需要求 $ MathJax-Element-368 $ 的极大值,只需要求解使它增加的 $ MathJax-Element-357 $ 即可。

5.4 GEM算法3

  1. GEM算法3(EM算法的推广形式):

    • 输入:

      • 观测数据 $ MathJax-Element-1207 $
      • $ MathJax-Element-358 $ 函数
    • 输出:模型参数

    • 算法步骤:

      • 初始化参数 $ MathJax-Element-359 $ ,开始迭代

      • 第 $ MathJax-Element-360 $ 次迭代:

        • 记 $ MathJax-Element-361 $ 为参数 $ MathJax-Element-362 $ 的估计值, 计算

          $ Q(\theta,\theta^{})=\sum_{j=1}^N\left(\sum_Z P(Z\mid Y=y_j;\theta^{})\log P(Y=y_j,Z;\theta) \right) $
        • 进行 $ MathJax-Element-373 $ 次条件极大化:

          • 首先在 $ MathJax-Element-364 $ 保持不变的条件下求使得 $ MathJax-Element-368 $ 达到极大的 $ MathJax-Element-366 $
          • 然后在 $ MathJax-Element-367 $ 的条件下求使得 $ MathJax-Element-368 $ 达到极大的 $ MathJax-Element-369 $
          • 如此继续,经过 $ MathJax-Element-373 $ 次条件极大化,得到 $ MathJax-Element-371 $ ,使得 $ MathJax-Element-372 $
        • 重复上面两步,直到收敛。

  2. 该算法将 EM 算法的 M 步分解为 $ MathJax-Element-373 $ 次条件极大化,每次只需要改变参数向量的一个分量,其余分量不改变。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文