高斯混合模型GMM是一个非常基础并且应用很广的模型。对于它的透彻理解非常重要。

本文从高斯分布开始逐步透彻讲解高斯混合模型

高斯分布

高斯分布有两个参数:

  • μ = mean(数据的中心)
  • σ2 =variance(数据的分布扩展范围)

μ是高斯分布的位置参数。由概率密度函数图像可知,离μ越近概率密度越大,离μ越远概率越小。高斯分布以X=μ为对称轴,左右完全对称。期望、均数、中位数、众数相同,均等于μ。

σ2描述数据分布的离散程度,σ越大,数据分布越分散;反之,越聚集。也是高斯分布的形状参数,σ越大,曲线越平扁;反之,σ越小,曲线越瘦峭。

一维高斯分布

下图的数据就是由上图的高斯分布产生的。

高斯分布有如下重要性质

  • 中心极限定理:大量相同分布的随机变量的和倾向于高斯分布。
  • 高斯随机变量的和与差仍然是高斯。
  • 如果X分布为N (µ, σ2)。。。
  • aX + b分布为N ( + b, ()2)
  • 负对数看起来像加权欧几里德距离

二维高斯分布

如上公式所示,二维联合高斯分布的概率密度,从几何上讲,二维高斯分布在二维空间投影近似于椭圆,整个概率密度函数在三维空间上近似于椭球体。

可以参考本头条号另一篇文章《透彻理解高斯分布》一样,二维独立变量高斯分布的指数化简成椭圆曲线的形式,其中r表示其相关系数,如果r = 0,表示两个变量相互独立,联合概率密度为各自密度的乘积。

如果x1,x2不相关。知道x1并不能告诉你关于x2的一切。

下图是r = 0, σ1 = σ2时的分布图形:

x1,x2可以是不相关的并且具有不同的方差。即r = 0, σ1 !=σ2

如果x1,x2相关。那么知道x1能告诉获得一些关于x2的信息

我们把二维高斯分布的协方差矩阵写成如下的形式:

其中, x = (x1, x2), µ = (µ1, µ2)

求对数,与加权欧几里德距离很相似

如果协方差是对角阵:

高斯估计

数据与分布的匹配

通过获得的训练数据,如何选择参数µ、Σ,才能使数据和分布相匹配?

如果分布产生训练数据的可能性很高,就说明数据和分布相匹配的概率很高。

所以,我们用最大似然估计(Maximum Likelihood Estimate,MLE),寻找最优参数µ、Σ,使之最大化训练数据的可能性。表达形式如下:

假设我们开始选择了"正确"的分布。然后,随着训练样本数量的增加,MLE会接近"真实"参数。MLE是非常有效的,对于许多类型的模型,MLE是容易的。

MLE求解

最大似然估计是有封闭形式解的。

求对参数求偏导:

求得:

多维变量时,其均值和协方差是:

高斯估计的缺陷:并不是所有数据都是高斯分布。但是,如果用多个高斯分布(注意,是多个,不是多维),实践证明,是可以表达任何分布的,这就是我们接下来要讲的高斯混合模型GMM。

高斯混合模型

Σj pj = 1 , pj ≥ 0

这就是高斯混合模型。如果使用足够的高斯成分,可以很好地估计任何分布。给定训练数据,如何估计参数µj , Σj , 和混合权重 pj

为了最大化数据的概率?没有封闭形式的解决方案。我们只能使用优化技术。

我们选择期望最大化算法(Expectation Maximum)

EM算法就是一个求解GMM的算法,其过程如下:

  1. 通过隐藏变量寻找模型的ML参数估计值。
  2. 迭代爬山法
  • 调整每次迭代中的参数估计值
  • 这样的数据可能性每次迭代都会不断地增加

最后找到最优值。

隐藏变量

无法观察到的随机变量。在GMM计算最后的概率,取决于1、各个产生数据的混合组成部分产;2、各个部分的参数。而这个混合部分就是隐藏变量。

计算数据x的概率,需要计算在隐藏变量h的所有可能值下条件概率之和:

考虑高斯混合的概率分布

  • h ⇔哪个组件生成样本
  • P(h) = pj ; P(x |h) = N (µj , Σj )

如果确定每个xi的隐藏值,模型不再隐藏!例如,在GMM组件之间已经划分了数据。

因此,对于每个数据点xi,分配单个隐藏值hi。取hi = arg maxh P(h)P(xi |h),确定产生每个点的GMM组成部分分量。

在非隐藏模型中训练参数是非常容易的。我们通过更新P(h), P(x |h)中的参数。获得µj , Σj , pj的MLE。

所以,我们有以下可选的处理方式:

非常“硬”的处理方式:

对于每个xi,分配单个hi = arg maxh P(h, xi ),数量为和1。然后继续其他步骤。

比较“软”的处理方式:

对于每个xi,计算每个h的后验概率:

也称为"分数计数",我们得到每个组件的概率

由于硬处理方式直接分配hi,非常主观,显然是事可取的。所以我们选择软的处理方式。

EM算法步骤

