ML可以进行参数估计L(a) = Pr(X|a),则a = argmax L(a) = argmaxPr(X|a)
求解时,如果 X与 参数(model)关系 比较简单,比如X直接由 高斯分布, bonuli 分布等产生,这种情况下,给定 model 以及相应的观察数据,来估计 model 的参数 a 时,比较简单,直接可以计算 P(X|a) ,最大化后求出 a 值。
但是如果input和Output之间没有必然的联系,也就是说无法直接计算p(X|a)时,就需要EM算法,EM是用来计算ML的一种算法框架。
EM算法相当于在input 和output之间增加了一个中间层Z(latent layer),明确Pr(X,Z|a),X, Z的联合概率以及 posterior distribution P(Z|X,a),p(z|X,a)可以用贝叶斯概率计算出来。
基本推导过程如下,详细了解请看:The Expectation Maximization Algorithm A short tutorial