一、GMM算法

EM算法实在是难以介绍清楚,因此我们用EM算法的一个特例GMM算法作为引入。

1、GMM算法问题描述

GMM模型称为混合高斯分布,顾名思义,它是由几组分别符合不同参数的高斯分布的数据混合而成的。

假设有n个样本点\(x_{1},x_{2},...,x_{n}\),它们来自K个不同的高斯分布。有如下参数:

1、不同高斯分布的数据占比:\(\pi_{i}\)
2、每个高斯分布的均值与方差:\(\pi_{i}~N(\mu_{i},\sigma_{i}^2)\)

我们的目的是求出每个\(\pi_{i}\),\(\mu_{i}\),\(\sigma_{i}\)

因此我们的目标即是求合适的\(\pi_{i}\),\(\mu_{i}\),\(\sigma_{i}\)来最大化对数似然函数。

\[l_{\pi,\mu\sigma}(x)=\sum^{N}_{i=1}log[\sum^{K}_{k=1}\pi_{k}N(x_{I}|\mu_{k},\sigma_{k})]\]
这个目标函数中既有对数又有加和,因此不能直接求导因此我们采用迭代的方法。

2、GMM迭代方法描述

Step1:对于每一个样本点i,计算它由不同组分(第k个组分)生成的概率\[r(i,k)=\dfrac{\pi_{k}N(x_{i}|\mu_{k},\sigma_{k})}{\sum^{K}_{j=1}\pi_{j}N(x_{i}|\mu_{j},\sigma_{j})}\]
Step2:由各个样本点的\(r(i,k)\)更新参数\(\pi_{i}\),\(\mu_{i}\),\(\sigma_{I}\)

Step3:回到Step1,迭代更新

这其实就是EM算法的E步和M步的过程。

下面给出通用的EM算法伪代码。

3、EM算法

Repeat util 收敛{
(E步):对每个样本\(x_{i}\),计算\[Q_{i}(z^{i})=P(z^{i}|x^{i};\theta)\]
(M步):对每个参数\(\theta\),有\[\theta:=argmax_{\theta }l\left( \theta \right) =argmax_{\theta}\sum^{}_{i}\sum^{}_{z^{i}}Q_{i}(z^{i})log\dfrac{P(x_{i};z_{i};\theta)}{Q_{i}(z_{i})}\]
}

其中,E步的那个\(Q\)就是第i个样本的分布,就是那个\(r(i,k)\)
这个形式可以推导可得,其实是等价的

M步中,那个公式就是对数似然函数,求使它最大化的参数

总结:EM算法说到底是一个迭代更新的过程。它首先对各个样本计算分布,然后更新参数;再计算分布,再更新参数……

