EM算法详解

130 篇文章 8 订阅
订阅专栏
81 篇文章 1 订阅
订阅专栏

我们先来看一下极大似然估计,所谓的极大似然估计就是找出与样本分布最接近的概率分布模型。比如说我们抛10次硬币,它的结果是正正反正正正反反正正,假设p是每次抛硬币结果为正的概率,那么所得实验结果的概率就是

                                                      P=pp(1-p)ppp(1-p)(1-p)pp=p^7(1-p)^3

再对其取对数会得到这么一个东西:

                                                                     f(n|p)=log(p^n(1-p)^{N-n})

把它看作是p的函数就变成了:h(p),对p求偏导得到:

                                                               \frac{\varphi h(p)}{\varphi p}=\frac{n}{p}-\frac{N-n}{1-p}

然后令导数为零得到p=\frac{N}{n}。上面的例子是二项分布的,下面来看一下如果是高斯会怎么样:

                               

分别对u和sigma求偏导得出了这样的结论:

              

我们对均值的估计其实就是样本的均值,对方差的估计其实就是样本的伪方差。

下面我们就利用这样一些结论作为我们分析问题的基础,给出这样一个问题:

随机挑选10000个志愿者,并测量出了他们的身高,样本中有男性也有女性,并且已知有6000个男性和4000个女性,身高分别服从N(u_{1},\sigma_{1})N(u_{2},\sigma_{2})的分布,试估计u_{1},\sigma_{1},u_{2},\sigma_{2}。这个问题实际在做的时候还是有点麻烦的,但是如果已经事先知道男性有多少,女性有多少的时候,是比较好算的,直接带入上面的公式就行了。但现在我问题是不知道有多少男性,多少女性,以及男性和女性的数据分别是多少,现在是把他们混在一起了。这是一个高斯模型,但这高斯模型是一个混合的(GMM)高斯混合模型,那这么一个模型我们又应该怎么去处理它。当然有些时候我们是有一幅图像,将图像的前景背景分开,这样一个东西其实我们不知道样本的标记值是什么,也就是这个y值是不知道的,所以说它是一个标准的无监督学习,而且是K-Means的一个推广。

现在我们来看看它是怎么回事,首先我们吧记号先明确一下,这个样本它可能是由k个高斯分布混合得到的,然后每一个高斯分布被取到的概率分别是p_{i1},p_{i2},......p_{ik}然后共同组成了P_{I}这么一个向量。第i个高斯分布的均值我们记作u_{i},方差我们记作\sigma _i,我们刚才的那个例子里边才两个高斯分布,其实那里边就两个p_{i1}p_{i2},并且分别知道它们是0.6和0.4,在那个例子中u_i是一个数,方差是一个数,如果我们拿到一个数据均值可能不是一维的,它可能是两个数的时候,是一个二维的,那么它的方差是一个2乘2的正定的方阵。所以说我们得看样本如果是n维的,则均值是一个n维的向量,方差是一个n阶的正定方阵。

那么现在如果是给我们这样一系列样本,x1,x2,……,xn,再次强调一下我们没有说x1,x2一直到xn是几维,它可能是若干维度的。比如说我们不光拿到了身高数据还拿到了体重数据,用身高和体重去判断这个人是男性还是女性,再比如说加个腰围就变成了三维数据,我们就希望来估算P_{I},U,和\sigma。根据这样一个思路如果是采用极大似然估计来估算的话首先建立这样一个目标函数:

                                                           l_{\Pi ,\mu ,\sigma }(x)=\sum_{i=1}^{N}log\left ( \sum_{k=1}^{K}\Pi _kN(x_i|\mu _k,\sigma _k) \right )

