统计模式识别作业五

news/2025/1/9 18:19:11/文章来源:https://www.cnblogs.com/JinyuLi/p/18662687

Derive the EM algorithm to estimate the parameters of GMM,by minimizing free energies.

1 Introduction

回顾,在生成式模型中,我们希望求出数据的一个parameterized distribution最大化下面的似然概率:

$
P(X) = \prod_{i=1}^{m} P(x_i|\theta)
$

其中 $ \theta $ 为分布的参数,总共有 $ m $ 个样本点。对上述取 $ \log $,改写成我们的目标函数:

$
L(\theta) = \sum_{i=1}^{m} \log P(x_i|\theta)
$


2 Gaussian Mixture Model

高斯混合模型假设我们的训练数据服从一系列高斯分布,每个样本点属于某个高斯分布的概率与其属于哪个高斯分布有关。具体来说,我们假设数据服从以下的联合概率分布:

\(P(x^{(i)}, z^{(i)}) = P(x^{(i)}|z^{(i)}) Q(z^{(i)})\)

其中 $ z $ 服从多项分布 $ z^{(i)} \sim \text{Multinomial}(\phi) $,且 \(\phi_j \geq 0\)\(\sum_{j=1} \phi_j = 1\)\(\phi_j = P(z^{(i)} = j)\)。且 $ z $ 可以取 $ k $ 个值。$ x|z $ 服从正态分布,\(x^{(i)}|z^{(i)}=j \sim \mathcal{N}(\mu_j, \Sigma_j)\)

换句话说,我们的模型假设 $ x $ 的生成过程是,先从 $ z $ 中取一个值表示这个 $ x $ 属于哪个高斯分布,然后再从对应的高斯分布生成 $ x $。


3 Free Energies

基于高斯混合模型的假设,我们有:

$
L(\theta) = \sum_{i=1}^{m} \log P(x_i|\theta)
$

$
= \sum_{i=1}^{m} \log \int P(x_i, z| \theta) dz \quad \text{(全概率公式)}
$

$
= \sum_{i=1}^{m} \log \int Q(z) \frac{P(x_i, z|\theta)}{Q(z)} dz
$

$
\geq \sum_{i=1}^{m} \int Q(z) \log \frac{P(x_i, z|\theta)}{Q(z)} dz \quad \text{(Jensen 不等式)}
$

由上述可知,$ \sum_{i=1}^{m} \int Q(z) \log \frac{P(x_i, z|\theta)}{Q(z)} dz $ 为 $ L(\theta) $ 的一个下界,我们可以通过最大化这个下界 ELBO 来得到 $ L(\theta) $ 的一个局部最优解。

令:

$
F(Q, P) = - \sum_{i=1}^{m} \int Q(z) \log \frac{P(x_i, z|\theta)}{Q(z)} dz
$

$
= \sum_{i=1}^{m} \int Q(z) \log \frac{Q(z)}{P(x_i, z|\theta)} dz
$

我们将 $ F(Q, P) $ 称为 free energies,且最大化 ELBO 等价于最小化 free energies。

4 EM Algorithm

4.1 E Step

由 $ P(z|x) = \frac{P(x,z)}{P(x)} $,可得

$
F(Q, P) = \sum_{i=1}^{m} \int Q(z) \log \frac{Q(z)}{P(x_i, z)} dz
$

$
= \sum_{i=1}^{m} \int Q(z) \log \frac{Q(z)}{P(z|x_i)P(x_i)} dz
$

$
= \sum_{i=1}^{m} [D(Q(z)||P(z|x_i)) - \log P(x_i)]
$

在 E Step 中,我们固定 $ \theta $,优化 $ Q(z) $。因为 $ \log P(x_i) = \log \int P(x|z)P(z) dz $ 只与 $ \theta $ 有关,且 KL 散度 $ D(Q(z)||P(z|x)) \geq 0 $,仅当 $ Q(z) = P(z|x) $ 时取等,所以在 E Step 中,我们有:

$
E \text{ Step}: Q_{k+1} = \arg \min_{Q} F(Q, P(\theta)) = P(z|x, \theta_k)
$

即当我们取 $ Q(z) \equiv P(z|x) $ 时,$ F(Q, P) $ 取到最小值。


4.2 M Step

在 M Step 中,我们将 E Step 估计出的 $ Q(z) \equiv P(z|x) $ 回代到 $ F(Q, P) $ 中:

$
F(Q_{k+1}, P(\theta)) = \sum_{i=1}^{m} \int Q(z) \log \frac{Q(z)}{P(x_i, z)} dz
$

$
= \sum_{i=1}^{m} \int P(z|x_i, \theta_k) \log \frac{P(z|x_i, \theta_k)}{P(x_i, z|\theta)} dz
$

$
= \sum_{i=1}^{m} \int P(z|x_i, \theta_k) \log P(z|x_i, \theta_k) dz - \int P(z|x_i, \theta_k) \log P(x_i, z|\theta) dz
$

