EM算法通过搜寻E [ lnP(Y | h’)]最大的h’来寻找极大似然假设h’。此期望值是在Y所军训的概率分布上计算,此分布由未知参数θ确定。考虑此表达式究竟意味了什么。首先,P(Y | h’)是给定假设h’下全部数据Y的似然度,其合理性在于我们要寻找一个h’使该量的某函数值最大化。其次,使该量的对数lnP(Y | h’)最大化也是P(Y | h’)最大化,如已经介绍过的那样。第三,引入期望值E [ lnP(Y | h’)] 是因为全部数据Y本身也是一个随机变量。已知全部数据Y是观察到的X和未观察到的Z的合并,我们必须在未观察到的Z的可能值上取平均并以相应的概率为权值。换言之,要在随机变量Y遵循的概率分布上取期望值E [ lnP(Y | h’))。该分部由完全已知的X值加上Z服从的分布来确定。
Y遵从的概率分布是什么呢?一般来说不知道此分布,因为它是由待估计的θ参数确定的。然而,EM算法使用其当前的假设h代替实际参数θ,以估计Y的分布。现定义一个函数Q(h’ | h),它将E [ lnP(Y | h’)]作为h’的一个函数给出,在θ = h和全部数据Y的观察到的部分X的假定之下。
Q(h’ | h)= E [ lnP(Y | h’)| h,X ]
将Q函数写成Q(h’ | h)是为了表示其定义是在当前假设h等于θ的假定下。在EM算法的一般形式里,它重复一下两个步骤直至收敛。
步骤1:估计(E)步骤:使用当前假设h和观察到的数据X来估计Y上的概率分布以计算Q(h’ | h)。
Q(h’| h)= E [ lnp(Y | h’)| h,X ]
步骤2:最大化(M)步骤:将假设h替换为使Q函数最大化的假设h’:
h ← argh’maxQ(h’ | h)
当函数Q连续是,EM算法收敛到似然函数P(Y | h’)的一个不动点。若此似然函数有单个的最大值时,EM算法可以收敛到这个对h’的全局的极大似然估计。否则,它只保证收敛到一个局部最大值。因此,EM与其他最优化方法有同样的局限性如梯度下降、线搜索和共轭梯度等。