1 EM算法的引入
1.1 EM算法
1.2 EM算法的导出
2 EM算法的收敛性
3EM算法在高斯混合模型的应用
3.1 高斯混合模型Gaussian misture model
3.2 GMM中参数估计的EM算法
4 EM推广
4.1 F函数的极大—极大算法

期望极大值算法(expectation maximizition algorithm,EM)。是一种迭代算法,1977年由Dempster总结提出,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计或极大后验估计。EM算法分为两步,E步:求期望,M步:求极大值

1 EM算法的引入

概率模型有时既含有观测变量(observable variable),又含有隐变量或潜在变量(latent variable),如果仅有观测变量,那么给定数据就能用极大似然估计或贝叶斯估计来估计model参数;但是当模型含有隐变量时,需要一种含有隐变量的概率模型参数估计的极大似然方法估计——EM算法

1.1 EM算法

这里有一个三硬币模型,三个硬币A,B,C。正面出现的概率是π,p,q;只有当A硬币掷出后得到正面才会掷硬币B,否则C,但是独立n次后,只能观察到最后的结果,却看不到执行过程中A是什么情况,最后的结果是B还是C的。因此,

各个参数含义

观测数据的极大似然估计是:

这个问题没有解析解,只能使用EM方法迭代求解。

E步B的概率是一个条件概率,y取值为1,0.
M步:模型参数估计值

EM算法受初值影响较大。
一般地,Y表示观测数据,Z表示隐变量,Y+Z表示完全数据(complete data),Y叫做不完全数据(incomplete data)。假设给定观测数据Y其概率分布为,不完全数据Y的似然函数为,对数似然函数为,假设Y,Z联合概率分布为,对数似然函数,EM算法就是通过迭代求L的极大似然估计。
EM算法:


Q函数:EM算法的核心,是完全观测数据对数似然函数关于给定观测数据Y和当前参数θi对未观测数据Z的条件概率分布的期望:
步骤1:参数的 初值可以任意选择,但是EM算法对参数初值十分敏感;
步骤2:求Q(θ,θi)第一个变元表示极大化的参数,第二个变元表示参数的当前估计值。每次迭代实际上再求Q函数及其极大。
步骤3:M步求Q的极大化,得到θi+1,完成一次迭代。
步骤4:给出停止条件,对较小的整数,满足入校条件则停止迭代。

1.2 EM算法的导出

通过近似求解观测数据的对数似然函数的极大化问题来推导出EM算法的正确性。
问题是含有隐变量的概率模型,目标是极大化观测数据(不完全数据)Y关于θ的对数似然函数,即极大化,
困难点在于未观测数据和积分(求和)。
其实,EM算法是通过迭代逐步近似极大化L(θ)的。每次都希望最新的估计上跟上次的估计值大,来逐步达到极大值。

利用Jensen不等式得到下界:



,得到L的一个下界B函数,且可以发现,
任何可以让B增大的θ也可以使得L增大,因此,具体表达式化简(省略与θ无关的项):

因此EM算法是通过不断求解下界的极大化来求解对数似然函数极大化的算法


EM算法因为能够求解包含隐变量的概率模型,因此可用于生成模型的非监督学习,认为联合概率密度为P(X,Y),X为观测数据,Y为未观测数据。


2 EM算法的收敛性

EM算法能否收敛,是否能收敛到全局最优?
两个定理:



注意:定理只能保证参数估计序列收敛到对数似然函数序列的稳定点,不能保证收敛到极大值点,所以初值选择十分重要。通常的做法是选取几个不同的初值进行迭代,然后对得到的各个估计值加以比较,从中选择最好的。

3 EM算法在高斯混合模型的应用

3.1 高斯混合模型Gaussian misture model

GMM的形式
,其中
即,称为第k个分模型。

3.2 GMM中参数估计的EM算法

假设观测数据y1,y2,y3,…,yN由GMM生成
其中,
用EM算法估计参数θ。

  1. 明确隐变量,写出完全数据的对数似然函数
    观测数据的产生:依照概率αk选择第k个高斯分布模型;然后依照第k个分模型概率分布生成观测数据yj。这是观测数据是已知的,而反映观测数据yj的第k个分模型的数据是未知的,以隐变量γjk表示,定义如下:
    j=1,2,…,N;k=1,2,…,K,γ是0-1随机变量
    那么完全数据是:
    完全数据似然函数是
    其中,k的连乘不是很理解

对数化:

  1. EM算法的E步:确定Q函数
  2. 确定M步

    求偏导为0推出:

    算法:

4 EM推广

EM算法可以解释为F函数(F function)的极大—极大算法(maximization maximization algorithm),基于这个解释有若干变形,如,广义期望极大(generalized expectation maximization,GEM)算法。

4.1 F函数的极大—极大算法

F函数定义:

引理1:

引理2:

。。。未完待续。。。
推荐链接:http://blog.csdn.net/qq_20602929/article/details/51424292

总结:

EM算法是一种求解含有隐变量的概率模型参数的算法,这里主要根据《统计学习方法》介绍了EM算法及其推广和应用,主要的是理解,EM算法的E,M步,以及Q函数的构造方法,这是本质的东西。

