返回介绍

数学基础

统计学习

深度学习

工具

Scala

三、EM算法与高斯混合模型

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

3.1 高斯混合模型

  1. 高斯混合模型(Gaussian mixture model,GMM):指的是具有下列形式的概率分布模型:

    $ P(y;\theta)=\sum_{k=1}^{K}\alpha_k\phi(y;\theta_k) $

    其中 $ MathJax-Element-236 $ 是系数,满足 :

    • $ MathJax-Element-214 $ 。
    • $ MathJax-Element-228 $ 是高斯分布密度函数,称作第 $ MathJax-Element-258 $ 个分模型, $ MathJax-Element-216 $ :
    $ \phi(y;\theta_k)=\frac{1}{\sqrt{2\pi}\sigma_k}\exp\left(-\frac{(y-\mu_k)^{2}}{2\sigma_k^{2}}\right) $
  2. 如果用其他的概率分布密度函数代替上式中的高斯分布密度函数,则称为一般混合模型。

3.2 参数估计

  1. 假设观察数据 $ MathJax-Element-832 $ 由高斯混合模型 $ MathJax-Element-220 $ 生成,其中 $ MathJax-Element-221 $ 。

    可以通过EM算法估计高斯混合模型的参数 $ MathJax-Element-353 $ 。

  2. 可以设想观察数据 $ MathJax-Element-259 $ 是这样产生的:

    • 首先以概率 $ MathJax-Element-236 $ 选择第 $ MathJax-Element-227 $ 个分模型 $ MathJax-Element-228 $ 。
    • 然后以第 $ MathJax-Element-227 $ 个分模型的概率分布 $ MathJax-Element-228 $ 生成观察数据 $ MathJax-Element-259 $ 。

    这样,观察数据 $ MathJax-Element-259 $ 是已知的,观测数据 $ MathJax-Element-259 $ 来自哪个分模型是未知的。

    对观察变量 $ MathJax-Element-55 $ ,定义隐变量 $ MathJax-Element-476 $ ,其中 $ MathJax-Element-1669 $ 。

  3. 完全数据的对数似然函数为:

    $ P(y=y_j,z=k;\theta)=\alpha_k\frac{1}{\sqrt{2\pi}\sigma_k}\exp\left(-\frac{(y_j-\mu_k)^{2}}{2\sigma_k^{2}}\right) $

    其对数为:

    $ \log P(y=y_j,z=k;\theta)=\log \alpha_k-\log\sqrt{2\pi}\sigma_k -\frac{(y_j-\mu_k)^{2}}{2\sigma_k^{2}} $

    后验概率为:

    $ P(z=k\mid y=y_j;\theta^{})=\frac{\alpha_k\frac{1}{\sqrt{2\pi}\sigma_k^{}}\exp\left(-\frac{(y_j-\mu_k^{})^{2}}{2\sigma_k^{^{}2}}\right)}{\sum_{t=1}^K\alpha_t\frac{1}{\sqrt{2\pi}\sigma_t^{}}\exp\left(-\frac{(y_j-\mu_t^{})^{2}}{2\sigma_t^{^{}2}}\right)} $

    即: $ MathJax-Element-1875 $ 。

    则 $ MathJax-Element-358 $ 函数为:

    $ 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)\\ =\sum_{j=1}^N\sum_{k=1}^K P(z=k\mid y=y_j;\theta^{})\left(\log \alpha_k-\log\sqrt{2\pi}\sigma_k -\frac{(y_j-\mu_k)^{2}}{2\sigma_k^{2}}\right) $

    求极大值: $ MathJax-Element-1964 $ 。

    根据偏导数为 0,以及 $ MathJax-Element-255 $ 得到:

    • $ MathJax-Element-236 $ :

      $ \alpha_k^{}=\frac{n_k}{N} $

      其中: $ MathJax-Element-2017 $ ,其物理意义为:所有的观测数据 $ MathJax-Element-852 $ 中,产生自第 $ MathJax-Element-258 $ 个分模型的观测数据的数量。

    • $ MathJax-Element-2033 $ :

      $ \mu_k^{}=\frac{\overline {Sum}_k}{n_k} $

      其中: $ MathJax-Element-2182 $ ,其物理意义为:所有的观测数据 $ MathJax-Element-852 $ 中,产生自第 $ MathJax-Element-258 $ 个分模型的观测数据的总和。

    • $ MathJax-Element-2118 $ :

      $ \sigma_k^{2}=\frac{\overline {Var}_k}{n_k} $

      其中: $ MathJax-Element-2208 $ ,其物理意义为:所有的观测数据 $ MathJax-Element-852 $ 中,产生自第 $ MathJax-Element-258 $ 个分模型的观测数据,偏离第 $ MathJax-Element-258 $ 个模型的均值( $ MathJax-Element-2219 $ )的平方和。

  4. 高斯混合模型参数估计的EM算法:

    • 输入:

      • 观察数据 $ MathJax-Element-832 $
      • 高斯混合模型的分量数 $ MathJax-Element-257 $
    • 输出:高斯混合模型参数 $ MathJax-Element-2311 $

    • 算法步骤:

      • 随机初始化参数 $ MathJax-Element-350 $ 。

      • 根据 $ MathJax-Element-352 $ 迭代求解 $ MathJax-Element-357 $ ,停止条件为:对数似然函数值或者参数估计值收敛。

        $ \alpha_k^{}=\frac{n_k}{N},\;\mu_k^{}=\frac{\overline {Sum}_k}{n_k},\;\sigma_k^{2}=\frac{\overline {Var}_k}{n_k} $

        其中:

        • $ MathJax-Element-2017 $ 。

          其物理意义为:所有的观测数据 $ MathJax-Element-852 $ 中,产生自第 $ MathJax-Element-258 $ 个分模型的观测数据的数量。

        • $ MathJax-Element-2182 $ 。

          其物理意义为:所有的观测数据 $ MathJax-Element-852 $ 中,产生自第 $ MathJax-Element-258 $ 个分模型的观测数据的总和。

        • $ MathJax-Element-2208 $ 。

          其物理意义为:所有的观测数据 $ MathJax-Element-852 $ 中,产生自第 $ MathJax-Element-258 $ 个分模型的观测数据,偏离第 $ MathJax-Element-258 $ 个模型的均值( $ MathJax-Element-2219 $ )的平方和。

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

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

发布评论

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