EM算法
Jensen不等式
其实Jensen不等式正是我们熟知的convex函数和concave函数性质,对于convex函数,有
[lambda f(x) + (1-lambda)f(y)ge f(lambda x + (1-lambda)f(y)), where 0lelambdale 1
]
推广一下,便有
[f(sum_{i=1}^nlambda_ix_i)lesum_{i=1}^nlambda_if(x_i), where sum_{i=1}^nlambda_i = 1
]
这就是Jensen不等式,写成期望的形式便有
[f(E(x))le E(f(x))
]
对于concave函数,只需不等号反向,因为对convex函数取负得到的是concave函。
EM算法推导
我们的目的是最大化似然函数(P(X| heta)),为了计算方便,取对数,得到
[L( heta)=ln P(X| heta)
]
假设我们已知( heta^n),现在要求新的( heta),为了极大化似然函数,我们期望最大化
[max(L( heta)-L( heta'))
]
于是有
[egin{align*}
L( heta) - L( heta') &= logleft(sum_ZP(Y|Z, heta)P(Z| heta)
ight) - log P(Y| heta')\
&= logleft(sum_ZP(Z|Y, heta')dfrac{P(Y|Z, heta)P(Z| heta)}{P(Z|Y, heta')}
ight) - log P(Y| heta')\
&ge sum_ZP(Z|Y, heta')logdfrac{P(Y|Z, heta)P(Z| heta)}{P(Z|Y, heta')} - log P(Y| heta')\
&= sum_ZP(Z|Y, heta')logdfrac{P(Y|Z, heta)P(Z| heta)}{P(Z|Y, heta')} - log P(Y| heta')sum_ZP(Z|Y, heta')\
&= sum_ZP(Z|Y, heta')log P(Y|Z, heta)P(Z| heta) - log P(Y| heta') - sum_ZP(Z|Y, heta')log P(Z|Y, heta')
end{align*}
]
后面两项是常数项,去掉还是等价的。于是便有
[egin{align*}
argmax_ heta L( heta) - L( heta') &= argmax_ hetasum_ZP(Z|Y, heta')log P(Y|Z, heta)P(Z| heta) \
&- log P(Y| heta') - sum_ZP(Z|Y, heta')log P(Z|Y, heta')\
&= argmax_ hetasum_ZP(Z|Y, heta')log P(Y|Z, heta)P(Z| heta)\
&= argmax_ heta sum_ZP(Z|Y, heta')log P(Y,Z| heta)
end{align*}]
上面这种形式是采用李航的《统计学习方法》中的形式,与PRML中的形式初看有些不一样,我们只需要把最初的(P(Y|Z, heta)P(Z| heta))替换为(P(Y,Z| heta))就一样了。