转载于:https://www.cnblogs.com/sxzhou/p/8551547.html

含隐变量模型求解——EM算法相关推荐

  1. nlp(贪心学院)——时序模型、HMM、隐变量模型、EM算法

    任务225: 时序模型 随时间维度变化的 每时每刻有相关性(t时刻数据t+1时刻数据有相关性) 时序数据长度不确定 时序数据:如股票价格.语音.文本.温度 任务226: HMM的介绍 观测值.隐式变量 ...

  2. gmm中隐变量是什么的_机器学习-隐变量模型和期望最大算法

    目录 1 隐变量模型 1.1 隐变量模型意义 1.2 高斯混合模型 GMM 1.3 其他模型(应用) 2 期望最大算法(EM) 2.1 EM算法意义 2.2 EM算法推导 2.3 EM算法 2.4 E ...

  3. 主题模型(3)——PLSA模型及其EM算法求解

    之前整理过两篇关于主题模型的博客<文本建模之Unigram Model,PLSA与LDA>和<再看LDA主题模型>,主要是整理了主题模型的由来和推导过程,关于模型参数怎么计算没 ...

  4. 第七课.含隐变量的参数估计

    参数估计问题 在第一课中,提到使用样本估计模型(比如高斯分布)的参数,并说明了常用的极大似然估计法.假设现在有一枚硬币,但它质地不均匀,导致抛硬币的正面朝上与反面朝上的概率不相等,现在还是想研究正面朝 ...

  5. 机器学习中的隐变量和隐变量模型

    开篇 这篇博客算我自己给自己挖的一个坑,主要想讲讲机器学习中的隐变量,今天在推导EM算法,李航在统计学习方法中的EM引入中提到了隐变量的概念(latent variable),他提到了如果我们的概率模 ...

  6. 学习笔记三:GMM模型以及EM算法理解及代码实现

    第三章 GMM模型以及EM算法 1.潜变量模型 使用潜变量解释观测变量的数学模型,称之为潜变量模型 潜变量模型将不完全数据(观测数据)的边缘分布转换成容易处理的完全数据(观测数据+潜变量)的联合分布. ...

  7. 隐变量模型(latent variable model)

    连续隐变量模型(continuous latent model)也常常被称为降维(dimensionality reduction) PCA Factor Analysis ICA 连续的情形比离散的 ...

  8. GMM 模型与EM算法求解详细推导

    1. 高斯模型与高维高斯模型介绍 高斯模型也就是正态分布模型,该模型最早可见于我们的高中数学教材中.闻其名知其意,正态分布是自然界中普遍存在的一种分布.比如,考试成绩,人的智力水平等等.都是大致呈现为 ...

  9. 十、最大熵模型与EM算法

    一.最大熵模型 1.熵 联合熵和条件熵 相对熵 交叉熵 互信息 总结 2.最大熵模型 二.EM算法(期望最大化算法) 三.GMM 一.最大熵模型 lnx<=x−1lnx<=x−1 lnx ...

最新文章

  1. 【Spring】基于XML的IOC案例
  2. com组件和一般dll的区别
  3. HDU 4407 sum 容斥原理
  4. boost::mp11::mp_transform相关用法的测试程序
  5. 日志插件 log4net 的使用
  6. python 点云配准_点云配准(Registration)算法——以PCL为例
  7. [js] 异步请求重试策略有哪些呢?
  8. redis java 遍历key_java遍历读取整个redis数据库实例
  9. php图片上传报非法错误,老师,我在上传图片时,提示非法上传文件
  10. 嵌入式linux调试dsi,做嵌入式开发时,你是怎么实现LCD显示的?
  11. Hive利用正则Serde导入文件
  12. ZZULIOJ1036
  13. 对不起,免费午餐现在只提供稀饭了-- MSN停止支持对第三方软件的登录请求
  14. R语言|plot和par函数绘图详解,绘图区域设置 颜色设置 绘图后修改及图像输出
  15. 从铁路订票系统问题看应用监控的作用
  16. LeetCode 第35题 搜索插入位置 做题记录
  17. 将两个递增的有序链表合并成一个递增的有序链表(CPP版)
  18. 学编程好比学游泳——欠炼
  19. hssfrow 单元格样式_POI设置Excel单元格样式
  20. 基于Modbus RTU 485通信协议实现对PH、溶解氧传感器的数据采集

热门文章

  1. 【python笔记】可迭代对象和迭代器
  2. RTMPdump 使用说明
  3. Flex+BlazeDs+Java的教程及Demo
  4. 职高计算机应用项目教程教案,高职院校计算机应用基础教学设计
  5. 数据库操作 linq php,.NET_asp.net使用LINQ to SQL连接数据库及SQL操作语句用法分析,本文实例讲述了asp.net使用LINQ t - phpStudy...
  6. K8S 使用 SideCar 模式部署 Filebeat 收集容器日志
  7. php整形数组求里面的质数,PHP实现的分解质因数操作示例
  8. mysql 2100_mysql增量备份与恢复实战
  9. 专升本计算机专业是理工类吗,理工类专接本有些专业
  10. 计算机网络交换机组网及虚拟局域网实验报告,计算机网络实验报告材料(虚拟局域网).doc...