前一项使用的是上一步的 $ \theta $,因此是个定值,所以我们有:

$ M \text{ Step}: \theta_{k+1} = \arg \min_{\theta} F(Q_{k+1}, P(\theta)) = \arg \min_{\theta} - \sum_{i=1}^{m} \int P(z|x_i, \theta_k) \log P(x_i, z|\theta) dz
$

5. EM For GMM

现在我们将上一节推导的 EM 更新公式代入 GMM 的具体表达式,推导 GMM 的参数更新方法。

M Step 和 E Step

  • M Step:
    $
    \theta_{k+1} = \arg\min_{\theta} - \sum_{i} \int P(z|x_i, \theta_k) \log P(x_i, z|\theta) dz
    $
  • E Step:
    $
    Q_{k+1} = P(z | x, \theta_k)
    $

在 GMM 中,我们假设:

  • $ P(z) \equiv \text{Multinomial}(\phi), \sum_{j=1}^c \phi_j = 1 $
  • $ P(x|z=j) \equiv \mathcal{N}(\mu_j, \Sigma_j) $

5.1 E Step

E Step 直接使用贝叶斯公式即可:
$
Q(z = i) = P(z = i | x, \theta_k) = \frac{P(x|z=i) P(z=i)}{\sum_{j} P(x|z=j)P(z=j)}
$

5.2 M Step

目标:最大化
$
\sum_{i} \int P(z|x_i, \theta_k) \log P(x_i, z|\theta) dz = \sum_{i} \int P(z|x_i, \theta_k) \log [P(x_i|z, \mu, \Sigma) P(z|\phi)] dz
$

可以拆分为:
$
= \sum_{i} \big( E[\log P(x_i|z, \mu, \Sigma)] + E[\log P(z|\phi)] \big)
$


优化 $ \phi $:

$ \phi $ 只与后项 $ E[\log P(z|\phi)] $ 有关:
$
E[\log P(z|\phi)] = \sum_{j} P(z = j | x_i) \log P(z = j) = \sum_{j} P(z = j | x_i) \log \phi_j
$

使用拉格朗日法引入约束条件:
$
L = F(Q, P) + \lambda \big(\sum_{j} \phi_j - 1\big)
$

求导,令导数等于 0:

  • $ \frac{\partial L}{\partial \phi_j} = \sum_{i} P(z = j|x_i) / \phi_j + \lambda = 0 $
  • $ \frac{\partial L}{\partial \lambda} = \sum_{j} \phi_j - 1 = 0 $

由此可得:
$ \phi_j = \frac{1}{m} \sum_{i} w_j^{(i)}$
其中,$ w_j^{(i)} = P(z = j | x_i) $。


优化 $ \mu $:

$ \mu $ 只与公式中的 $ E[\log P(x_i|z, \mu, \Sigma)] $ 有关:
$
E[\log P(x_i|z, \mu, \Sigma)] = \sum_{j} w_j^{(i)} \log P(x_i|z = j, \mu, \Sigma)
$
展开为:
\(= \sum_{j} w_j^{(i)} \big[\log \sigma_j + \frac{1}{2}\log 2\pi + \frac{(x_i - \mu_j)^2}{2\sigma_j^2}\big]\)

求导,令导数等于 0:
\(\frac{\partial L}{\partial \mu_j} = \sum_{i} w_j^{(i)} \frac{(x_i - \mu_j)}{\sigma_j^2} = 0\)

解得:
\(\mu_j = \frac{\sum_{i} w_j^{(i)} x_i}{\sum_{i} w_j^{(i)}}\)


优化 $ \Sigma = \sigma_1, \sigma_2, \dots, \sigma_c $:

同样只考虑公式中的 \(E[\log P(x_i|z, \mu, \Sigma)]\)
\(E[\log P(x_i|z, \mu, \Sigma)] = \sum_{j} w_j^{(i)} \big[\log \sigma_j + \frac{1}{2}\log 2\pi + \frac{(x_i - \mu_j)^2}{2\sigma_j^2}\big]\)

求导,令导数等于 0:
\(\frac{\partial F}{\partial \sigma_j^2} = \frac{1}{2}\sum_{i} w_j^{(i)} \big[ \frac{1}{\sigma_j^2} - \frac{(x_i - \mu_j)^2}{\sigma_j^4} \big] = 0\)

解得:
\(\sigma_j^2 = \frac{\sum_{i} w_j^{(i)} (x_i - \mu_j)^2}{\sum_{i} w_j^{(i)}}\)


5.3 Summary

最终的 GMM 的 EM 更新公式如下:
$
\phi_j = \frac{1}{m} \sum_{i=1}^m w_j^{(i)}
$

$
\mu_j = \frac{\sum_{i=1}^m w_j^{(i)} x_i}{\sum_{i=1}^m w_j^{(i)}}
$

