文章目录

  • 0. 前言
  • 1. EM算法
  • 2. 变分推断

如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

0. 前言

EM算法是常用的估计参数隐变量的方法,它是一种迭代式算法,EM算法原型

  • E步:若参数θ\thetaθ已知,则可根据训练数据推断出最优隐变量ZZZ
  • M步:若ZZZ的值已知,则可方便的对参数θ\thetaθ进行极大似然估计

1. EM算法

在概率图模型中,主要推断任务是基于观测变量推断隐变量和参数,即p(z∣x,θ)p(z\mid x,\theta)p(z∣x,θ)和θ\thetaθ。

通过EM算法不断迭代:

  • E步:根据ttt时刻的参数θt\theta^tθt和观测变量推断p(z∣x,θt)p(z\mid x,\theta^t)p(z∣x,θt),并计算联合似然函数p(z,x∣θt)p(z,x\mid \theta^t)p(z,x∣θt),然后计算对数似然LL(θ∣x,z)LL(\theta\mid x,z)LL(θ∣x,z)关于隐变量的期望:
    Q(θ;θt)=Ez∣x,θtLL(θ∣x,z)=Ez∣x,θtln⁡p(x,z∣θ)=∑zp(z∣x,θt)ln⁡p(x,z∣θ)\begin{aligned} Q(\theta;\theta^t)=&E_{z\mid x,\theta^t}LL(\theta\mid x,z)\\ &=E_{z\mid x,\theta^t}\ln p(x,z\mid \theta)\\ &=\sum_zp(z\mid x,\theta^t)\ln p(x,z\mid \theta) \end{aligned} Q(θ;θt)=​Ez∣x,θt​LL(θ∣x,z)=Ez∣x,θt​lnp(x,z∣θ)=z∑​p(z∣x,θt)lnp(x,z∣θ)​
  • M步:寻找参数的最大化期望似然:
    θt+1=arg⁡max⁡θQ(θ;θt)\theta^{t+1}=\arg\max_\theta Q(\theta; \theta^t) θt+1=argθmax​Q(θ;θt)

2. 变分推断

变分推断通过使用已知简单分布来逼近需推断的复杂分布,并通过限制近似分布的类型,从而得到一种局部最优、但具有确定解的近似后验分布。

在现实任务中,E步对p(z∣x,θt)p(z\mid x,\theta^t)p(z∣x,θt)的推断可能因为zzz的模型复杂而难以进行,可借助变分推断,令q(z)=p(z∣x,θt)q(z)=p(z\mid x,\theta^t)q(z)=p(z∣x,θt),假设zzz服从分布:
q(z)=∏i=1Mqi(zi)q(z)=\prod_{i=1}^Mq_i(z_i) q(z)=i=1∏M​qi​(zi​)

可求得最优分布qj∗q_j^*qj∗​:
ln⁡qj∗(zj)=Ei≠j[ln⁡p(x,z)]+const⇒qj∗(zj)=exp⁡(Ei≠j[ln⁡p(x,z)])∫exp⁡(Ei≠j[ln⁡p(x,z)])dzj\ln q_j^*(z_j)=E_{i\neq j}[\ln p(x,z)]+const\\ \Rightarrow q_j^*(z_j)=\frac{\exp(E_{i\neq j}[\ln p(x,z)])}{\int \exp(E_{i\neq j}[\ln p(x,z)])dz_j} lnqj∗​(zj​)=Ei̸​=j​[lnp(x,z)]+const⇒qj∗​(zj​)=∫exp(Ei̸​=j​[lnp(x,z)])dzj​exp(Ei̸​=j​[lnp(x,z)])​

若隐变量的拆解或变量子集的分布假设不当,则会导师变分法效率低。


如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

