一、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. ‘Host’ is not allowed to connect to this mysql server

    ‘Host’ is not allowed to  connect to this mysql server mysql 数据库不允许远程连接 方法一:修改 host 表 进入mysql数据库,选择m ...

  2. AppCan

    启动服务 将app程序寄宿在计算机上,在计算机上调试:访问服务地址,将appToken值复制一下 在浏览器输入192.168.2.102:3000/appToken的值/文件路径后即可调试 入口文件 ...

  3. codeforces 1151 D

    SM的水题. codeforces 1151D 当时写对了,因为第一题卡了,,然后这题就没细想,原来是没开longlong. 题意:n个位置每个位置有a和b,让sum=(每个点的左面的点的数量*a+右 ...

  4. java学习笔记11-static关键字

    如果在类中使用static关键字创建方法,这种方法称为类方法,可以在这个类中直接引用.而不是用static创建的方法.这种方法称为对象方法(实例方法),需要创建对象后才能使用. package les ...

  5. SimpleDateFormat 常用用法

    1.SimpleDateFormat函数语法:                   G 年代标志符          y 年          M 月          d 日          h ...

  6. python使用正则解析网络地址的各个部分

    参考文章: https://www.cnblogs.com/ingd/p/6182571.htmlimport re def resolveAddress(url): ""&quo ...

  7. idea的一些设置

    在File->Settings->Appearance & Behavior->System Settings->Updates下取消Automatically che ...

  8. 协议形式化分析Scyther 资料整理

    1.性能分析 目前来说形式化的分析已经成为安全协议的一种很流行的方法,但是每种工具都用其不同适合的协议,Scyther软件是一种形式化分析工具,极大的促进了协议的分析和设计,scyther工具在运行界 ...

  9. WPF自定义仪表盘控件

    闲来无事,分享一个仪表盘 源码: 直接复制代码即可运行,=.=! <Window x:Class="TGP.InstrumentationDemo.MainWindow" x ...

  10. C# dynamic类型序列化和反序列化之Newtonsoft.Json,动态解析远端返回的jSON数据

    一.说明 1.Newtonsoft.Json 中的Linq To Json中提供了方便的json数据查询.修改等操作. 例如:JObject,JArray 2.在JObject.FromObject( ...