1.与极大似然估计的关系:
极大似然估计:已知结果和概率分布估计概率分布的参数
θ
θ
EM算法:已知结果估计概率分布的参数
θ
θ
,EM算法是含有隐变量的概率模型参数的极大似然估计法。
一般的用Y表示观测随机变量的数据,Z表示隐随机变量的数据。Y和Z连在一起称为完全数据,观测数据Y称为不完全数据。
假设给定观测数据Y,其概率分布是P(Y |
θ
θ
), 其中
θ
θ
为要估计的模型参数,那么Y的似然函数为L(
θ
θ
) = log P(Y |
θ
θ
),假设Y和Z的联合概率分布是P(Y,Z |
θ
θ
),那么完全数据的对数似然函数是log P(Y,Z |
θ
θ
)。
例子:http://blog.csdn.net/u011300443/article/details/46763743
2. EM算法思想:
(1)选择参数的初始值
θ(0)
θ
(
0
)
,重复以下步骤
(2)E步:记
θ(i)
θ
(
i
)
为第i次迭代参数
θ
θ
的估计值,计算第i+1次的隐形变量的期望:
这是完全数据对数似然函数log P(Y,Z |
θ
θ
)关于在给定个观测数据Y和当前参数
θ(i)
θ
(
i
)
下对未观测数据Z的条件概率分布P(Y,Z |
θ(i)
θ
(
i
)
)的期望。
(3)M步:求使似然函数最大化的参数
θ(i+1)
θ
(
i
+
1
)
,
(4)重复(2)(3)直到收敛。
EM算大与初始值的选择有关,选择不同的初始值可能会有不同的参数估计值。
3. EM算法的推导:
对于一个含有隐形变量的概率模型,我们的目标是极大化不完全数据Y对于参数
θ
θ
的对数似然函数,即极大化:
我们想找到合适的
θ
θ
和z使得L(
θ
θ
) 最大,但是以往的分别对
θ
θ
和z求偏导并使其为0的方法并不适用,因为目标函数里有关于z的概率密度和,是关于z的和的对数。
EM算法是通过迭代逐步近似极大化L(
θ
θ
),我们希望第i+1次的估计值比第i次的估计值使得L(
θ
θ
)增加,并逐步达到极大值。考虑两者之差:
其中利用Jensen不等式(
log(∑ni=1xin)≥∑ni=1log(xi)n
l
o
g
(
∑
i
=
1
n
x
i
n
)
≥
∑
i
=
1
n
l
o
g
(
x
i
)
n
)进行了转换.
令
即为L(
θ
θ
)的一个下界。任何使得
B(θ,θ(i))
B
(
θ
,
θ
(
i
)
)
增大的
θ
θ
,也使得L(
θ
θ
)增大,所以问题等价为选择
θ(i+1))
θ
(
i
+
1
)
)
使得
B(θ,θ(i))
B
(
θ
,
θ
(
i
)
)
极大。
上式等价于EM算法的一次迭代。EM算法是不断求解下界的极大化来逼近求解对数似然函数的极大化。
4. EM算法直观解释:
图中上方实线为L(
θ
θ
),下方细实线为
B(θ,θ(i))
B
(
θ
,
θ
(
i
)
)
,在
θ(i)
θ
(
i
)
处两个函数相等,EM算法计算的下一个点
θ(i+1)
θ
(
i
+
1
)
使得
B(θ,θ(i))
B
(
θ
,
θ
(
i
)
)
极大化,函数
B(θ,θ(i))
B
(
θ
,
θ
(
i
)
)
的增加,保证对数似然函数L(
θ
θ
)在每次迭代中也是增加的,但是EM算法不能保证全局最优值。