机器学习(七)EM算法、GMM的更多相关文章

  1. 斯坦福大学机器学习,EM算法求解高斯混合模型

    斯坦福大学机器学习,EM算法求解高斯混合模型.一种高斯混合模型算法的改进方法---将聚类算法与传统高斯混合模型结合起来的建模方法, 并同时提出的运用距离加权的矢量量化方法获取初始值,并采用衡量相似度的 ...

  2. 机器学习五 EM 算法

    目录 引言 经典示例 EM算法 GMM 推导 参考文献: 引言 Expectation maximization (EM) 算法是一种非常神奇而强大的算法. EM算法于 1977年 由Dempster ...

  3. 机器学习之EM算法(五)

    摘要 EM算法全称为Expectation Maximization Algorithm,既最大期望算法.它是一种迭代的算法,用于含有隐变量的概率参数模型的最大似然估计和极大后验概率估计.EM算法经常 ...

  4. 【机器学习】EM算法详细推导和讲解

    今天不太想学习,炒个冷饭,讲讲机器学习十大算法里有名的EM算法,文章里面有些个人理解,如有错漏,还请读者不吝赐教. 众所周知,极大似然估计是一种应用很广泛的参数估计方法.例如我手头有一些东北人的身高的 ...

  5. 关于机器学习-EM算法新解

    我希望自己能通俗地把它理解或者说明白,但是,EM这个问题感觉真的不太好用通俗的语言去说明白,因为它很简单,又很复杂.简单在于它的思想,简单在于其仅包含了两个步骤就能完成强大的功能,复杂在于它的数学推理 ...

  6. 【机器学习】--EM算法从初识到应用

    一.前述 Em算法是解决数学公式的一个算法,是一种无监督的学习. EM算法是一种解决存在隐含变量优化问题的有效方法.EM算法是期望极大(Expectation Maximization)算法的简称,E ...

  7. 机器学习:EM算法

    EM算法 各类估计 最大似然估计 Maximum Likelihood Estimation,最大似然估计,即利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值的计算过程. 直白来讲,就 ...

  8. 机器学习笔记—EM 算法

    EM 算法所面对的问题跟之前的不一样,要复杂一些. EM 算法所用的概率模型,既含有观测变量,又含有隐变量.如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或贝叶斯估计法来估计 ...

  9. 机器学习-EM算法-GMM模型笔记

    GMM即高斯混合模型,下面根据EM模型从理论公式推导GMM: 随机变量X是有K个高斯分布混合而成,取各个高斯分布的概率为φ1,φ2,... ,φK,第i个高斯分布的均值为μi,方差为Σi.若观测到随机 ...

  10. 【机器学习】GMM和EM算法

    机器学习算法-GMM和EM算法 目录 机器学习算法-GMM和EM算法 1. GMM模型 2. GMM模型参数求解 2.1 参数的求解 2.2 参数和的求解 3. GMM算法的实现 3.1 gmm类的定 ...

随机推荐

  1. codeforces gym 101611C 重链剖分构造

    给一棵树 要求在一个20*1e6的矩阵上放下这棵树,每个点的坐标都是整数且所有边都不相叉 题解 按照重链遍历,先给轻儿子坐标,然后沿着重儿子向下走即可 #include <bits/stdc++ ...

  2. linux环境变量问题

    在使用jenkins进行自动化部署的时候遇到一个问题,通过jenkins进行自动化部署的时候执行java命令时,提示java不知道是啥命令,确定是装好了java的,猜测是环境变量问题,但是在/etc/ ...

  3. margin合并和浮动

    1.父子元素margin塌陷问题子元素设置margin-top作用于父元素时, 会产生margin合并问题. 解决方法是: 给父元素的::before伪元素设置为display:table属性, 其中 ...

  4. spring-cloud-config-server分布式配置中心

    spring cloud config是一个基于http协议的远程配置实现方式.通过统一的配置管理服务器进行配置管理,客户端通过https协议主动的拉取服务的的配置信息,完成配置获取. spring ...

  5. 具体分析UGUI中RectTransform

    一:RectTransform 组件 1.Transform 组件是所有的游戏物体必备的一个组件,且不可删除,不可隐藏.就算是一个空物体,也是具备 Transform 组件的. Unity3D4.6 ...

  6. memset函数的实现&printf函数几种输出格式的输出结果

    #include<stdio.h> #include<stdlib.h> void *memmset(void *dest, int ch, int count){ void ...

  7. 做ctf题对malloc的疑问

    做cctf pwn printf题目的时候 疑问为什么dir函数会将之前out的name倒叙输出 调试了一下发现当malloc(0xf4)大小时候,例如 第一次分配0x1000的地址,将名字输入到0x ...

  8. SpringBoot的@Enable*注解的使用介绍

    @EnableAsync或@EnableConfigurationProperties背后的运行原理,是使用了@Import注解. @Import({User.class,Role.class,MyC ...

  9. Docker使用Mysql镜像命令

    本次使用的环境是win10下的hyper-v安装的CentOS7系统 控制台输入命令: docker run -p 3307:3306 --name mysql01 -v $PWD/conf:/etc ...

  10. RabbitMQ通过Exchange.Direct、同一个队列绑定不同的routekey实现不同的消费

    通过消费者去进行Exchange和Queue通过不同的RouteKey进行绑定 消费者1: static void Main(string[] args) { ConnectionFactory fa ...