1.以某种方式初始化参数值。

2.迭代

  • 期望步骤:计算每个xi的h的后验概率:
  • 最大化步骤:更新参数

假定非隐藏数据已经获得,而不是隐藏h的数据xi

本文主要讲解GMM,EM算法就不详细推导了,后面会专门发文讲解。

一维数据高斯滤波器_透彻理解高斯混合模型相关推荐

  1. 一维信号双边滤波器_定义图上的各向异性、动态、频谱和多尺度滤波器

    雷锋网AI科技评论编者按:本篇文章的内容是"计算机视觉及图神经网络教程"的一部分,将概述重要的图神经网络方面的工作进展.通过提取关键思想并解释使用Python和PyTorch这样经 ...

  2. 透彻理解高斯核函数背后的哲学思想与数学思想

    https://www.toutiao.com/a6653427986718523917/ 数据点转换到高维空间后,原始特征无关紧要.仅仅计算测试数据与支持向量的点积,支持向量由SVM优化算法选择的特 ...

  3. 朴素贝叶斯高斯模型_从零开始实现高斯朴素贝叶斯独立贝叶斯模型

    朴素贝叶斯高斯模型 "Why is Google censuring me?!" Claire asked (true story). Sure, she's always bee ...

  4. 数据交换平台_从零开始理解大数据架构之数据交换平台

    项目简介 Exchangis是一个轻量级的.高扩展性的数据交换平台,支持对结构化及无结构化的异构数据源之间的数据传输,在应用层上具有数据权限管控.节点服务高可用和多租户资源隔离等业务特性,而在数据层上 ...

  5. python一维平滑滤波_高斯滤波器的原理及其实现过程(附模板代码)

    本文主要介绍了高斯滤波器的原理及其实现过程高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像.其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出.其窗口模板的系数和均值滤波器不同 ...

  6. 单片机高斯滤波器 c语言,高斯滤波器在实时系统中的快速实现

    详细讨论了高斯滤波器在单片机系统中的快速实现方法,并给出了对于MCS-51系列单片机的具体实现程序,介绍的方法在实时控制.信号检测与处理方面有很大的实用价值.本文引用地址:http://www.eep ...

  7. 高斯函数的matlab表达式,高斯函数在图像处理中的应用

    高斯函数简介 谓径向基函数 (Radial Basis Function 简称 RBF), 就是某种沿径向对称的标量函数. 通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数 , 可记作 k ...

  8. matlab高斯拟合多峰,MATLAB用“fitgmdist”函数拟合高斯混合模型(一维数据)

    MATLAB用"fitgmdist"函数拟合高斯混合模型(一维数据) 在MATLAB中"fitgmdist"的用法及其GMM聚类算法中介绍过"fitg ...

  9. VTK修炼之道37:图像平滑_高斯滤波器

    1.高斯滤波 高斯平滑的原理类似于均值滤波.均值滤波模板的系数都是一样的,而高斯平滑则是需要根据像素与模板中心的距离来定义权重.权重的计算方法是采用高斯分布,离中心越远,权重越小. 下面是一个利用Ga ...

最新文章

  1. Mybatis注解学习记录
  2. CSDN Markdown 博客如何设置插入代码背景颜色(设置成黑色)?
  3. spring boot+mybatisplus集成后访问项目接口404
  4. store前台数据过滤
  5. 苹果手机关闭自动更新_苹果手机会quot;偷钱quot;的2个功能,越早关闭越好,不然经常无故被扣钱...
  6. Linux修改用户名(主机名)
  7. unix系统中查看端口号被占用
  8. 天锐绿盾注册机 使用手册
  9. Postman Mock Server 使用
  10. mt管理器图片在哪个文件夹_微信apk用mt管理器 替换主界面背景图片是那个文件? 其他文件怎么替换 不要视频...
  11. 安卓开发 应用下载代码
  12. C、C++、C#、Java、php、python语言的内在特性及区别
  13. 【已解决】【高速版】如何显示(扫描)局域网中所有的在线主机IP及MAC地址?
  14. tiny core linux网络连接,用Tiny Core Linux打造纯Firefox上网系统(概要)
  15. 拆掉思维里的墙 读书笔记
  16. AVL右旋转思路分析与图解
  17. ORAN专题系列-15:2020年最新O-RAN商业和技术进展深入观察-2
  18. Crypto++编译使用
  19. Unity assetstore资源商店 地址
  20. 从《学书津梁》看五体创作思路(行书)

热门文章

  1. spark项目实战:电商分析平台之项目概述
  2. GIAC 2020 全球互联网架构大会演讲实录:基于TarsGo的微服务技术架构实践
  3. FFmpeg 音视频处理总纲
  4. Python并发之协程gevent基础(5)
  5. tmux多窗口工具基本操作
  6. CoreOS安装到硬盘
  7. 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)
  8. Windows 配置 Github 的 SSH-key
  9. 微服务:实战从传统项目平滑过渡 - 笔记
  10. 【Python 2.7】str和unicode的互相转换,摘自《Effective Python》