但要注意一下哈,我们这里的\sigma变了一下,变成了方差\sigma了。我们知道N(x_i|\mu _k,\sigma _k)是某一个样本属于某一个高斯分布的概率密度。而我们知道每一个高斯分布本身是有一个概率的,比方说p_{ik}嘛,再把每一个的加起来不就是所有样本的高斯分布嘛,这个样本本身它的值是几,对吧。这样一个东西我们按道理把它从1到N乘起来就是我们的似然概率,那如果我们取对数就是对数似然,就看到了这样一个式子。如果我们按照我们刚才的那个做法,仍然是对这\Pi ,\mu ,\sigma分别求偏导的话,最后会发现0等于0。因为我们的参数太多了。因为我们没法直接去求了,就是没法直接去估计\mu ,\sigma了。怎么办呢?我们来想一件事情哈,就是我们在解决这个问题的时候我们分成两个步骤来做,分成哪两步来做呢?我们来看一下哈,我们先来想一件事,这是最直观的做法哈,就是我们先验性的给出一些东西,比如说u男它先验性的可以认为是1.80,\sigma男=10,u女=1.65,\sigma女=8,这些值不一定满足现在的样本比如x1到xn,但可以先验性的去猜一下,比如再猜pi男=pi女=0.5,也就是各自有一半。如果说我们猜到了这个值的时候,请问如果我们拿到了一个样本是1.88,那么我们怎么样来估计他属于男性的概率有多大呢。什么意思呢,就是如果这些参数都给我们了,我们想算一个事情,就是给定了一个xi=1.88,请问他的标记值等于男性的概率P(y_i=man|x_i=1.88)=?那怎么样来考察这个事情呢?那我们就分别把这1.88带进去嘛。首先就是一个是{1.80,10},一个是{1.65,8},pi1和pi2都是0.5,分别带入高斯函数求出函数值不就得到了概率了吗,假如说我们算出来分别是0.2和0.08。不要忘了这个事情哈,就是p的先验概率都是0.5,那这样一来不就是0.5*0.2/(0.5*0.2+0.5*0.8)我们不就把这个0.2做了一个归一化嘛,我们总能算出一个数来,假如算出来就是0.67,我们姑且把它记作\gamma好了,也就是1.88这个值属于男性的概率就是0.67,属于女性的概率就是0.33。我们通过猜可以算出这个值的。现在考虑这样一个东西哈,比如1.88属于男性和女性的概率分别是0.67和0.33,1.58属于男性和女性的概率分别是0.4和0.6,2.12属于男性和女性的概率分别是0.99和0.01……,1.70属于男性和女性的概率分别是0.5和0.5。我们来做一个非常数学化的一个东西,就是1.88,0.67,我们把它乘起来会得到一个数,1.88和0.33乘起来又可以得到一个东西,所有的这些数字都算出来,这些数字现在只把男性的那一部分拿出来,就是1.88这个人他可能有1.23是男性的部分,有0.65是女性的部分。我们就把男性的那部分拿出来哈,物理上每意义我们就从数学上来推导哈,我们不是做了这么一个事情嘛,这些样本就应该服从这个分布,那如此一来,就直接求这些数字的均值和伪方差就应该是\mu _1\sigma _1的估计。同理我们对\mu _2,\sigma _2,也就是女性的样本。那我们就发现我们对u_{1},\sigma_{1},u_{2},\sigma_{2}做了一次估计,估计是来自于样本的,而这些估计是来自于样本的而不是我们之前猜的,那我们拿到了这个数据之后怎么办呢?因为\mu _1可能就会变成了1.78,\sigma _1变成了9.8,\mu _2变成了1.62,\sigma _2变成了5.2,然后我们再用这个数字重新算一下1.88属于男性和女性的概率,然后又算得两个数字,再得到了\mu _1\sigma _1,我们不断地做这么一个迭代,最后总能得到u_{1},\sigma_{1},u_{2},\sigma_{2},直到它们不再发生什么变化为止也就是收敛了。但这是非常不严格的一个做法。我们先来看一下这么一个公式:

            

也就是说x_i这么一个样本已经有了,我就能算这么一个值,然后乘上它本身这么一个概率p_{ik},一共有若干个高斯分布嘛,这是某一个,它的先验概率,做一个归一化,求出的值就是第i个样本属于某一个组分它的这个概率,对吧,这个东西我们每一个样本都去求。然后呢我们要想算它的那个均值,x_i这么一个数乘以\gamma值,x_i是那个1.88,\gamma是那个0.67,它两乘起来就是就是那个男的嘛,把这些男性都加完除以男性的总的加和,得到\mu _k,用的就是极大似然估计,带进去就行了。那现在我们就来把事情做的正规一些,如果是正儿八经推导又该怎么做呢?

           

