EM算法简介及其例子
本篇博客内容主要来自英文维基百科(点击访问维基百科)
####EM算法简介 EM(expectation-maximization)算法是统计学中求统计模型的最大似然和最大后验参数估计的一种迭代式算法,模型一般是依赖于不可观测的潜在变量。EM迭代算法交替E步(使用当前参数创造一个log-likelihood函数,并求期望)和M步(求使得E步骤log-likelihood函数期望最大的参数)。然后M步参数估计的结果用作下一个E步骤中潜在变量的分布。
EM算法是1977年Arthur等人的论文。EM算法通常是用来寻找一个统计模型中最大似然参数的。通常这些模型都是涉及到一些无法观测的未知量以及可观测的数据。也就是说,要么数据中包含丢失的值,要么模型的存在要依赖于其他因变量的存在。比如,一个混合模型可以假设每个观测值都与一个相关的但却无法观测的隐变量相关,该隐变量是确定当前观测值属于哪个混合部分的变量。
使用极大似然估计的方法求解后验概率通常需要我们推导关于所有未知变量、因变量参数等的似然函数,同时需要能求解该函数。在带有因变量的统计模型中,这通常都不可能。该似然函数的结果通常都依赖于隐变量的值,也就是说求解该似然函数需要知道因变量结果,而求解因变量的结果又依赖于该似然函数。正常情况下,这是无法得到结果的。而EM算法的来源是作者观察到如下的情况可以解决这些问题。即我们可以先任意对一种未知变量任意赋值,然后利用这个值去求解另一个变量,再用求到的结果反过来求事先任意赋值的变量。如此交替循环直到二者的结果基本不变为止。虽然这个方法并不总是奏效,但是可以证明的是,在二者几乎不变的情况下,似然函数的结果要么是最大值要么是鞍点(saddle point)。一般情况下,我们可能能发现多个最大值,
