机器学习笔记之高斯混合模型——模型介绍

  • 引言
    • 高斯混合模型介绍
      • 示例介绍
      • 从几何角度观察高斯混合模型
      • 从混合模型的角度观察
    • 概率混合模型的引出
    • 从概率生成模型的角度观察高斯混合模型

引言

上一系列介绍了EM算法,本节将介绍第一个基于EM算法求解的概率生成模型——高斯混合模型(Gaussian Mixture Model,GMM)。

高斯混合模型介绍

示例介绍

首先观察一张关于样本集合X\mathcal XX的分布图:

从观察的视角对X\mathcal XX的分布进行分析,感觉上述样本点明显存在两堆,当然也可以认为是一堆样本,可能是样本没有全部生成完而已。但从常理角度观察 更像是两种不同分布的样本点存在于同一个样本空间中

我们假设上述两堆样本点每一堆均服从高斯分布,尝试对上述样本点横坐标的概率密度函数(Probability Density Function,PDF)进行表示

该图意义是概率密度函数结果越高,该样本点存在更大的概率被产生出来
观察上述所有样本点的横坐标,发现 以0.8和2.1这两个位置为中心,横坐标值围绕这两个中心产生的更密集,而其他位置相对稀疏一些

因此,我们可以认为产生这些样本点的概率模型P(X)P(\mathcal X)P(X)是由两个高斯分布混合在一起得到的混合模型。我们称这个概率模型P(X)P(\mathcal X)P(X)为高斯混合模型

从几何角度观察高斯混合模型

P(X)P(\mathcal X)P(X)也自然存在概率密度函数。依然以上述样本点横坐标作为示例,它的概率密度函数大致表示如下

其中这个蓝色线可看作概率分布P(X)P(\mathcal X)P(X)产生的样本横坐标的概率密度函数。以第iii个样本的横坐标x(i)x^{(i)}x(i)为例,它的具体计算方法如下:
xmix(i)=f1(x(i))f1(x(i))+f2(x(i))⋅f1(x(i))+[1−f1(x(i))f1(x(i))+f2(x(i))]⋅f2(x(i))=[f1(x(i))]2+[f(x(i))]2f1(x(i))+f2(x(i))\begin{aligned}x_{mix}^{(i)} & = \frac{f_1(x^{(i)})}{f_1(x^{(i)}) + f_2(x^{(i)})} \cdot f_1(x^{(i)}) + \left[1 - \frac{f_1(x^{(i)})}{f_1(x^{(i)}) + f_2(x^{(i)})}\right] \cdot f_2(x^{(i)}) \\ & = \frac{[f_1(x^{(i)})]^2 + [f_(x^{(i)})]^2}{f_1(x^{(i)}) + f_2(x^{(i)})} \end{aligned}xmix(i)​​=f1​(x(i))+f2​(x(i))f1​(x(i))​⋅f1​(x(i))+[1−f1​(x(i))+f2​(x(i))f1​(x(i))​]⋅f2​(x(i))=f1​(x(i))+f2​(x(i))[f1​(x(i))]2+[f(​x(i))]2​​
其中,f1,f2f_1,f_2f1​,f2​分别表示两种高斯分布的概率密度函数
fj=12πσje−(xi−μj)22σj2(j=1,2)f_j = \frac{1}{\sqrt{2\pi}\sigma_j}e^{-\frac{(x_i - \mu_j)^2}{2 \sigma_j^2}} \quad (j=1,2)fj​=2π​σj​1​e−2σj2​(xi​−μj​)2​(j=1,2)
我们可以将xmix(i)x_{mix}^{(i)}xmix(i)​结果的生成看成两个步骤

  • 对应样本点横坐标x(i)x^{(i)}x(i),分别计算该样本点分别出现在分布1、分布2的比重α1(i),α2(i)\alpha_1^{(i)},\alpha_2^{(i)}α1(i)​,α2(i)​:
    α1(i)=f1(x(i))f1(x(i))+f2(x(i)),α2(i)=[1−f1(x(i))f1(x(i))+f2(x(i))]\alpha_1^{(i)} = \frac{f_1(x^{(i)})}{f_1(x^{(i)}) + f_2(x^{(i)})} ,\alpha_2^{(i)} = \left[1 - \frac{f_1(x^{(i)})}{f_1(x^{(i)}) + f_2(x^{(i)})} \right]α1(i)​=f1​(x(i))+f2​(x(i))f1​(x(i))​,α2(i)​=[1−f1​(x(i))+f2​(x(i))f1​(x(i))​]
  • 融合模型的概率密度结果表示为属于各分布的加权平均
    xmix(i)=α1(i)f1(x(i))+α2(i)f2(x(i))x_{mix}^{(i)} = \alpha_1^{(i)}f_1{(x^{(i)})} + \alpha_2^{(i)}f_2{(x^{(i)})}xmix(i)​=α1(i)​f1​(x(i))+α2(i)​f2​(x(i))