首先EM算法我们来去给出这么一个记号,这里有{x_1,x_2,......,x_m}这m个独立的样本,我们希望找出样本它服从的概率分布p(x,z),x是我们拿到的样本数据,z就是那个男性还是女性的标记,叫做隐变量,也就是我们看不到的那个变量。怎么做呢?我们试试哈,我们仍然使用极大似然估计这个手段,我们来看看这个东西本身:

                                                             l(\theta )=\sum_{i=1}^{m}logp(x,\theta )=\sum_{i=1}^{m}log\sum_zp(x,z,\theta )

这个x的概率分布是p(x)它应该有某一个参数\theta比如说GMM中这个\theta就是p_i,\mu ,\sigma,反正是一些未知的参数。对于这样一个目标函数,反正我们是需要估计\theta,而它可能还有z,非常不便于估计参数那该怎么办呢?我们来想一个办法比如说先固定一下这个z,求\theta,再固定\theta求z,不断地迭代做这个事情。

我们现在要做的事情就是找到蓝色的曲线使得在\theta_0这个地方相等,而其它地方是小于的。也就是说对r做这样一个估计就好了,因为f不仅有\theta还有z,不好估计所以扔掉它。我们来看看怎么样真正的来做的:

首先我们得到的对数似然其实是这么一个东西,然后这么一个东西我们把样本带进去因为我们现在这个x就是第i个样本嘛,然后zi呢就是xi所对应的那个隐变量,在刚才那个例子中指的就是男性还是女性,在鸢尾花的例子中指的就是第一个类别还是第三个类别或者别的,反正是个隐变量哈。我们现在再往下来看,我们现在假定说给定关于z的一个分布叫做Qi,Qi是关于z的某一个分布,既然如此对于p这样一个东西,先除上一个Q再乘上一个Q,我们现在再来做这样一个事情,就是说我们现在先不要管\sum符号,就是我们现在证明后面这一坨比这一坨一定是要大于等于的,每一项,不管i等于1这一项还是其他的,反正每一项加起来都比它大。然后我们看这一部分,这一部分在去做的时候怎么考虑呢?我们把这个东西看作是一个整体,就把它当作是某一个x好了:

然后这个东西是一个分布,然后对这么一个大X去求概率分布嘛。这么一个分布再去求X的加和那不就意味着这个\sum这么一个玩意儿不就相当于X对Q求期望EQ(X)嘛,然后这个东西求完再取一个对数而已嘛。

然后我们得到了这么一个东西其实表示的就是原始的这么一个函数是在上方,我们算这个框住的部分一定是在下方,也就是r(x)这么一个下界函数呀。

当我们得到它的时候我们其实希望做一点事儿,我们非常希望做的事其实就是能不能取得等号呢?如果这个地方能够取得等号也就希望我们固定z求\theta了。满足什么条件的z能够使得它们在\theta _0这一点处相等呢?因为原函数是一个严格凹的,因此割线一定在下方,要想相等,那么曲线近似为一个点不就相等了吗?也就意味着\frac{P(x,z,\theta )}{Q_{zi}}为一定值。也就是说P(x,z,\theta )和Q(zi)得成正比才行。也就是说:

                   

它是一个条件概率的话就可以取等号了。也就是固定了一个\theta先对z求一个估计。

     

通过求偏导最后得出结论:

                                    

这个xi就是1.88那个样本,w_{l}^{(i)}表示1.88这个样本属于哪一个组分的概率0.67,然后把它们加起来就是所谓的N男嘛。这不就是对男性的均值的估计。

