关闭

<机器学习练习>EM算法

365人阅读 评论(0) 收藏 举报
分类:

一:EM算法介绍

1)算法解释
Expectation-maximization algorithm,期望最大化算法。用于含有不可观察的隐形变量的,概率模型中,并利用参数最大似然估计。

2)计算思想:

因为模型包含隐含的变量,可以看作参数A,同样的对于要估计的其他参数可以看作B,知道B,可以给出求出A,同样的知道A,可以给出最优的参数B。EM算法就是,先假设已知参数B,然后求出A,再用求出的A,去得到新最优B。有点类似于交替方向法。一直到收敛为止。这就涉及到算法收敛性问题。

3)最大似然估计介绍

举例:假设我们需要调查我们学校的男生和女生的身高分布。你在校园里随便地活捉了100个男生和100个女生。男左女右,首先统计抽样得到的100个男生的身高。假设他们的身高是服从高斯分布的。但是这个分布的均值和方差,我们不知道,这两个参数就是我们要估计的。

所有的男生身高服从高斯分布p(xi|θ)=N(μ,σ),且相互独立,现在我们有{x1,x2,x3,…xn}这么多样本,则这么多样本的联合概率密度函数,即其似然函数为
L(θ)=L(x1,x2xn|θ)=ni=1p(xi|θ)
因为这些样本被选中,出现了,那么我们就应该找到最好的参数θ,使得似然函数尽可能的大,也就是尽可能的这100个样本都能选中。那么怎么求最好的参数呢,一般的处理方法是对似然函数取对数,然后求导,令其等于0即可。

所以最大似然函数估计,其思想是:已知某个参数能使这些样本出现的概率最大,我们就没必要去选别的参数,直接把这个参数作为估计的真实值。

4)EM思想介绍:
上例是:我们已知了,这堆样本是属于男生身高的,那堆样本属于女生身高的,所以直接可以利用最大似然估计进行参数的求解。
如果,这两堆样本混到一起,不能分清哪些样本属于男生,哪些样本属于女生,那么应该怎么来估计参数呢?

E步:首先分别假定,男生,女生的正态分布参数:均值和方差。然后把这200个样本,进行分类,对于每个样本当然是分别带入男女概率密度函数里面,求得概率,概率大的属于那一类。
M步:当这些样本经过E步,已经分了两类,一类属于男生,一类属于女生,然后按照最大似然估计,分别求出男生,女生的正态分布参数:均值和方差。当没达到收敛条件时,把参数:均值和方差,带入E步,对样本进行分类。然后再进行M步。直到收敛。

二:EM算法理论

按照上述的理解:对于样本{x1,x2,…xn}。目的是求参数,使得其联合概率密度函数或者说似然函数最大化。其最大似然函数如下:
这里写图片描述

不能直接求导进行计算有两方面:
1:即使取对数后进行求导,依然很难得到解析解。因为式子太过复杂
2:包含隐含的参量,使问题变的复杂。
接下来处理的方法是引用一个新的概率变量:隐含变量z的分布Qi。对于上例可知,隐含的分布是二项分布伯努力分布。
接着对上述问题进行计算:
这里写图片描述
其中最后一项不等式有 Jensen不等式给出。
可以看到,目的是对最大似然取最大,现在只有当其下界不断的增大,不断的进行逼近最大似然值。下界怎么能不断的增大呢,这其实就涉及到EM算法的E步了,不断的调整隐含变量的分布概率值和样本的分布概率值,从而达到逼近下界。

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21013次
    • 积分:369
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:0篇
    • 译文:0篇
    • 评论:10条
    文章分类
    最新评论