简单易学的机器学习算法——EM算法 一、机器学习中的参数估计问题 二、EM算法简介 三、EM算法推导的准备 四、EM算法的求解过程 五、EM算法的收敛性保证 六、利用EM算法参数求解实例

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

简单易学的机器学习算法——EM算法

    在前面的博文中,如“简单易学的机器学习算法——Logistic回归”中,采用了极大似然函数对其模型中的参数进行估计,简单来讲即对于一系列样本简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,Logistic回归问题属于监督型学习问题,样本中含有训练的特征简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例以及标签简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,在Logistic回归的参数求解中,通过构造样本属于类别简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例和类别简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的概率:

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

这样便能得到Logistic回归的属于不同类别的概率函数:

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

此时,使用极大似然估计便能够估计出模型中的参数。但是,如果此时的标签简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是未知的,称为隐变量,如无监督的学习问题,典型的如K-Means聚类算法,此时不能直接通过极大似然估计估计出模型中的参数。

二、EM算法简介

    在上述存在隐变量的问题中,不能直接通过极大似然估计求出模型中的参数,EM算法是一种解决存在隐含变量优化问题的有效方法。EM算法是期望极大(Expectation Maximization)算法的简称,EM算法是一种迭代型的算法,在每一次的迭代过程中,主要分为两步:即求期望(Expectation)步骤和最大化(Maximization)步骤。

三、EM算法推导的准备

1、凸函数

    设简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是定义在实数域上的函数,如果对于任意的实数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,都有

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

那么简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是凸函数。若简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例不是单个实数,而是由实数组成的向量,此时,如果函数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的Hesse矩阵简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是半正定的,即

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

那么简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是凸函数。特别地,如果简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例或者简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,那么称简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例为严格凸函数。

2、Jensen不等式

    如果函数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是凸函数,简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是随机变量,那么

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

特别地,如果函数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是严格凸函数,那么简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例当且仅当

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

即随机变量简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是常量。

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

(图片来自参考文章1)

注:若函数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是凹函数,上述的符号相反。

3、数学期望

3.1随机变量的期望

   设离散型随机变量简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的概率分布为:

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

其中,简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,如果简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例绝对收敛,则称简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的数学期望,记为简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,即:

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

   若连续型随机变量简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的概率密度函数为简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,则数学期望为:

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

3.2随机变量函数的数学期望

   设简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是随机变量简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的函数,即简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,若简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是离散型随机变量,概率分布为:

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

则:

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

   若简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是连续型随机变量,概率密度函数为简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,则

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

四、EM算法的求解过程

    假设简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例表示观测变量,简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例表示潜变量,则此时简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例即为完全数据,简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的似然函数为简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,其中,简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例为需要估计的参数,那么对于完全数据,简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的似然函数为简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
    构建好似然函数,对于给定的观测数据,为了估计参数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,我们可以使用极大似然估计的方法对其进行估计。因为变量简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是未知的,我们只能对简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的似然函数为简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例进行极大似然估计,即需要极大化:
简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
上述式子中无法直接对简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例求极大值,因为在函数中存在隐变量简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,即未知变量。若此时,我们能够确定隐变量简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的值,便能够求出简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的极大值,可以用过不断的修改隐变量简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的值,得到新的简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的极大值。这便是EM算法的思路。通过迭代的方式求出参数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
    首先我们需要对参数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例赋初值,进行迭代运算,假设第简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例次迭代后参数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的值为简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,此时的log似然函数为简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,即:
简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
在上式中,第二行到第三行使用到了Jensen不等式,由于log函数是凹函数,由Jensen不等式得到:
 
简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
 
简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
表示的是简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的期望,其中,简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例表示的是隐变量简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例满足的某种分布。这样,上式简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的值取决于简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的概率。在迭代的过程中,调整这两个概率,使得下界不断的上升,这样就能求得简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的极大值。注意,当等式成立时,说明此时已经等价于简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例。由Jensen不等式可知,等式成立的条件是随机变量是常数,即:
简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
已知:
简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
所以:
简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
则:
简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
至此,我们得出了隐变量简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例满足的分布的形式简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例。这就是EM算法中的E步。在确定了简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例后,调整参数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例使得简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例取得极大,这便是M步。EM算法的步骤为:
  1. 初始化参数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,开始迭代;
  2. E步:假设简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例为第简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例次迭代参数简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例的估计值,则在第简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例次迭代中,计算简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
  3. M步:求使简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例极大化的简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,确定第简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例次的参数的估计值简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