用身高和/或体重数据进行性别分类的实验Matlab程序
03-26
用身高和/或体重数据进行性别分类的实验 其中第一问分别用了两种方式;数据集经过优化,有决策面方程的图片,和各类型错误率的输出
HCIP Datacom学习笔记
04-18
此文件为HCIP路由交换学习笔记,内容详细
HCIP交换技术(接口类型考察)实验
weixin_53248292的博客
08-08 155
1.根据题干思考 将PC1 3划为VLAN 2 PC2划为VLAN3 PC4划为VLAN4 PC5划为VLAN5 PC6划为VLAN6 在各交换机上批量创建VLAN 2.按条件1将PC1 PC3所在接口配置为access,PVID为vlan 2 [SW1]int g0/0/2 [SW1-GigabitEthernet0/0/2]port link-type access [SW1-GigabitEthernet0/0/2]port default vlan 2 [SW2]int g...
HCIP之OSPF大实验
huaz_md的博客
01-14 897
宣告之后,我们可以看到R16上只有直连路由,没有从其他区域学习到的路由。配置完之后,R14上就可以学习到其他区域的路由。可以很明显的看到R13的路由条目少了很多。依次类推,每台路由器上均需要配置区域认证。可以明显看到,R9上的路由条目少了很多。在ABR上进行区域汇总。R1-R16依次类推。其他路由器上正常宣告。在ASBR上进行汇总。
HCIP静态综合实验(一)
m0_65810417的博客
08-03 70
1.R6为isp,接口IP地址均为公有地址,该设备只能配置IP地址,之后不能冉对其进行其他任何配置;2.R1-R5为局域网,私有IP地址192.168.1.0/24, 请合理分配;3.R1, R2, R4,各有两个环回地址;RS, R6各有一个环回地址,所有路由器上环回均代表连接用户的接口;4.R3下的两台PC通过DHCP自动获取IP地址,5.选路最佳,路由表尽量小,避免环路;6.R1-R5均可以访问R6的环回;7.R6telnetRs的公有IP地址时,实际登陆到R1上,
HCIP之VLAN实验
m0_65170675的博客
08-20 63
一、实验内容:二、实验拓扑图:三、实验操作:SW1SW2R1。
EM算法Python实现
01-04
对统计学习方法EM算法进行了python实现,并针对简单数据的高斯混合模型进行EM算法的参数估计,感兴趣的同学可以一起交流。
理解EM算法
tianming1992的专栏
05-24 192
0 简述 EM算法应对的问题 随机变量X={Y,Z}中Y为观测变量,存在一部分不能直接观测的变量Z,因此不能直接使用最大似然方法估计参数。 EM基本思路 <1>[Expectation] 直接假设分布参数的初始值,求隐变量Z期望,从而"补全"不完全观测数据,相当于得到了完全变量X的观测样本。 <2>[Maximization] 利用最大似然估计更新假设参数,并迭代<1...
EM算法从直观到数学理解
H_P's
09-03 1399
0x00 引言 EM算法是什么?什么是E(Epectation)?什么是M(Maximization)?什么又是公式里面出现的Q函数?这些公式都是怎么推导的?Nature抛硬币的那个图怎么就看不懂嘞?为什么看了那么多文章之后还是不懂?公式的符号怎么又不一样呢?谁谁还说有九层塔?Emmm…interesting 下面,让我们走进科学。 0x10 直观理解 现在有一个随机变量数据集DD...
机器学习中的EM算法详解及R语言实例
12-27
机器学习算法实例代码,机器学习中的EM算法详解及R语言实例,K均值算法非常简单(可参见之前发布的博文),详细读者都可以轻松地理解它。但下面将要介绍的EM算法就要困难许多了,它与极大似然估计密切相关
PLSA及EM算法详解
12-10
本系列博文介绍常见概率语言模型及其变形模型,主要总结 PLSA、LDA 及 LDA 的变形模型及参数Inference 方法。
机器学习中的EM算法详解及R语言实例.pdf
11-27
机器学习中的EM算法详解及R语言实例.pdf
文档机器学习中的EM算法详解及R语言实例
最新发布
04-17
文档机器学习中的EM算法详解及R语言实例提取方式是百度网盘分享地址
高斯混合模型(GMM)和EM算法详解
01-20
小白一枚,接触到GMM和EM,现将学习到的整理出来,如有错误,欢迎指正,文中涉及到公式的推导比较繁琐,故先在纸上推导出来再拍照发出来。希望大家多多交流,共同进步。接下来将按照思路一步一步进行介绍。 1. 单...
HCIP实验笔记
weixin_52636909的博客
08-03 62
【代码】HCIP实验笔记。
HCIA-HCIP
weixin_43882862的博客
03-19 463
华为HCIA-HCIP学习–终端命令总结 用户视图 1、system-view \\用户视图下,进入系统视图 sys 2、reboot \\重启 3、save \\保存设置 4、reset saved-configuration \\恢复出厂设置,重置 系统视图 1、[huawei]sysname R1\\在系统视图下,修改设备名称 2、[R1]interface GigabitEthernet 0/0/0 \\在系统视图下进入接口视图 int g0/0/0 3、[R1-GigabitEthernet
静态综合实验
zzh164672917的博客
01-09 125
实验报告:第一步合理划分IP地址本实验最佳划分只需六个网段即可,所以将192.168.1.0网段划分为8个.一个骨干,五个配置环回,剩下两个用作备用网段。第二步在R3开启DHCP,创建一个池塘abc.用来自动获取r3下两台电脑的ip。第三步r1-r5配置静态路由,缺省路由,空接口路由。使得全网可达。第四步配置nat和端口映射然后就可以pingISP。 根据上图划分骨干,以及分配网段。配置如下 配置IP地址 R1 [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add .
详解EM算法与混合高斯
07-27
EM算法是一种用于估计带有隐变量的概率模型参数的迭代优化算法。它被广泛应用于处理包含未观测变量的统计问题,其中最常见的应用之一是混合高斯模型的参数估计。 混合高斯模型是一种常用的概率模型,它由多个高斯...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 贝叶斯网络 20136
  • numpy各种生成随机数的方法 20134
  • pytorch实现用CNN和LSTM对文本进行分类 17064
  • matplotlib读取图片并显示 12674
  • 树莓派+百度云打造人脸识别门禁系统 11828

分类专栏

  • C++ 32篇
  • 树莓派 1篇
  • python 112篇
  • 人工智能 130篇
  • 机器学习 81篇
  • 深度学习 122篇
  • 计算机视觉 107篇
  • 算法 5篇
  • 运维 5篇
  • 数据库 2篇
  • 爬虫 34篇
  • 个人培训 3篇
  • 自然语言处理 17篇

最新评论

  • yolov5 onnx推理 C++

    Aslow sparrow: 我也是 快郁闷死了

  • 实现物体相互遮挡下实例分割数据增强及标签制作

    Curry_724: 你好博主,请问这段代码可以实现一个什么效果?

  • MemSeg导onnx

    CSDN-Ada助手: Python入门 技能树或许可以帮到你:https://edu.csdn.net/skill/python?utm_source=AI_act_python

  • MemSeg推理代码

    韩小哥的AI_Insight_ALL: 请教下如何训练这个网络

  • 图片的旋转增强

    CSDN-Ada助手: 如何使用OpenCV进行图像增强,并结合深度学习技术实现图像增强的自动化处理?

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 双阈值二值化
  • qt自适应表格尺寸
  • C++图像旋转数据增强
2024年39篇
2023年256篇
2022年9篇
2021年58篇
2020年66篇
2019年214篇
2018年63篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司呼和浩特外贸网站设计公司长葛关键词按天收费推荐营口网站搜索优化哪家好丽江网站优化按天计费价格嘉兴SEO按天收费推荐潜江企业网站改版推荐合肥网站优化按天计费价格百色SEO按效果付费推荐百色建网站公司大浪推广网站价格吉安百姓网标王报价常德网站排名优化公司金华网站开发多少钱南澳网站优化按天计费多少钱楚雄百度标王报价红河企业网站建设公司遂宁SEO按效果付费公司平顶山网站改版推荐九江企业网站设计哪家好郴州网站开发价格济南网站搜索优化多少钱安顺推广网站哪家好重庆优化推荐红河关键词排名价格荆门网站关键词优化报价来宾百度网站优化推荐廊坊百姓网标王推广哪家好永州网站优化按天收费黄南网站推广方案哪家好金华百度网站优化排名推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化