西瓜书+实战+吴恩达机器学习(二三)EM算法和变分推断相关推荐

  1. 西瓜书+实战+吴恩达机器学习(二)机器学习基础(偏差、方差、调试模型技巧)

    文章目录 0. 前言 1. 偏差方差的解决方法 2. 高偏差高方差的学习曲线 3. 调试模型技巧 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 泛化误差可分解为 ...

  2. 西瓜书+实战+吴恩达机器学习(十四)无监督学习之聚类(k-means, LVQ, 高斯混合聚类, DBSCAN, AGNES)

    文章目录 0. 前言 1. 性能度量 1.1. 外部指标 1.2. 内部指标 2. 距离计算 3. k-means算法 4. 学习向量量化 5. 高斯混合聚类 6. 密度聚类 DBSCAN 7. 层次 ...

  3. 西瓜书+实战+吴恩达机器学习(十五)无监督学习之关联分析(Apriori, FP-growth)

    文章目录 0. 前言 1. Apriori算法 1.1. 寻找频繁项集 1.2. 挖掘关联规则 2. FP-growth算法 2.1. 构建FP树 2.2. 寻找频繁项集 如果这篇文章对你有一点小小的 ...

  4. 西瓜书+实战+吴恩达机器学习(二二)概率图模型之马尔可夫随机场

    文章目录 0. 前言 1. 马尔可夫随机场结构 2. 近似推断 2.1. Metropolis-Hastings 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 ...

  5. 西瓜书+实战+吴恩达机器学习(二一)概率图模型之贝叶斯网络

    文章目录 0. 前言 1. 贝叶斯网络结构 2. 近似推断 2.1. 吉布斯采样 3. 隐马尔可夫模型HMM 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 概率 ...

  6. 西瓜书+实战+吴恩达机器学习(十九)特征选择(过滤式选择、包裹式选择)

    文章目录 0. 前言 1. 过滤式选择 2. 包裹式选择 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 特征选择是一个很重要的数据预处理过程: 选择出重要的特征 ...

  7. 西瓜书+实战+吴恩达机器学习(十八)降维(主成分分析 PCA)

    文章目录 0. 前言 1. 主成分分析PCA 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 维数灾难:在高维情形下出现的数据样本稀疏.距离计算困难等问题. 缓解 ...

  8. 西瓜书+实战+吴恩达机器学习(十七)规则学习(序贯覆盖)

    文章目录 0. 前言 1. 序贯覆盖 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 规则学习是从训练数据中学习出一组能用于对未见示例进行判别的规则. ⊕←f1∧ ...

  9. 西瓜书+实战+吴恩达机器学习(十六)半监督学习(半监督SVM、半监督k-means、协同训练算法)

    文章目录 0. 前言 1. 半监督SVM 2. 半监督k-means 2.1. 约束k-means 2.2. 约束种子k-means 3. 协同训练算法 如果这篇文章对你有一点小小的帮助,请给个关注, ...

最新文章

  1. 从小玩到大的超级玛丽,计算复杂性是怎样的?
  2. JavaScript 基础,登录前端验证
  3. 用viewport进行布局,将页面分成了三分,我想实现弹出的window窗口在整个viewport上...
  4. layui表格 设置默认排序_layui table对表格数据处理后的排序问题
  5. pl/sql编程基础
  6. Python参数类型
  7. hdu-1877(大数+进制转换)
  8. 不看就亏系列!这里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代码...
  9. 5 加盐_清洗桑葚时,有人加盐有人加碱,都不对!教你正确做法,太干净了
  10. hiho1095(二分)
  11. unity3d怎么让模型动起来_Unity3d笔记——利用Animator使模型动起来
  12. wpsmac历史版本_wps for mac下载-WPS mac版2021最新版下载V3.0.2(4882)官方正式版__西西软件下载...
  13. wamp mysql 密码_WAMP中的mysql设置密码
  14. JQuery验证车牌号(含新能源车牌)
  15. win10 qq远程不上服务器未响应,win10 qq远程协助能移动鼠标却点击不了怎么办
  16. springSecurity 登陆失败前台显示账号密码登录错误
  17. 通信电子:RLC电路及滤波器
  18. spring的maven依赖
  19. 加速度jsudo:立创电子元器件商城网站功能测评
  20. matlab加速模型,matlab仿真加速问题

热门文章

  1. Net学习日记_ADO.Net_2_练习(treeView)
  2. 2016年11月14日--SQL创建数据库、表-查、插、删、改
  3. UIAlertController (UIActionSheet, UIAlertView is deprecated in iOS 8.)
  4. SharePoint 关于拓扑错误的解决方案
  5. [Swift]LeetCode897. 递增顺序查找树 | Increasing Order Search Tree
  6. 修改rpm中的文件重新打包
  7. 用反汇编理解指向指针的指针
  8. [Java]一步一步学 Web
  9. spring案列——annotation配置
  10. Fedora17安装SSH