看了好几天的EM算法,还是看的一头雾水。借由三硬币模型,尝试使用EM算法。
1、EM算法流程
1. E步:对完全数据的对数似然函数
log(P(Y,Z|θ))
l
o
g
(
P
(
Y
,
Z
|
θ
)
)
求关于
P(Z|Y,θ(i))
P
(
Z
|
Y
,
θ
(
i
)
)
的数学期望。
EZ|Y,θ(i)[log(P(Y,Z|θ))]
E
Z
|
Y
,
θ
(
i
)
[
log
(
P
(
Y
,
Z
|
θ
)
)
]
其中
θ(i)
θ
(
i
)
是第i次迭代时,
θ
θ
的估计值
2. M步:对E步的结果求极值
2、案例:三硬币模型
假设有3枚硬币,分别记作A,B,C。这些硬币正面出现的概率分别是 π,p,q π , p , q ,进行如下掷硬币实验:先掷硬币A,根据其结果选出硬币B或C,正面选B,反面选C,然后掷选出的硬币,掷硬币的结果,出现正面记作1,反面记作0;独立重复 n n 次实验,观测记为。
3、EM算法求解
3.1)符号标记:
yj
y
j
为第
j
j
次实验的观测
为隐变量,表示掷硬币A出现的结果。该变量只有两个取值0,1
zj
z
j
为第
j
j
次实验时,掷硬币A出现的结果,同样的,表示硬币A掷出正面
θ
θ
表示参数集合
π,p,q
π
,
p
,
q
θ(i)
θ
(
i
)
为第
i
i
次迭代时,的估计值
3.2)E-Step
完全数据的对数似然函数为:
期望为:
对于后验概率
p(zj|yj,θ(i))
p
(
z
j
|
y
j
,
θ
(
i
)
)
,此时
θ(i)
θ
(
i
)
为一个定值,对后验概率本身可以直接计算,所以可以不考虑。(不知道这样解释合不合理)
对于联合概率
p(zj,yj|θ)
p
(
z
j
,
y
j
|
θ
)
:
所以最终结果:
3.3) M-Step
3.3.1 估计参数pi
对E-Step的式子求极值,对参数求偏导,令其为0即可。其中
μ(i+1)
μ
(
i
+
1
)
为一个定值,相当于常数。
对
π
π
的求偏导:
所以 π π 的估计为:
3.3.2 估计参数p
对
p
p
求偏导:
p p 的估计为:
3.3.3 估计参数q
对
q
q
求偏导:
q q 的估计为:
4、Ending
除了求 p(zj|yj,θ(i)) p ( z j | y j , θ ( i ) ) 时, θ(i) θ ( i ) 的处理不太确定,其他的应该还算明白。
4.1 Ref
[1] 李航《统计学习方法》