这一段来源于WIKI百科:
In statistics, an expectation–maximization (EM) algorithm is an iterative method to find maximum likelihood or maximum a posteriori (MAP) estimates of parametersin statistical models, where the model depends on unobserved latent variables.
NOTE:(chen)
model depends on, 是不是可以认为是model的参数depends on?
在统计学中,EM算法是一种迭代算法,它可以找到统计学模型中的《参数》的最大似然概率(最大似然概率实际上是最大的后验概率)。而这种统计学模型依赖于 未观测 到的隐变量。
注:也就是说,我们的数据观测的是不充分的。
我们要求在观测数据不充分的情况下,统计模型的参数。
并且,我们只是用高斯混合来解释EM算法,但是这并不意味着EM算法只能应用在高斯混合分布上。
实际上,对于求解包含有隐变量的统计模型的参数估计的问题时,就可以考虑使用EM算法。
再好好理解一下什么是隐变量:
比如高斯 混合 模型里面的,每一个样本是来源于哪一个高斯分布;
或者是ibm model里面的, alignment。
该组数据,x是实际观测到的数据,z是未观测到的数据。
那么在使用模型p对这些数据进行建模时,
目的是要求得这些模型的参数。
而问题是,由于隐变量Z的存在,不方便对模型的参数进行评估啊
那怎么办?这是EM算法想要解决的问题。
Intuiation:
首先说说,如何求不带隐变量的模型的参数。怎么求统计模型的参数呢?
最大似然估计啊!
比如使用Logistic 回归模型来分类垃圾短信,如果认为 Logistic回归模型是一个系统的话,那么这个系统的参数怎么估计呢?
可以通过样本,应用梯度下降算法来估计系统(Logistic 模型)的参数
估计好了系统的参数之后,如果来了未知样本,那么把未知样本送到系统中去,那就可以得到新的系统的预测值。这就是一个模型啊~
或者,
例如给定某个系统的若干样本x, 计算该系统的参数。
比如某2个系统是,从男生和女生随机抽取一些人出来,记录每一个学生的身高,
假设男生身高和女生身高分别服从两个高斯分布;那么已经知道所有男生的身高、所有女生的身高的情况之下,
就可以分别计算出男生总体的身高均值、方差,女生总体的均值、方差
为什么叫"求带隐变量的分布"?
但问题是,男生和女生的身高数据已经混合在一起了,并不知道哪一条身高数据,来源于男生 ,还是女生。
此时怎么办?
在继续之前,我们还要明确一下,此时这个“系统”的参数是哪些。
下面的启示来源于wiki百科:
Examples
Gaussian mixture
Comparison of k-means and EM on artificial data visualized with ELKI. Using the variances, the EM algorithm can describe the normal distributions exactly, while k-means splits the data in Voronoi-cells. The cluster center is indicated by the lighter, bigger symbol.