\(\sigma_j^2 = \frac{\sum_{i=1}^m w_j^{(i)} (x_i - \mu_j)^2}{\sum_{i=1}^m w_j^{(i)}}\)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/866660.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用云数据库RDS和低代码开发平台“魔笔”,高效构建门户网站,完成任务领智能台灯!

传统建站涵盖需求分析、设计、开发、运维等环节。需分析软硬件需求并购买配置,设计网页布局,前后端编码调试,涉及业务逻辑、数据库及API。更新时需调整设计与代码。运营期需进行服务器维护、数据监控和安全检查,整个过程耗资费力。 本方案将为您详细介绍如何使用云数据库RD…

salesforce零基础学习(一百四十二)在Formula字段中如何通过Datetime字段显示Local Time(适配DST)

背景: 我们需求是显示Date Time类型的Time信息,比如我们想要在report中基于Hour Of Created Date进行分组,从而想要了解到一段时间内什么时间是数据创建的高峰期,不同的running user可能时区不同,比如中国时区是GMT+8,日本的时区是GMT+9,美国可能不同的州对应的时区也不…

官宣!通义灵码 AI 程序员全面上线

通义灵码2.0 你的AI程序员来了!速来领取你的全新魔法搭档吧! 通义灵码AI程序员成为全球首个同时支持 VS Code、JetBrains IDEs 开发工具的AI程序员产品。此次上线的AI程序员相比传统AI辅助编程工具,能力更全面,可以让开发者以更高效、更沉浸的方式完成编码任务,通过全程对…

htb Escape

扫描端口 nmap -sC -sV -p- -v -Pn -T4 10.10.11.202 Host is up (0.39s latency). Not shown: 65515 filtered tcp ports (no-response) PORT STATE SERVICE VERSION 53/tcp open domain Simple DNS Plus 88/tcp open kerberos-sec Microsoft Wind…

2025年销售攻略

随着2024年的落幕,我们迎来了全新的2025年,新一轮的业绩争夺战已经悄然打响。面对新的挑战与机遇,我们该如何在销售领域脱颖而出,实现业绩的稳步增长呢? 一、明确目标,勇往直前 销售工作离不开明确的目标。设定清晰、可行的销售目标,并将其分解为具体的时间节点和任务,…

杭州铭师堂的云原生升级实践

杭州铭师堂,是一个致力于为人的全面发展而服务的在线教育品牌。杭州铭师堂秉持“用互联网改变教育,让中国人都有好书读”的使命,致力于用“互联网+教育”的科技手段让更多的孩子都能享有优质的教育,促进他们的全面成长。作者:升学e网通研发部基建团队 公司介绍 杭州铭师堂…

新年餐饮业营销攻略:数据驱动,精准营销!

餐饮业借助项目管理软件开展新年营销,可以更加高效、精准地管理营销活动,提升销售业绩和用户体验。通过选择合适的软件工具、制定详细的营销计划、设置可视化的任务列表和进度跟踪、促进团队协作和沟通、收集和分析数据以优化营销策略、评估和调整项目计划以及总结经验和教训…

解锁新应用:探索GPU扩展是如何提升渲染农场的工作效率

联瑞GPU扩展方案在渲染农场的应用,是在原有计算机设备的基础上增加GPU的数量,不用额外购买GPU服务器,有效的帮助企业降本增效渲染农场是一种基于计算机GPU集群的渲染解决方案,主要用于分布式渲染。它将渲染任务分发到多个计算机(渲染节点)上,通过GPU并行计算和协同工作,实…

Task实战

一:场景描述 在一个文件下查找js文件中指定的关键字,并记录完成查找所需时间。完成此任务使用了3种写法,分别为: 1.仅使用一个task,在任务中进行for循环,循环调用异步业务处理方法,只利用一个后台线程进行业务处理。2.先查找出文件路径,然后对每一个文件路径创建一个ta…

多网卡配置bond模式4(Ubuntu22.04)

编辑网卡配置文件 vim /etc/netpla/00-installer-config.yaml示例一:示例二:

中考英语优秀范文-013 Computer in my life 电脑在我的生活中

中考英语优秀范文-013 Computer in my life 电脑在我的生活中 1 写作要求 假设某中学生英文报开展关于计算机与学生生活的征文活动,请你根据下表所提示的要点,以Computer in my life为题,用英语为该报写一篇短文,简述计算机在你生活中的用途,并就计算机对你生活的影响谈谈…

BAPI

预制发票:BAPI_INCOMINGINVOICE_PARKDATA: ls_header TYPE bapi_incinv_create_header,lt_itemdata TYPE TABLE OF bapi_incinv_create_item,ls_itemdata TYPE bapi_incinv_create_item,lt_taxdata TYPE TABLE OF bapi_incinv_create_tax,ls_taxdata TYPE bapi_…