五、EM算法的收敛性保证

迭代的过程能否保证最后找到的就是最大的似然函数值呢?即需要证明在整个迭代的过程中,极大似然估计是单调增加的。假定简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是EM算法的第简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例次和第简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例次迭代后的结果,选定简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,进行迭代:
  1. E步:简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
  2. M步:简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
固定简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,将简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例看成变量:
简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
上式中,第一个大于等于是因为:
简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

六、利用EM算法参数求解实例

    假设有有一批数据简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例分别是由两个正态分布:

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

产生,其中,简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例未知,简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例。但是不知道具体的简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是第产生,即可以使用简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例表示。这是一个典型的涉及到隐藏变量的例子,隐藏变量为简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例。可以使用EM算法对参数进行估计。

  1. 首先是初始化简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
  2. E步:简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,即求数据简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例是由第简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例个分布产生的概率:简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例
  3. M步:简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例,即计算最大的期望值。然而我们要求的参数是均值,可以通过如下的方式估计:简单易学的机器学习算法——EM算法
一、机器学习中的参数估计问题
二、EM算法简介
三、EM算法推导的准备
四、EM算法的求解过程
五、EM算法的收敛性保证
六、利用EM算法参数求解实例

Python代码

[python] view plaincopy
 
  1. #coding:UTF-8  
  2. ''''' 
  3. Created on 2015年6月7日 
  4.  
  5. @author: zhaozhiyong 
  6. '''  
  7. from __future__ import division  
  8. from numpy import *  
  9. import math as mt  
  10. #首先生成一些用于测试的样本  
  11. #指定两个高斯分布的参数,这两个高斯分布的方差相同  
  12. sigma = 6  
  13. miu_1 = 40  
  14. miu_2 = 20  
  15.   
  16. #随机均匀选择两个高斯分布,用于生成样本值  
  17. N = 1000  
  18. X = zeros((1, N))  
  19. for i in xrange(N):  
  20.     if random.random() > 0.5:#使用的是numpy模块中的random  
  21.         X[0, i] = random.randn() * sigma + miu_1  
  22.     else:  
  23.         X[0, i] = random.randn() * sigma + miu_2  
  24.   
  25. #上述步骤已经生成样本  
  26. #对生成的样本,使用EM算法计算其均值miu  
  27.   
  28. #取miu的初始值  
  29. k = 2  
  30. miu = random.random((1, k))  
  31. #miu = mat([40.0, 20.0])  
  32. Expectations = zeros((N, k))  
  33.   
  34. for step in xrange(1000):#设置迭代次数  
  35.     #步骤1,计算期望  
  36.     for i in xrange(N):  
  37.         #计算分母  
  38.         denominator = 0  
  39.         for j in xrange(k):  
  40.             denominator = denominator + mt.exp(-1 / (2 * sigma ** 2) * (X[0, i] - miu[0, j]) ** 2)  
  41.           
  42.         #计算分子  
  43.         for j in xrange(k):  
  44.             numerator = mt.exp(-1 / (2 * sigma ** 2) * (X[0, i] - miu[0, j]) ** 2)  
  45.             Expectations[i, j] = numerator / denominator  
  46.       
  47.     #步骤2,求期望的最大  
  48.     #oldMiu = miu  
  49.     oldMiu = zeros((1, k))  
  50.     for j in xrange(k):  
  51.         oldMiu[0, j] = miu[0, j]  
  52.         numerator = 0  
  53.         denominator = 0  
  54.         for i in xrange(N):  
  55.             numerator = numerator + Expectations[i, j] * X[0, i]  
  56.             denominator = denominator + Expectations[i, j]  
  57.         miu[0, j] = numerator / denominator  
  58.           
  59.       
  60.     #判断是否满足要求  
  61.     epsilon = 0.0001  
  62.     if sum(abs(miu - oldMiu)) < epsilon:  
  63.         break  
  64.       
  65.     print step  
  66.     print miu  
  67.       
  68. print miu  


最终结果

[[ 40.49487592  19.96497512]]

参考文章:

1、(EM算法)The EM Algorithm (http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html)

2、数学期望(http://wenku.baidu.com/view/915a9c1ec5da50e2524d7f08.html?re=view)