先从简单的离散型随机变量看起

离散型随机变量

P{X=ak}=pk,k=1,2,3,...,n

P\{X=a_k\} = p_k, k = 1, 2, 3, ..., n
其中:

∑i=1npi=1

\sum_{i=1}^n p_i=1
那么它的期望值是:

E(X)=∑kakpk

E(X)=\sum_k a_kp_k

以上都是中学数学知识,那么到了高等数学的概率论与数理统计这门课才开始讨论连续随机变量的情况。

如果随机变量是连续的,且它的概率密度函数是 f(x) f(x),那么它的数学期望值是:

E(X)=∫∞−∞xf(x)dx

E(X)=\int_{-\infty}^{\infty} xf(x)dx
方差为:

D(X)=E[(X−E(X))2]

D(X)=E[(X-E(X))^2]

正态分布也是我们很熟悉的分布情况了,高中大学数学都进行过学习讨论:

正态分布:

X∼N(μ,σ2)

X\sim \mathcal{N}(\mu, \sigma^2)
概率密度函数为:

p(x)=12π−−√σe−(x−μ)22σ2

p(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}

其中 μ \mu是期望值, σ \sigma是标准差。

协方差

cov(X,Y)=E{[X−E(X)][Y−E(Y)]}=E(XY)−E(X)E(Y)

cov(X,Y)=E\{[X-E(X)][Y-E(Y)]\}=E(XY)-E(X)E(Y)其中 X,Y X,Y为两个随机变量。

下面就要升级到高维正态分布了:

多维高斯正态分布:

N(x∣μ,Σ)=12πn|Σ|−−−−−−√exp(−12(x−μ)TΣ−1(x−μ))

N(x\mid\mu,\Sigma)=\frac{1}{\sqrt{{2\pi}^n|\Sigma|}}exp\Big(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\Big)
符号同二位正态分布的意义差不多,其中 Σ \Sigma是协方差矩阵, Σ−1 \Sigma^{-1}协方差矩阵的逆。

高斯混合模型(GMM)概率密度函数:

p(x)=∑k=1Kp(k)p(x|k)=∑k=1KπkN(x|μk,Σk)

p(x)=\sum_{k=1}^Kp(k)p(x|k)=\sum_{k=1}^K\pi_k\mathcal{N}(x|\mu_k,\Sigma_k)其中

∑i=1Kπi=1

\sum_{i=1}^K\pi_i=1

这个式子可以这样解释,假设有一批数据 X={X1,X2,...,Xn} X=\{X_1,X_2,...,X_n\},假设 Xi X_i是由高斯分布生成的,而且这里一共有 K K个高斯分布生成器,具体XiX_i对应的是哪个生成器是不知道的,而且每个生成器在混合模型中所占的比例 πi \pi_i也是未知的,所以这些未知的东西全部都放在一起,那么此时的分布就是高斯混合分布。

因为这里面 πk \pi_k, μk \mu_k, Σk \Sigma_k都是未知的,所以我们首先要估计一下这几个参数,这时候最大似然法就用上了。最大似然法就是使样本点在估计的概率密度函数上的概率值最大。为了防止在计算过程中产生溢出现象,我们可以将目标函数取对数进行计算:

max∑i=1Nlogp(xi)

\max\sum_{i=1}^N\log p(x_i),那么最大化对数似然函数是:

max∑i=1Nlog(∑k=1KπkN(xi|μk,σk))

\max\sum_{i=1}^N\log\Big(\sum_{k=1}^K\pi_k\mathcal{N}(x_i|\mu_k,\sigma_k)\Big)

其实GMMK-means差不多。

步骤如下:

  1. 估计数据由每个组件生成的概率:

    γ(i,k)=πkN(xi|μk,Σk)∑Kj=1πjN(xi|μj,Σj)

    \gamma(i,k)=\frac{\pi_k\mathcal{N}(x_i|\mu_k,\Sigma_k)}{\sum_{j=1}^K\pi_j\mathcal{N}(x_i|\mu_j,\Sigma_j)}在这一步中, πk \pi_k与 Σk \Sigma_k是未知的,所以在第一次迭代的时候可以为 πk \pi_k与 Σk \Sigma_k分别初始化一个值,下次迭代的时候将这次的值用起来。

  2. 迭代更新参数,用最大似然估计计算:
    μk=1Nk∑i=1Nγ(i,k)xi

    \mu_k=\frac{1}{N_k}\sum_{i=1}^N\gamma(i,k)x_i,

    Σk=1Nk∑i=1Nγ(i,k)(xi−μk)(xi−μk)T

    \Sigma_k=\frac{1}{N_k}\sum_{i=1}^N\gamma(i,k)(x_i-\mu_k)(x_i-\mu_k)^T,

    Nk=∑i=1Nγ(i,k)

    N_k=\sum_{i=1}^N\gamma(i,k)其中 πk \pi_k估值为 Nk/N N_k/N

  3. 重复前面的两步,直到似然函数收敛。

