EM算法及其推广的要点

1.EM算法是含有隐变量的变量的概率模型极大似然估计或极大后验概率估计的迭代算法,含有隐变量的概率模型的数据表示为$P(Y,Z|\theta)$.这里,$Y$是观测变量的数据,$Z$是隐变量的数据,$\theta$是模型参数。EM算法通过迭代求解观测数据的对数似然函数$L(\theta)=logP(Y|\theta)$的极大化,实现极大似然估计。每次迭代包括两步:E步,求期望,即求$logP(Y|\theta)$关于$P(Y|\theta^{(i)})$的期望:

$Q(\theta,\theta^{(i)})=\sum_{Z}logP(Y,Z|\theta)P(Z|Y,\theta^{(i)})$

称为Q函数,这里$\theta^{(i)}$是参数的现现估计值;M步,求极大,即极大化Q函数得到参数的新估计值:$\theta^{(i+1)}=arg~max_{\theta}Q(\theta,\theta^{(i)}) $

在构建具体的EM算法时,重要的是定义Q函数,每次迭代中,EM算法通过极大化Q函数来增大对数似然函数$L(\theta)$.

2.EM算法在每次迭代后均提高观测数据的似然函数值,即:$P(Y|\theta^{(i+1)})\geq P(Y|\theta^{(i)})$

在一般情况下EM算法是收敛的,但是不能保证收敛到全局最优。

3.EM算法应用及其广泛,主要应用于含有隐变量的概率模型的学习,高斯混合模型的参数估计是EM算法的一个重要的应用,下一章节主要介绍隐马尔可夫模型的非监督学习也是EM散发的一个重要的应用。

4.EM算法还可以解释为F函数的极大-极大算法,EM算法有许多的变形,如GEM算法,GEM算法的特点是每次迭代增加F函数值,从而增加似然函数值。

时间: 2024-11-06 10:52:45

EM算法及其推广的要点的相关文章

统计学习方法 李航---第9章 EM算法及其推广

第9章 EM算法及其推广 EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计.EM算法的每次迭代由两步组成:E步,求期望(expectation):M步,求极大( maximization ),所以这一算法称为期望极大算法(expectation maximization algorithm),简称EM算法. 9.1  EM算法的引入 一般地,用Y表示观测随机变量的数据,Z表示隐随机变量的数据.Y和Z连在一起称为完全数据( c

《统计学习方法》:EM算法重点学习以及习题。

适用场景:有隐变量的时候特别适用. EM算法主要分为两个步骤:E步和M步. 输入:选择参数的初值theta,进行迭代. E步: 每次迭代改变初值.定义Q函数.Q函数为迭代的期望值. M步: 求使E步得到的Q函数最大的theta值. 最后,重复进行E步和M步.直到最终theta值变化较小,即为收敛为止. 注意:初值为算法的选择尤为重要.初值的选择会影响结果. EM算法得到的估计序列能够最终收敛得到结果.但是收敛得到的结果并不能保证能够收敛到全局最大值或者局部最大值. EM算法在两个方面极其有用:在

机器学习笔记(十)EM算法及实践(以混合高斯模型(GMM)为例来次完整的EM)

今天要来讨论的是EM算法.第一眼看到EM我就想到了我大枫哥,EM Master,千里马,RUA!!!不知道看这个博客的人有没有懂这个梗的.好的,言归正传,今天要讲的EM算法,全称是Expectation maximization,期望最大化.怎么个意思呢,就是给你一堆观测样本,让你给出这个模型的参数估计.我靠,这套路我们前面讨论各种回归的时候不是已经用烂了吗?求期望,求对数期望,求导为0,得到参数估计值,这套路我懂啊,MLE!但问题在于,如果这个问题存在中间的隐变量呢?会不会把我们的套路给带崩呢

EM算法(1):K-means 算法

目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法详解 EM算法(1) : K-means算法 1. 简介 K-means算法是一类无监督的聚类算法,目的是将没有标签的数据分成若干个类,每一个类都是由相似的数据组成.这个类的个数一般是认为给定的. 2. 原理 假设给定一个数据集$\mathbf{X} = \{\mathbf{x}_1, \mathbf{x}_2,...,\mathbf{x}_N \}$, 和类的个数K.我们的每个类都用一个中心点$

EM算法(3):EM算法详解

目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法详解

EM算法 大白话讲解

假设有一堆数据点,它是由两个线性模型产生的.公式如下: 模型参数为a,b,n:a为线性权值或斜率,b为常数偏置量,n为误差或者噪声. 一方面,假如我们被告知这两个模型的参数,则我们可以计算出损失. 对于第i个数据点,第k个模型会预测它的结果 则,与真实结果的差或者损失记为: 目标是最小化这个误差. 但是仍然不知道具体哪些数据由对应的哪个模型产生的. 另一方面,假设我们被告知这些数据对应具体哪个模型,则问题简化为求解约束条件下的线性方程解 (实际上可以计算出最小均分误差下的解,^-^). 这两个假

EM算法(2):GMM训练算法

目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法详解

EM算法的思考

参考文献1: http://blog.sina.com.cn/s/blog_6c7b434d01013zwe.html 参考文献2: http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html EM算法这个烦人的东西,之前看懂了,现在又忘的一塌糊涂,竟然短路.之前那篇博客写得乱七八糟.现在重新理一遍. 首先,用李航的证明方法(不推荐). 齐次,我们根据NG的: 例子参见文献1.

混合模型和EM算法

1. k-means算法 k-means算法的loss function 可写成 其中,为指示变量,代表数据n被指派到类k,为类k的均值.k-means算法的核心为找到和以最小化loss function.优化方法为交替优化,先基于优化J,保持不变.同样基于优化J,不变.这两个阶段分别被称作EM算法的E(expectation) 步和M(maximization)步. 具体步骤为: (1)数据指派到最近的聚类中心,确定,以最小化J: (2)对J基于求导,得到,即为指派到聚类k的数据点的均值. k