ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【机器学习】期望最大化(EM)算法及其应用

2020-03-15 16:42:14  阅读:276  来源: 互联网

标签:EM 最大化 高斯 算法 参数 组件 数据 高斯分布


【背景】
当拥有缺失数据的时候,可以迭代地做参数估计,例如高斯混合模型(GMM)。
在这里插入图片描述
如图所示,我们要求对高斯混合模型的参数的最大似然估计。对于每一个数据点,它是由两个均值和方差未知的高斯分布来衡量的,并且该数据点分别以不同的未知的概率服从于这两个高斯分布。我们的目标就是估计每一个高斯分布的参数和每一个数据点以多大的概率服从于该高斯分布。

【EM算法的直观解释】
对于上面陈述的问题,如果我们知道每一个数据点属于第一个高斯分布还是第二个高斯分布,问题就会变得比较简单。所以先假定对每个数据点引入标签z,也就是假定该数据点是属于第一个高斯组件还是第二个高斯组件,该标签被叫做隐变量,也叫做未观察或者缺失变量。知道了属于每一个高斯组件的数据点以后,就可以估计出每一个高斯组件的均值和方差。估计出每一个高斯分布的均值和方差以后,就可以再去看每一个数据点到底应该在第一个高斯组件还是第二个高斯组件,并重新分配调整。然后再估计参数,再调整,一步步地迭代。当然,这里的某一个数据点属于某一个高斯组件是有一定概率的,我们为了方便描述和理解,所以做出了上述的假设和阐述。
总的来说,E步就是用当前的参数去计算一个数据点标签的分布,M步就是用当前标签分布的猜测去升级参数。

【EM算法推导】

假设有m个数据点,对每个数据点引入标签z,p(x,z;θ)代表该数据点在标签为z=i下的似然估计,其中,i=1,2,…,C,C为总的高斯组件的个数。
在这里插入图片描述
这里推出的不等式是根据杰森(Jensen)不等式的性质得出的:
在这里插入图片描述
上式可以自己画图理解,也就是求和再log的值大于log再求和的值。
然后,有:
在这里插入图片描述
在这里插入图片描述

【EM算法的优点】

  • 没有设置优化步长的问题,比如随机梯度下降的最优解和步长的设置有关,而EM算法不涉及步长
  • 直接在参数空间中工作,因此参数的约束就直接满足
  • 一般训练速度很快

【EM算法的缺点】

  • 不能确定模型的结构(组件的个数、图结构)
  • 不能找到全局最优解,由于可能有多个高斯组件,所以并不是单峰的,能否找到全局最优解与初始化状态有很大的关系
  • 不能总是有很好的升级形式
  • 不能避免计算问题,计算期望时的采样方法计算量非常大

【实践问题】

  1. 初始化:可以使用数据的平均值+随机,也可以使用k-means聚类的结果作为初始值。

  2. 终止条件:可以设置最大迭代次数,也可以根据对数似然估计的变化情况或者参数的变化情况来决定是否终止

  3. 在协方差矩阵中注入噪音,可以阻止崩溃

标签:EM,最大化,高斯,算法,参数,组件,数据,高斯分布
来源: https://blog.csdn.net/qq_36643449/article/details/104876872

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有