高斯混合模型(Gaussian Mixture Model,GMM)相关推荐

  1. 高斯混合模型Gaussian Mixture Model (GMM)——通过增加 Model 的个数,我们可以任意地逼近任何连续的概率密分布...

    从几何上讲,单高斯分布模型在二维空间应该近似于椭圆,在三维空间上近似于椭球.遗憾的是在很多分类问题中,属于同一类别的样本点并不满足"椭圆"分布的特性.这就引入了高斯混合模型.--可 ...

  2. 高斯-赛得尔迭代式 c++_高斯混合模型(Gaussian Mixture Model)与EM算法原理(一)

    高斯混合模型(Gaussian Mixture Model)是机器学习中一种常用的聚类算法,本文介绍了其原理,并推导了其参数估计的过程.主要参考Christopher M. Bishop的<Pa ...

  3. 详解EM算法与混合高斯模型(Gaussian mixture model, GMM)

    最近在看晓川老(shi)师(shu)的博士论文,接触了混合高斯模型(Gaussian mixture model, GMM)和EM(Expectation Maximization)算法,不禁被论文中 ...

  4. 语音识别学习日志 2019-7-14 语音识别基础知识准备2 {EM算法与混合高斯模型(Gaussian mixture model, GMM)}

    https://blog.csdn.net/lin_limin/article/details/81048411会对GMM和EM做详细介绍 本文参考: http://www.ituring.com.c ...

  5. 高斯混合模型(Gaussian Mixture Model)

    混 合 模 型 使 我 们 能 够 一 瞥 以 后 会 用 到 的 一 个 非 常 重 要 的 概 念 -- 潜 变 量(latent variable).潜变量是我们不能直接观测到的随机变量.

  6. 混合高斯模型(Gaussian Mixture Model,GMM)

    高斯混合聚类和k 均值算法(k-means)都属于原型聚类,但与k均值用原型向量来刻画聚类结构不同,高斯混合聚类采用概率模型来表达聚类原型. 一.混合模型(Mixture Model) 混合模型是一个 ...

  7. 【机器学习之高斯混合模型(Gaussian Mixed Model,GMM) 】

    文章目录 前言 一.高斯混合模型(Gaussian Mixed Model,GMM) 是什么? 二.详解GMM 1.初步原理 2.EM算法 3.深读原理 3.GMM(高斯混合模型)和K-means的比 ...

  8. 聚类(1)——混合高斯模型 Gaussian Mixture Model

    聚类系列: 聚类(序)----监督学习与无监督学习 聚类(1)----混合高斯模型 Gaussian Mixture Model 聚类(2)----层次聚类 Hierarchical Clusteri ...

  9. 高斯混合模型(GaussianMixture Model, GMM)聚类、可视化最优协方差形式、通过TSNE进行结果可视化分析、抽取核心特征因子

    高斯混合模型模型: sklearn.mixture.GaussianMixture 混合高斯模型(Gaussian Mixture Model,简称GMM)是用高斯概率密度函数(正态分布曲线)精确地量 ...

  10. 高斯混合模型(GMM--Gaussian mixture model)

    参考:李航<统计学习方法> http://blog.csdn.net/xmu_jupiter/article/details/50889023 https://www.cnblogs.co ...

最新文章

  1. 一文了解物联网主控芯片架构之争
  2. python人脸识别毕业设计-Python基于Dlib的人脸识别系统的实现
  3. JDBC中的Statement 和PreparedStatement的区别?
  4. 单例模式在多线程中的安全性研究
  5. Linux命令【二】终端+Vim
  6. 文件字符输出流 FileWritter java
  7. Duboo学习-SPI
  8. [机器学习]机器学习常用的模型评估方法
  9. 关于如何在vs 2005中使用sa用户登录的问题(即在vs 2005中SQL 2005的深层使用)
  10. Python TAB 补齐
  11. 在c语言中怎么实现循环结构,浅议C语言中循环结构的教学方法.pdf
  12. the7主题 一个强大的wordpress 主题 html5拖拽式建站系统
  13. php strpos实现方法,php中strpos的功能及使用方法
  14. Python 绘制惊艳的瀑布图
  15. for horner_霍纳法则(Horner Rule)
  16. 小程序微信运动时间戳格式转换+列表渲染微信运动数据
  17. 计算机相关知识分享,计算机基础知识论文分享
  18. 深入浅出matplotlib(96):标记的疏密控制
  19. python namedtuple_python 简单了解namedtuple
  20. 职场达人必备!100本管理类的书籍

热门文章

  1. 最短路:求最长最短路,求最短路的路径
  2. norflash的基本操作2
  3. 什么是远程桌面连接?win11系统如何启用远程桌面连接?
  4. MacBook进水记
  5. centos7安装otrs
  6. MATLAB之最优路径的查找
  7. 渗透测试常用在线工具汇总
  8. 《统计学》——思考题第四章数据的概括性度量(贾俊平)
  9. STM32系列——手把手教你蓝牙模块HC05、HC06的使用,重在“用起来”(HAL库)
  10. 仓库温度湿度控制措施_仓库温湿度管理规定_仓库温湿度监测管理制度