因此,从图像角度观察可以将高斯混合模型理解为:样本空间中的任一维度均由多个高斯分布叠加而成,并且该模型的概率密度函数可表示为多个高斯分布的加权平均

假设某高斯混合模型由K\mathcal KK个高斯分布叠加而成,那么该模型的概率密度函数表示如下
P(X)=∑k=1Kαk⋅N(μk,Σk)(∑k=1Kαk=1)P(\mathcal X) = \sum_{k=1}^{\mathcal K} \alpha_{k} \cdot \mathcal N(\mu_{k},\Sigma_{k}) \quad (\sum_{k=1}^{\mathcal K} \alpha_k = 1)P(X)=k=1∑K​αk​⋅N(μk​,Σk​)(k=1∑K​αk​=1)

从混合模型的角度观察

重新观察样本分布图,先设定数据集合中样本点的表示如下:
Data={(x(i),y(i))∣i=1N}Data = \left\{(x^{(i)},y^{(i)}) |_{i=1}^N\right\}Data={(x(i),y(i))∣i=1N​}
其中x(i),y(i)x^{(i)},y^{(i)}x(i),y(i)分别表示样本点(x(i),y(i))(x^{(i)},y^{(i)})(x(i),y(i))的横坐标、纵坐标。此时给定一个样本点(x(k),y(k))(x^{(k)},y^{(k)})(x(k),y(k))(红色样本点)如图所示:

我们提出的问题是:红色样本点(x(k),y(k))(x^{(k)},y^{(k)})(x(k),y(k))属于哪个高斯分布
上述的高斯分布的等高线只是画了若干条以作表示,但实际上高斯分布在其样本空间内无限延伸
因此,实际上(x(k),y(k))(x^{(k)},y^{(k)})(x(k),y(k))只要在该样本空间内,它属于任意一个高斯分布,但如果需要确定该样本所服从的规律,我们可以提出一个朴素想法
该样本距离哪个高斯分布中心更近一点,它是哪个高斯分布的概率就更大一点
基于上述想法,构建一个变量Z\mathcal ZZ,并赋予它实际意义:样本(x(k),y(k))(x^{(k)},y^{(k)})(x(k),y(k))属于哪个高斯分布
基于上述思想,我们基于变量Z\mathcal ZZ对样本点(x(k),y(k))(x^{(k)},y^{(k)})(x(k),y(k))的分布归属问题有如下判断:

Z\mathcal ZZ z1z_1z1​ z2z_2z2​
P(Z)P(\mathcal Z)P(Z) p1p_1p1​ p2p_2p2​

其中,z1,z2z_1,z_2z1​,z2​表示高斯分布编号(离散型随机变量),p1,p2p_1,p_2p1​,p2​表示样本点(x(i),y(i))(x^{(i)},y^{(i)})(x(i),y(i))分别属于高斯分布z1,z2z_1,z_2z1​,z2​的概率。即:
pj=P[(x(i),y(i))∈zj](j=1,2)p_j = P[(x^{(i)},y^{(i)}) \in z_j] \quad (j=1,2)pj​=P[(x(i),y(i))∈zj​](j=1,2)
关于P(Z)P(\mathcal Z)P(Z)的约束条件有:
p1+p2=1p_1 + p_2 = 1p1​+p2​=1

