EM算法:一种极大似然参数估计方
法
报告人:林子洋
2014/03/14
Outline
Kmeans与EM算法
从最大似然说起
EM算法
思想
教师资格思想品德鉴定表下载浅论红楼梦的主题思想员工思想动态调查问卷论语教育思想学生思想教育讲话稿
与简单
证明
住所证明下载场所使用证明下载诊断证明下载住所证明下载爱问住所证明下载爱问
应用实例
Outline
Kmeans与EM算法
从最大似然估计说起
EM算法思想与简单证明
应用实例
Kmeans与EM算法
Kmeans与EM算法
1. 回到Kmeans算法想解决的初始问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,即将样本分成k个类,也就是说求
出每一个样例隐含的类别y,并将样本x进行分类。
2. 假如我们知道这k个类别的质心,那么将样本x分类就顺理成章了;或者假
如样本x是已经分好的类,我们也可以根据极大似然的思想求出每一个类
的质心。
相对应与EM算法:待估参数质心θ,指定一个初始值。
E步骤:kmeans中将样例根据欧式距离分配到每一个类中,即在当前的质
心分布情况下,期望的类别分布。
M步骤:重新计算聚类的中心,修正质心θ。
不同之处在于,EM算法给出的是样例x,属于每一个聚类的概率,而Kmeans
则是将每个样本确定地分配到某一个聚类中。所以可以知道EM算法最终得到
的也仅是局部最优解。
Kmeans与EM算法
收敛性证明与梯度下降法:
无论是修改质心 μ还是重新计算一个新的分类,以上函数的值总是下降的,
可以证明Kmeans就是一种梯度下降的优化
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
,最后可以得到一个局部最
优解。
Outline
Kmeans与EM算法
从最大似然估计说起
EM算法思想与简单证明
应用实例
从最大似然估计说起
从最大似然估计说起
应用实例:一个小黑球沿着一个三角形的木桩滚入杯子a或b中,
可建立一个概率模型,若其滚入杯子a的概率是p,则满足
B~(1,p)。
观察到的结果是X=(b,b,b,a,b,b,b,b,b,a)。小球进入a杯的概率
为p,则满足10次实验的联合概率为
为了使X发生的概率最大,可令上式的关于p的导数为0,求得
p=0.2.
Outline
Kmeans与EM算法
从最大似然估计说起
EM算法思想与简单证明
应用实例
EM算法思想与简单证明
EM算法思想与简单证明
EM算法思想与简单证明
EM算法思想与简单证明
a) EM:期望最大化
b) 构造L(θ) >= J(Q(y); θ),其中Q(y)是隐藏变量Y的分布,J(Q(y); θ)则是
关于y的某个函数g(y;θ)的期望。
c) 在给定θ = θ0下,我们可以找到一个隐藏变量Y的分布𝑄0 𝑦 ,使g(y; θ0)
的期望即 J(Q(y); θ0) = L(θ0),这一步叫做E步,我们构造了一个期望
E[g(y; θ0)],并使得其成为L(θ)的一个新的下界,即L(θ0)。
d) 在上一步得到𝑄0 𝑦 的基础上,不再固定θ = θ0,那么现在是不是可以找
到一个新的θ = θ1,使得在Y的分布为𝑄0 𝑦 的情况下E[g(y; θ)]得到最大
化,也即最大化了J(𝑄0 𝑦 ; θ);这一步叫做M步,它最大化了g(y; θ)的
期望,最终得到:
J(𝑄0 𝑦 ; θ1) >= J(𝑄0 𝑦 ; θ0) = L(θ0)
e) 又由于L(θ) >= J(Q(y); θ),因此L(θ1) >= J(𝑄0 𝑦 ; θ1) ;所以有L(θ1) >=
L(θ0),这是,我们将L(θ)的下界拉升到了J(𝑄0 𝑦 ; θ1) 。
f) 怎么构造J(Q(y); θ)?
EM算法思想与简单证明
EM算法思想与简单证明
EM算法思想与简单证明
EM算法思想与简单证明
根据Jansen不等式,等号成立的条件即随机变量为常数的时候!
EM算法思想与简单证明
EM算法思想与简单证明
Outline
Kmeans与EM算法
从最大似然估计说起
EM算法思想与简单证明
应用实例
小黑球例子的扩展
小黑球例子的扩展
其中的隐藏变量,电磁铁是否通电我不可知的,我们利用EM算法。令当前
模型的参数为为π,p,q:
E步骤:计算隐藏变量Z={电磁铁通电,电磁铁未通电}。
P(Z=电磁铁通电)的后验概率:
当然,电磁铁未通电的概率即 (1−μ)。
M步骤:在以上概率下求期望函数的最大值:
小黑球例子的扩展
R语言代码实现:
小黑球例子的扩展
运行结果!
小黑球例子的扩展
运行结果!
GMM高斯混合模型
GMM高斯混合模型
GMM高斯混合模型
首先,给出K个类每一个高斯分布的初始值,他们的均值方差以及出现的概率,根
据条件概率和全概率公式,计算出每一个观测到的样本属于类别k的概率:
E步骤:
GMM高斯混合模型
首先,给出K个类每一个高斯分布的初始值,他们的均值方差以及出现的概率,根
据条件概率和全概率公式,计算出每一个观测到的样本属于类别k的概率:
E步骤:
M步骤:
GMM高斯混合模型
假设全校的男生身高服从正态分布N(1.7,0.08),女生身高服从分布N(1.6,0.07),
男女比例为45:55,从中随机取出128个样本,要求从这个128个样本中估计总体
的分布和那女比例:
代码: 生成随机样本
GMM高斯混合模型
代码: EM算法参数估计
GMM高斯混合模型
运行结果:
GMM高斯混合模型
运用K-means算法:
运行结果:
R以及Python中的包
a) R和Python中均有对特定模型的包,例如上面的GMM-高斯混合模型等等,其
中的程序设计有用到EM算法。
b) 如果把EM算法视为一种参数估计的具体方法,那么它之于参数估计恰如快排
等对于排序算法,在Python中排序的时候我们仅调用sorted()函数,具体使用
哪种方法对程序员是透明的。
c) 在Python和R中都有参数估计的包,其中可能会用到EM算法。
d) R: library(bbmle) 或 library(maxLik)
e) Python: from scipy.optimize import minimize
大致看了一下scipy的代码实现,看起来像是用梯度下降或者EM算法。
Thanks !
Q & A