期望最大画算法被称为机器学习十大算法之一,它主要从不完整的数据中计算最大似然估计。它是隐马尔可夫(HMM)等算法的基础,广泛应用于自然语言处理中。
EM算法是一种迭代优化策略,每一次迭代都分为两步:期望步(E)和极大步(M)。
EM算法都到缺失思想影响,最初是为了解决数据缺失情况下的参数估计问题。其基本思想为:
首先根据已经给出的观测数据,估计模型参数的值;
然后再通过此参数值估计缺失数据的值;
再根据估计出的缺失数据加上已经给出的观测数据,重新估计模型参数的值;
反复迭代,直至收敛。
随着理论的发展,EM算法已经不单单用于处理缺失数据的问题,有时并非是真的缺少了,而是为了简化问题而采取的策略,这时EM算法被称为数据添加技术,所添加的数据通常被称为潜在数据,而复杂的问题往往都是通过引入潜在数据而造成的。
介绍EM算法前,我们需要了解极大似然估计和Jensen不等式。
- 极大似然估计
举例说明,我们需要调查学校的学生身高分布。假设他们的身高服从正态分布,但其均值和方差我们不知道(这两个参数就是我们要估计的),记为。
问题为:我们知道样本所服从的概率分布模型和一些随机抽取的样本,我们需要求解该模型的参数。
问题数学化:设样本集,其中N为100。为概率密度函数,表示第i个学生的概率。由于样本之间相互独立,所以同时抽到这100个学生的概率就是他们各自概率的乘积,记为:,这个概率反映了再概率密度函数的参数为时,得到X这组样本的概率。使得似然函数最大的值为最大似然估计量。
求最大似然估计量的步骤为:
先取对数:,再求导,令导数为0。
- Jensen不等式
如果f为凸函数,X为随机变量,那么,仅当X为常数时,不等式取等号。
- EM算法详解
问题描述:我们目前有100个男生和100个女生的身高,共200个数据,但是我们不知道这200个数据中哪个是男生的身高,哪个是女生的身高。假设男生、女生的身高分别服从正态分布,则每个样本是从哪个分布抽取的,我们目前是不知道的。这个时候,对于每一个样本,就有两个方面需要猜测或者估计: 这个身高数据是来自于男生还是来自于女生?男生、女生身高的正态分布的参数分别是多少?EM算法要解决的问题正是这两个问题。