EM Algorithm EM算法
EM algorithm is a iterative optimazation algorithm. EM is the abbreviation of expectation maximization. EM do not apply for all the optimization problems.
Remember! EM always converge but it can be a local optima.
EM applys for GMM, K-Means clustering, HMM, etc.
Jensen’s Inequality
convex function f,f′′>0; concave function f,f′′<0
E[f(x)]≥f(E[x]) f is convex
E[f(x)]≤f(E[x]) f is concave
If and only if x is constant equal sign is taken.
图片来源

EM
{zi}i=1∼N — xi belongs to (zi)th distribution
Qi(zi) — the probability distribution of zi
(You can also turn zi into a vector and each dimension represents the probability.)
MLE:
l(θ)=i=1∑Nlog[zi∑P(xi,zi∣θ)]
θi — the parameter of ith iteration
randomize θ0while(!converge){ E−step: Qi(zi)=zi∑P(xi,zi∣θk)P(xi,zi∣θk) M−step: θk+1=argθmaxi=1∑Nzi∑Qi(zi)logQi(zi)P(xi,zi∣θ)}
Jensen’s inequality applys in M-step and the prove of convergence. More details