概率混合模型的引出

基于上述例子,我们称上述定义的变量Z\mathcal ZZ为隐变量。原因在于该变量无法从样本集合自身观察出来,而定义它的目的在于协助求解概率分布P(X)P(\mathcal X)P(X)

基于隐变量Z\mathcal ZZ,可以通过两步走的形式进行求解:

  • 对样本点属于样本空间内任意高斯分布的概率进行统计,即求解P(Z)P(\mathcal Z)P(Z);
  • 基于步骤1,样本基于各概率服从对应的高斯分布,即求解P(X∣Z)P(\mathcal X \mid \mathcal Z)P(X∣Z);

假设样本空间中一共包含K\mathcal KK个高斯分布,概率分布P(X)P(\mathcal X)P(X)可以表示如下:
该式子和‘几何角度’中的公式基本没有区别,只是从不同角度理解理解‘隐变量的表示’而已。
P(X)=∑ZP(X∣Z)P(Z)=∑k=1Kpk⋅N(μk,Σk)(∑k=1Kpk=1)P(\mathcal X) = \sum_{\mathcal Z}P(\mathcal X \mid \mathcal Z)P(\mathcal Z) = \sum_{k=1}^{\mathcal K} p_{k} \cdot \mathcal N(\mu_{k},\Sigma_{k}) \quad (\sum_{k=1}^{\mathcal K} p_k = 1)P(X)=Z∑​P(X∣Z)P(Z)=k=1∑K​pk​⋅N(μk​,Σk​)(k=1∑K​pk​=1)

从概率生成模型的角度观察高斯混合模型

我们在极大似然估计与最大后验概率估计中介绍过,P(X)P(\mathcal X)P(X)既可以表示样本集合X\mathcal XX的概率分布,也可以表示概率模型

它的描述具体为:样本集合X\mathcal XX是由概率模型P(X)P(\mathcal X)P(X)生成的样本组成的集合。概率模型可以源源不断地生成样本,样本集合X\mathcal XX只是其中一个子集。

高斯混合模型的隐变量Z\mathcal ZZ是一个基于参数的离散分布,因此将高斯混合模型从生成模型的角度 理解为如下步骤:

  • 以pkp_kpk​的概率从K\mathcal KK个离散的参数中选择了参数kkk;
  • 在参数kkk确定的条件下,由于参数kkk唯一对应一个高斯分布N(μk,Σk)\mathcal N(\mu_k,\Sigma_k)N(μk​,Σk​),因此,从高斯分布N(μk,Σk)\mathcal N(\mu_k,\Sigma_k)N(μk​,Σk​)中随机生成一个样本xxx
  • 重复执行上述步骤,重复NNN次,最终获得NNN个样本的样本集合X\mathcal XX。

下一节将介绍高斯混合模型的求解过程

相关参考:
机器学习-高斯混合模型(1)-模型介绍

