EM算法
2015-04-17 14:54
134 查看
概率模型有时既含有可观测变量也会隐含变量,当所有变量都是可观测的,则一般的MLE或MAP方法可以估计出模型参数。但是当模型中存在隐含变量时,无法用MLE和MAP直接估计出模型参数,这时就要使用到EM算法。
EM算法:
用Y表示观测随机变量数据(不完全数据),Z表示隐随机变量数据,Y和Z合在一起称为完全数据。
给定观测数据Y,则其概率分布为:
,其中
是需要估计的模型参数,那么
其实就是Y的似然函数。对数似然函数为:
。在这里可以看出如果Y是完全数据,也就是不存在隐数据Z,则可以直接使用MLE估计出
。虽然我们的模型中多了隐数据Z,但是我们的目标还是一样的,即极大化
。
假设Y和Z的联合概率分布为:
,则完全数据的对数似然函数为:
。
EM算法通过迭代的方式求
的极大似然估计,每次迭代包含两步:
E步:求期望;
M步:极大化。
输入:观测变量Y,隐变量Z,联合分布
,条件分布
。
、
表示对模型的一些假设,即数据Y、Z满足什么样的分布。
输出:模型参数
。
(1)选择参数的初值
。
(2)E步:设
为第i次迭代的参数
的估计值,在第i+1次迭代的E步,计算:
(该公式可以通过期望的公式推导)
这个公式被称为Q函数,是EM算法中最重要的一步!
Q函数:完全数据的对数似然函数
关于在给点观测数据Y和当前参数
下对隐数据的条件概率分布
的期望称为Q函数。
(3)M步:求使
极大化的
,确定第i+1次迭代的参数估计值
:
(其中
是变量,找到可以使
最大的
就是
)
(4)重复第(2)步和di(3)步,直至收敛。
上述过程就是EM算法的流程。EM算法有效的原因就是通过E步和M步可以保证
,当取等号时收敛,并且EM只能保证可以找到
的局部极大值,而不一定是全局极大值。
至于为什么EM算法有
的性质,需要使用Jensen不等式进行证明!
下面说一个包含隐变量的例子,并且可以使用EM算法解决。
有三枚硬币,分别为A、B、C。这些硬币正面朝上的概率为a、b、c。进行如下抛硬币实验:先抛A,根据结果抛B或C,如果A为正面抛B,如果A为反面抛C。记录B和C的结果。
在上面的实验中,抛B和C的结果是可观测变量(但不知道哪些是B哪些是C);而A的结果是隐变量。
该问题可以用EM算法估计出a、b、c的值。
EM算法对初值是敏感的,即使用不同的初值,最后得到的结果可能是不同的!
EM算法:
用Y表示观测随机变量数据(不完全数据),Z表示隐随机变量数据,Y和Z合在一起称为完全数据。
给定观测数据Y,则其概率分布为:
,其中
是需要估计的模型参数,那么
其实就是Y的似然函数。对数似然函数为:
。在这里可以看出如果Y是完全数据,也就是不存在隐数据Z,则可以直接使用MLE估计出
。虽然我们的模型中多了隐数据Z,但是我们的目标还是一样的,即极大化
。
假设Y和Z的联合概率分布为:
,则完全数据的对数似然函数为:
。
EM算法通过迭代的方式求
的极大似然估计,每次迭代包含两步:
E步:求期望;
M步:极大化。
输入:观测变量Y,隐变量Z,联合分布
,条件分布
。
、
表示对模型的一些假设,即数据Y、Z满足什么样的分布。
输出:模型参数
。
(1)选择参数的初值
。
(2)E步:设
为第i次迭代的参数
的估计值,在第i+1次迭代的E步,计算:
(该公式可以通过期望的公式推导)
这个公式被称为Q函数,是EM算法中最重要的一步!
Q函数:完全数据的对数似然函数
关于在给点观测数据Y和当前参数
下对隐数据的条件概率分布
的期望称为Q函数。
(3)M步:求使
极大化的
,确定第i+1次迭代的参数估计值
:
(其中
是变量,找到可以使
最大的
就是
)
(4)重复第(2)步和di(3)步,直至收敛。
上述过程就是EM算法的流程。EM算法有效的原因就是通过E步和M步可以保证
,当取等号时收敛,并且EM只能保证可以找到
的局部极大值,而不一定是全局极大值。
至于为什么EM算法有
的性质,需要使用Jensen不等式进行证明!
下面说一个包含隐变量的例子,并且可以使用EM算法解决。
有三枚硬币,分别为A、B、C。这些硬币正面朝上的概率为a、b、c。进行如下抛硬币实验:先抛A,根据结果抛B或C,如果A为正面抛B,如果A为反面抛C。记录B和C的结果。
在上面的实验中,抛B和C的结果是可观测变量(但不知道哪些是B哪些是C);而A的结果是隐变量。
该问题可以用EM算法估计出a、b、c的值。
EM算法对初值是敏感的,即使用不同的初值,最后得到的结果可能是不同的!
相关文章推荐
- EM算法入门相关文章翻译与总结-2
- EM算法学习笔记_2(opencv自带EM sample学习)
- GMM的EM算法实现
- EM算法应用到 因子分析
- 统计学习方法笔记--EM算法--三硬币例子补充
- EM算法
- (EM算法)The EM Algorithm
- 朴素贝叶斯算法matlab实现以及EM算法
- 从最大似然到EM算法浅解
- GMM的EM算法实现
- (EM算法)The EM Algorithm
- GMM的EM算法实现
- 概率语言模型及其变形系列-PLSA及EM算法
- 从最大似然到EM算法浅解-简单易懂难得的好文章
- EM算法学习笔记_2(opencv自带EM sample学习)
- EM算法
- (EM算法)The EM Algorithm
- 关于机器学习-EM算法新解
- EM算法追根溯源
- 从最大似然估计法到EM算法