11 GMM——高斯混合模型

news2024/11/22 17:43:06

文章目录

  • 11 GMM——高斯混合模型
    • 11.1 模型介绍
    • 11.2 通过MLE估计参数
    • 11.3 EM求解

11 GMM——高斯混合模型

11.1 模型介绍

从几何角度来说:

  • 高斯混合模型表示:加权平均——由多个高斯分布混合叠加而成,如图

  • 公式可以表达为:
    p ( x ) = ∑ i = 1 K α i ⋅ N ( x ∣ μ i , Σ i ) , ∑ i = 1 K α i = 1 p(x) = \sum_{i=1}^K \alpha_i \cdot N(x|\mu_i, \Sigma_i), \quad \sum_{i=1}^K \alpha_i = 1 p(x)=i=1KαiN(xμi,Σi),i=1Kαi=1

若从混合模型的角度来说:

  • 数据可以表示为:
    { x : X = { x i } i = 1 N z : Z = { z i } i = 1 N { z ∈ { C 1 , C 2 , … , C K } P ( z ) ∈ { p 1 , p 2 , … , p K } \begin{cases} x: X = {\lbrace x_i \rbrace}_{i=1}^{N} \\ z: Z = {\lbrace z_i \rbrace}_{i=1}^{N} \\ \end{cases} \qquad \begin{cases} z \in {\lbrace C_1, C_2, \dots, C_K \rbrace} \\ P(z) \in {\lbrace p_1, p_2, \dots, p_K \rbrace} \\ \end{cases} {x:X={xi}i=1Nz:Z={zi}i=1N{z{C1,C2,,CK}P(z){p1,p2,,pK}

  • 其中 x x x表示ovserve variable, z z z表示latent variable

  • 这里的隐变量 z z z表示样本X分别属于哪一个高斯

从概率图的角度看,GMM是概率生成模型,可以从隐变量的分布中生成N个数据,如下图:

11.2 通过MLE估计参数

首先简单的导出一下GMM的公式(核心思想就是引入 z z z):
P ( x ) = ∑ i = 1 K P ( x , z = C i ) = ∑ i = 1 K P ( x , z = C i ) = ∑ i = 1 K P ( z = C i ) P ( x ∣ z = C i ) = ∑ i = 1 K p i ⋅ N ( x ∣ μ i , Σ i ) P(x) = \sum_{i=1}^K P(x, z = C_i) = \sum_{i=1}^K P(x, z = C_i) = \sum_{i=1}^K P(z=C_i)P(x|z = C_i )= \sum_{i=1}^K p_i \cdot N(x|\mu_i, \Sigma_i) P(x)=i=1KP(x,z=Ci)=i=1KP(x,z=Ci)=i=1KP(z=Ci)P(xz=Ci)=i=1KpiN(xμi,Σi)
假设我们直接用MLE去进行参数求解,有:
θ ^ M L E = a r g max ⁡ θ log ⁡ P ( X ) = a r g max ⁡ θ ∑ i = 1 N log ⁡ P ( x i ) = a r g max ⁡ θ ∑ i = 1 N log ⁡ ∑ j = 1 K p j ⋅ N ( x i ∣ μ j , Σ j ) \begin{align} {\hat \theta}_{MLE} & = arg\max_{\theta} \log P(X) \\ & = arg\max_\theta \sum_{i=1}^N \log P(x_i) \\ & = arg\max_\theta \sum_{i=1}^N \log \sum_{j=1}^K p_j \cdot N(x_i|\mu_j, \Sigma_j) \end{align} θ^MLE=argθmaxlogP(X)=argθmaxi=1NlogP(xi)=argθmaxi=1Nlogj=1KpjN(xiμj,Σj)
我们发现公式中的对数还嵌套了累加运算,导致无法通过MLE求的解析解。

11.3 EM求解

由于无法求的解析解,我们只能通过近似方法求的近似解,通过GMM的性质,我们可以代入EM公式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9UOSavbJ-1686302925549)(assets/11 GMM——高斯混合模型/image-20230606192743051.png)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/628587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Jmeter】提取和引用Token

1.执行获取token接口 在结果树这里,使用$符号提取token值。 $根节点,$.data.token表示提取根节点下的data节点下的token节点的值。 2.使用json提取器,提取token 变量路径就是把在结果树提取的路径写上。 3.使用BeanShell取样器或者BeanShell后…

(数组) 941. 有效的山脉数组 ——【Leetcode每日一题】

❓941. 有效的山脉数组 难度:简单 给定一个整数数组 arr,如果它是有效的山脉数组就返回 true,否则返回 false。 让我们回顾一下,如果 arr 满足下述条件,那么它是一个山脉数组: arr.length > 3在 0 &…

Redis指令-认识NoSQl和Redis常见的通用命令

1. 认识NoSQL 非关系型数据库 NoSQL是指一类非关系型数据库,它们采用的数据模型不同于传统的关系模型,它通常使用键值对、文档、图形等非传统的数据结构进行数据存储,不遵循预定义的模式和模型。NoSQL数据库通常分布式、高可扩展性&#xff0…

4.多线程之JUC并发编程1

1.List集合类不安全(以前单线程永远是安全的,多线程集合就不安全了) 都是ConcurrentModificationException并发修改异常,在有sout输出的情况下出来的,因为多线程边读边写 //并发情况下ArrayList是不安全的 可以用Vector在jdk1.0出来的,List1.2出来的加了同步锁 List listnew Ve…

瑞吉外卖业务开发

数据库 我电脑上的数据库登录指令:mysql -uroot -p123456常用指令:show databases、user 数据库名、show tables。 创建项目 创建完项目后,要及时检查maven仓库的配置,jdk的配置,项目的编码,如下图。 配…

数据同步智能化!利用ETLCloud自动化流程实现钉钉OA系统数据自动同步至数仓

钉钉数据同步需求 钉钉是一款企业级通讯和协同办公应用软件,钉钉为企业提供包括聊天、通讯录、日程安排、考勤打卡、审批、通知公告、文件共享、会议等功能,很多企业都在使用钉钉。 很多情况下我们需要把钉钉的数据拉取到数据库中,然后再通…

案例分享 | 汽车连接器焊锡质量检测

连接器是电脑、电视、汽车等常见产品中不可缺少的部件,主要由接触件、绝缘体与金属壳体组成,用于传输电流或信号。 汽车连接器约占全球连接器市场四分之一的份额,随着未来汽车产业的持续膨胀,市场前景广阔。连接器产品的微型化、…

RPC通用爬虫

文章目录 RPC通用爬虫一、项目案例二、Rpc原理解析三、Rpc代码分享四、自我总结 RPC通用爬虫 一、项目案例 测试网址: aHR0cDovL3d3dy5mYW5nZGkuY29tLmNuL3NlcnZpY2UvYnVsbGV0aW5fbGlzdC5odG1sP3R5cGVhPWI2N2MzYjhhZGJkY2U3NGQ 二、Rpc原理解析 图解关系: ​ 主要包括,爬虫程…

Dockerfile应用的容器化

文章目录 Dockerfile应用的容器化应用的容器化——简介应用的容器化——详解单体应用容器化获取应用代码分析Dockerfile容器化当前应用/构建具体的镜像推送镜像到仓库运行应用程序测试总结 最佳实践利用构建缓存合并镜像 命令总结 Dockerfile应用的容器化 Docker 的核心思想是…

为什么网络安全缺口大,招聘却很少?

2023 年我国网络空间安全人才数量缺口超过了 140 万,就业人数却只有 10 多万,缺口高达了 93%。这里就有人会问了: 1、网络安全行业为什么这么缺人? 2、明明人才那么稀缺,为什么招聘时招安全的人员却没有那么多呢&am…

头部大模型公司进京赶考,向量数据库成为应考神器

日前,由品玩主办的「模型思辨」国内大模型产业生态研讨会在北京举办,Zilliz 与 360 集团、阿里巴巴、昆仑万维等来自大模型产业链的头部公司及投资机构参会,会上 Zilliz 创始人兼首席执行官星爵、360 集团创始人周鸿祎、昆仑万维创始人方汉等…

C++ 类设计的实践与理解

前言 C代码提供了足够的灵活性,因此对于大部分工程师来说都很难把握。本文介绍了写好C代码需要遵循的最佳实践方法,并在最后提供了一个工具可以帮助我们分析C代码的健壮度。 1. 尽可能尝试使用新的C标准 到2023年,C已经走过了40多个年头。新…

如何进行微服务测试?

微服务测试是一种特殊的测试类型,因为它涉及到多个独立的服务。以下是进行微服务测试的一般性步骤: 1. 确定系统架构 了解微服务架构对成功测试至关重要。确定每个微服务的职责、接口、依赖项和通信方式。了解这些信息可以帮助您更好地规划测试用例和测…

day09——线性回归

线性回归 一、什么是线性回归1,定义与公式2,线性回归的特征与目标的关系 二、线性回归的损失和优化原理1,损失函数2,优化算法 三、API四、实操:波士顿房价预测1,数据来源:scikit-learn2&#xf…

Acgis中实现栅格经纬度和行政区关联

写在前面 我是一个Acgis小白,写这篇博客是为了记录完成过程,如果有更高效的办法欢迎分享~ 我用的是Arcgis10.2。 需求描述 目前已有意大利的shp文件,希望将意大利划分成0.1*0.1经纬度的栅格,并且关联每个栅格中心点所属的省份信…

DBeaver复制数据库(数据库表结构以及内容)

一、 首先先建立一个数据库 (已有请忽略此步骤) (名字 字符集等按需要自己填写) 二、选择要复制的数据库 2.1右键选择 工具->转储数据库 2.2选择要导出的数据 2.3 选择要导出的路径 2.4 点击开始,等待导出完…

Revit中绘制弯曲的靠背栏杆和生成过梁

一、Revit中怎么绘制弯曲的靠背栏杆 栏杆通常我们见过位于在阳台处,但是在我们的古建筑中很常见到一种靠背栏杆,例如凉亭里面就很常见这种栏杆。那么如何绘制呢? 利用公制栏杆——支柱进行绘制 要运用放样工具进行绘制,设置一个工作平面&…

中国电子学会2023年05月份青少年软件编程Scratch图形化等级考试试卷四级真题(含答案)

2023-05 Scratch四级真题 分数:100 题数:24 测试时长:90min 一、单选题(共10题,共30分) 1. 下列积木运行后的结果是?(B)(说明:逗号后面无空格)&#xff…

mysql join 与 拆分成单表查询如何选择

参考以下文章,不错 数据库联表查询时,是直接使用join好还是分别查询到数据后自己处理较好? - 知乎 一,声明 1,数据量 首先场景是多个表数据量比较大,可能达到百万级 2,结论:最…

springboot项目启动指定对应环境的方法

1. 多环境准备 今天教大家一种多环境profile的写法,当然也可创建多个yml文件。如下所示: spring:application:name: cms-discovery-eureka-ha --- # 区分多环境 spring:profiles: peer1 server:port: 9092 eureka:in…