机器学习笔记之高斯混合模型(一)模型介绍相关推荐

  1. 机器学习笔记之高斯网络(三)高斯马尔可夫随机场

    机器学习笔记之高斯网络--高斯马尔可夫随机场 引言 回顾:马尔可夫随机场--团.势函数 高斯马尔可夫随机场 点势函数关联的项 边势函数相关的项 关于多元高斯分布学习任务的核心思想 关于条件独立性的总结 ...

  2. 机器学习笔记之卡尔曼滤波(一)动态模型基本介绍

    机器学习笔记之卡尔曼滤波--动态模型基本介绍 引言 回顾:动态模型 动态模型的相关任务 卡尔曼滤波介绍 引言 本节从动态模型开始,介绍卡尔曼滤波(Kalman Filter). 回顾:动态模型 我们在 ...

  3. 机器学习笔记之前馈神经网络(一)基本介绍

    机器学习笔记之前馈神经网络--基本介绍 引言 从机器学习到深度学习 频率学派思想 贝叶斯学派思想 深度学习的发展过程 引言 从本节开始,将介绍前馈神经网络. 从机器学习到深度学习 在机器学习笔记开始- ...

  4. 【机器学习笔记4】逻辑回归模型

    目录 什么是逻辑回归? Sigmoid函数 决策边界 逻辑回归的损失函数 为什么平方误差模型不可行? 对数损失函数 单个样例损失: 整体损失函数 梯度下降算法 补充:F1-score评价指标 F1-S ...

  5. Netty入门笔记-Linux网络I/O模型介绍

    在之前的博客中并没有将关于Netty的知识系统的总结起来.从这篇博客开始就将关于Netty的有关知识点总结起来顺便提升自己的分析问题的能力,通过博客分享的形式将学习的知识点形成体系,希望也可以帮助大家 ...

  6. 机器学习笔记:高斯判别分析

    1 模型概述 假设有如下数据: 其中样本数据的类别y在给定的情况下服从伯努利分布 不同类别的样本数据又分别服从不同的多元高斯分布(这里假设两个高斯分布具有同样的方差) 2 损失函数 高斯判别模型的损失 ...

  7. 机器学习笔记(七)——决策树模型

    引言 决策树(Decision Tree)是一种基本的分类和回归方法.它的扩展方法有GBDT和GBRT 等.决策树模型的学习过程主要有特征选择.决策树生成和剪枝.主要算法有ID3.C4.5和CART等 ...

  8. 【机器学习笔记之五】用ARIMA模型做需求预测用ARIMA模型做需求预测

    本文结构: 时间序列分析? 什么是ARIMA? ARIMA数学模型? input,output 是什么? 怎么用?-代码实例 常见问题? 时间序列分析? 时间序列,就是按时间顺序排列的,随时间变化的数 ...

  9. 机器学习笔记(八)——决策树模型的特征选择

    一.引言 决策树构建过程中的特征选择是非常重要的一步.特征选择是决定用哪个特征来划分特征空间,特征选择是要选出对训练数据集具有分类能力的特征,这样可以提高决策树的学习效率.如果利用某一个特征进行分类与 ...

最新文章

  1. Linux事件循环阻塞,深入浅析Node.js 事件循环、定时器和process.nextTick()
  2. WINCE6.0+S3C2443睡眠和唤醒(sleep and wake up)的实现
  3. 启明云端分享|SSD20X_烧录mac地址文档参考
  4. 7系列mrcc xilinx_XILINX 7系列FPGA_时钟篇
  5. “stdafx.h”: No such file or directory
  6. Java 14:有用的NullPointerException消息
  7. 布隆过滤器的原理、应用场景和源码分析实现
  8. 使用libsvm中的svm_cross_validation函数进行交叉验证
  9. 使用Ping命令解析主机名解析出来的是IPv6
  10. html5 drawimage 不显示,javascript – 来自视频的HTML5 Canvas drawImage在第一次绘制时不显示...
  11. HIbernate Session 线程安全的问题
  12. hibernate 基础方法(二)【相关配置详解】
  13. layer的move要怎么用
  14. 2020-10-07
  15. (读书笔记).NET大局观—.NET引介
  16. 基于深度学习自动对焦技术
  17. 安装包时遇到 requires a peer of @angular/core、unmet peer dependency...的问题
  18. 网站卡其cdn后不能访问_关于网站使用CDN后无法登录的解决办法
  19. uniapp微信公众号h5接入网易七鱼客服系统
  20. kuix教程1:我的第一Kuix应用

热门文章

  1. 从搜狗浏览器看“创新”
  2. 银行业务(总账试算平衡表与个表的勾稽关系)
  3. RALM: 实时 Look-alike 算法在微信看一看中的应用
  4. new的时候发生了什么
  5. Photoshop知识点整理(5)
  6. 30个最佳和免费的Android媒体播放器
  7. 哈希表(散列表)原理详解
  8. 统计知识5:总平方和、残差平方和、判定系数
  9. 2022全年度空调十大热门品牌销量榜单
  10. 利用普通充电器给三星平板电脑充电的改造