期望最大化EM算法笔记
首先要明确的概念:
先验概率:单一事件发生的概率P(A),P(B),P(C)
后验概率:P(A/D),P(B/D),P(C/D)
极大似然概率:P(D/A),P(D/B),P(D/C)中最大的那个
条件概率:P(A/D) = P(AD) / P(D)
贝叶斯公式:计算条件概率的大小P(B/A) = P(A/B) * P(B) / P(A)
=========================================================================
EM算法称为期望最大化算法(Expectation Maximization Algorithm),由名字就可以看出,它的算法思想很简单,基本来说由两步组成
- E步:求期望(Expectation)
- M步:求极大(Maximization)
应用场景:EM算法用于含有隐变量的概率模型中的极大似然估计
概率模型是含有观测变量和隐含变量的模型,对于只含有观测变量的模型,我们采用最大似然估计或者贝叶斯估计即可得到待测变量的概率,但是当模型中含有隐含变量的时候就不得不采用EM
比如常见的三硬币模型以及高斯混合模型的参数估计
==================================================================
假设给定的训练样本是
,样例间独立,我们想找到每个样例隐含的类别z,能使得p(x,z)最大。p(x,z)的最大似然估计如下:
使得事件发生概率的极大似然估计值最大,假设样本隐含标签z满足Qi分布,,
满足的条件是![]()
(如果z是连续性的,那么
是概率密度函数,需要将求和符号换做积分符号)。比如要将班上学生聚类,假设隐藏变量z是身高,那么就是连续的高斯分布。如果按照隐藏变量是男女,那么就是伯努利分布了。
可以由前面阐述的内容得到下面的公式:
把(2)-(3)变换过程可以看作是对
求了下界。对于
的选择,有多种可能,那种更好的?
假设
已经给定,那么
的值就决定于
和
了。我们可以通过调整这两个概率使下界不断上升,以逼近
的真实值,那么什么时候算是调整好了呢?当不等式变成等式时,说明我们调整后的概率能够等价于
了。按照这个思路,我们要找到等式成立的条件。根据Jensen不等式,要想让等式成立,需要让随机变量变成常数值,这里得到:
c为常数,不依赖于
。对此式子做进一步推导,我们知道
,那么也就有
,(多个等式分子分母相加不变,这个认为每个样例的两个概率比值都是c),那么有下式:
至此,我们推出了在固定其他参数
后,
的计算公式就是后验概率,解决了
如何选择的问题。这一步就是E步,建立
的下界。接下来的M步,就是在给定
后,调整
,去极大化
的下界(在固定
后,下界还可以调整的更大)。那么一般的EM算法的步骤如下:
|
循环重复直到收敛 { (E步)对于每一个i,计算 (M步)计算 |
EM算法:
输入: 观测变量数据Y,隐变量数据Z,联合分布P(Y,Z|Θ)P(Y,Z|Θ),条件分布P(Z|Y,Θ)P(Z|Y,Θ);
输出: 模型参数Θ。
(1) 选择参数的初始值Θ(0),开始迭代。
(2) E步:记Θ(i)为第i次迭代参数Θ的估计值,在第i+1次迭代的E步,计算 Q(Θ,Θ(i))=Ez[logP(Y,Z|Θ)|Y,Θ(i)]=∑zlogP(Y,Z|Θ)P(Z|Y,Θ(i))Q(Θ,Θ(i))=Ez[logP(Y,Z|Θ)|Y,Θ(i)]=∑zlogP(Y,Z|Θ)P(Z|Y,Θ(i))
posted on 2018-04-12 16:34 super_star123 阅读(161) 评论(0) 收藏 举报





浙公网安备 33010602011771号