add EM algorithm derivation