sheng的学习笔记-AI-高斯混合模型(GMM)

AI目录:sheng的学习笔记-AI目录-CSDN博客

sheng的学习笔记-AI-聚类(Clustering)-CSDN博客需要学习前置知识:

聚类,可参考  sheng的学习笔记-AI-聚类(Clustering)-CSDN博客

EM算法,可参考 sheng的学习笔记-AI-EM算法-CSDN博客

贝叶斯,可参考  sheng的学习笔记-AI-贝叶斯(Bayesian)分类-CSDN博客

基础知识

什么是高斯混合模型

高斯混合模型(Gaussian Mixture Models ,GMMs)假设存在一定数量的高斯分布,并且每个分布代表一个簇。高斯混合模型倾向于将属于同一分布的数据点分组在一起

它是一种基于概率分布的聚类算法,它是首先假设每个簇符合不同的高斯分布,也就是多元正态分布,说白了就是每个簇内的数据会符合一定的数据分布。

我们有三个簇,用三种颜色表示-蓝色、绿色和青色。我们用红色突出显示一个数据点,这个点划分进蓝色簇的概率为1,而划分进绿色簇或者青色簇的概率为0。

考虑另一个点-介于蓝色和青色簇之间(在下图中突出显示),这个点划分进绿色簇的概率为0,对吧?而划分进蓝色、青色簇的概率分别是0.2,0.8。

不再使用基于距离的模型,而是使用基于分布的模型,这就是高斯混合模型出现在本文的意义

举例

想象你在一个果园,这个果园里有苹果、梨和桃子三种水果。每种水果的大小和重量都有一定的特点。高斯混合就像是我们用来描述这些水果特点的工具。在这个模型中,我们用三个“高斯分布”(简单来说,就是一种特殊的图形或曲线)来分别描述苹果、梨和桃子的大小和重量。

每个高斯分布都可以被看作是一条“曲线”,这条曲线的形状由三个参数决定:均值(中心位置)、协方差(宽度或形状)和混合系数(高度)。算法的目标就是调整这些曲线,让它们尽可能准确地描述每种水果的特点。

数学知识

正态分布/高斯分布

正态分布(Normal distribution),也称“常态分布”,又叫高斯分布(Gaussian distribution),正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线

(多元)高斯分布

上述的只适用于单个变量,在两个变量的情况下,我们将得到如下所示的三维钟形曲线,而不是二维钟形曲线:

对n维样本空间X中的随机向量x,若x服从高斯分布,其概率密度函数为

其中的a,是代表我们选择每个簇的概率,那么它的和肯定是等于1的

流程

  1. 假设k个高斯分布,然后判断每个样本符合各个分布的概率,将该样本划为概率最大的那个分布簇内
  2. 然后一轮后,进行更新我们的高斯分布参数,就会用到我们的极大似然估计
  3. 然后再基于新的分布去计算符合各个分布的概率,不断迭代更新,直至模型收敛达到局部最优解,常见的算法就是EM算法,它会同时估计出每个样本所属的簇类别以及每个簇的概率分布的参数。

概率密度常记为:f(X)=p(x∣μi​,∑)   意思就是在参数为一定值的情况下符合的分布,对应相应的概率密度函数。

我们会求出数据 j 符合每个分布的概率,然后获得之中最大的概率,那么数据 j 就会被划分到与之对应的簇

在求该概率时,公式分子和分母都存在某一分布的概率密度,我们只是知道符合高斯分布,但是具体的参数是不知道的,

为了获得概率密度函数,采用极大似然的方式(常见的有EM算法),就是我们的样本数据出现在对应分布的概率乘积达到最大

最大化似然:

算法代码

上图中公式如下

解释如下 

示例

数据集:

参考文章

【机器学习】聚类算法——高斯混合聚类(理论+图解)-CSDN博客

独家 | 使用高斯混合模型,让聚类更好更精确(附数据&代码&学习资源)

书 :机器学习  周志华

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

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

相关文章

OVS:网桥的状态:fail_mode模式

目录 1.创建一个普通的ovs网桥不做任何配置 2.检测fail_mode值,默认为空 3.创建netns并配置sto网桥的两个普通端口并配置IP信息 4.默认情况下的两个端口下挂两个虚拟机v3,v4天然通信-ping-ok 5.修改网桥的fail_mode为standalone,原来的通信没有影响 6.修改了…

okcc呼叫中心系统通话声音小有哪几种处理办法?

处理OKCC呼叫中心系统通话声音过小的几种方法包括: 第一种: 1、IP话机:通过话机上的音量调节按钮来进行调节。 2、模拟话机:修改语音网关上的增益来实现。 “ 往IP增益”表示电话呼入的声音调节,主要针对内部分…

伸缩盒模型,flex布局

目录 1、伸缩容器、伸缩项目 2、主轴方向(flex-direction) 3、主轴换行方式(flex-wrap) 4、flex-flow 5、主轴对齐方式(justify-content) 6、侧轴对齐方式_一行(align-items) 7、侧轴对齐方式_多行(align-content) 8、元素水平垂直居中 9、项目在主轴的基准长度(flex-b…

运维.Linux下执行定时任务(中:Cron的常用替代方案)

运维系列 Linux下执行定时任务(中:Cron的常用替代方案) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAd…

CMA软件测试报告对企业和用户有什么好处?

CMA是中国计量认证的简称,由省级以上人民政府计量行政部门对检测机构的检测能力及可靠性进行的一种全面的认证及评价,认证对象是所有对社会出具公正数据的产品质量监督检验机构及其它各类实验室,是需要强制性认证的资质。取得该资质认证的&am…

【golang学习之旅】复杂数据类型——指针 函数

系列文章 【golang学习之旅】使用VScode安装配置Go开发环境 【golang学习之旅】报错:a declared but not used 【golang学习之旅】Go 的基本数据类型 【golang学习之旅】深入理解字符串string数据类型 【golang学习之旅】go mod tidy 【golang学习之旅】记录一次 p…

spring02

bean中公共属性抽取出来&#xff0c;统一配置 <bean class"com.cj.Animal" id"animal"><property name"category" value"犬科"/></bean><bean class"com.cj.Dog" id"dog1" parent"anim…

这就是人性的丑恶,很残酷但很现实

这些年我喜欢跟垃圾撕破脸&#xff0c;包括垃圾亲戚&#xff0c;我是不会跟你讲什么感情的&#xff0c;该滚蛋就滚蛋。我最不喜欢听什么今日留一线&#xff0c;日后好相见。 之前我还不懂事的时候&#xff0c;就有那种亲戚叫我帮他介绍工作&#xff0c;我照做了。 结果&#xf…

Android 11 ,默认授予预置应用/APK 需要的权限,解决permission denied for window type 2003 问题。

写这篇文章的原因是解决了一个APP闪退的问题&#xff0c;闪退的原因是插拔U盘时&#xff0c;注册的广播接收者接收到广播需要弹出一个Dialog询问是否需要打开U盘&#xff0c;这个Dialog设置的是系统级别悬浮窗&#xff0c;没有这个权限&#xff0c;报错导致闪退&#xff0c;下面…

【SpringBoot文件压缩下载】文件夹压缩下载

1. Controller 使用hutool的ZipUtil根据文件夹路径打包成File对象然后调用自定义的FileResponseUtil进行单线程数据传输 import cn.hutool.core.date.DateUtil; import com.github.xiaoymin.knife4j.annotations.ApiSort; import im.gy.zfile.core.util.FileResponseUtil; im…

腰背肌筋膜炎的症状及治疗

腰背肌筋膜炎的症状 一、疼痛特点&#xff1a; 主要表现为腰背部弥漫性钝痛&#xff0c;尤以两侧腰肌及髂嵴上方更为明显。疼痛特点为晨起痛&#xff0c;日间轻&#xff0c;傍晚复重。长时间不活动或活动过度均可诱发疼痛&#xff0c;病程长&#xff0c;且因劳累及气候变化而发…

微信小程序封装请求API-promise格式

微信小程序原生的请求API就是wx.request wx.request({url: example.php, //仅为示例&#xff0c;并非真实的接口地址data: {x: ,y: },header: {content-type: application/json // 默认值},success (res) {console.log(res.data)} })有时候不能很好的适配我们的开发需求&#…

通过Nginx实战讲解HTTP的301和302状态码的区别

通过Nginx实战讲解HTTP的301和302状态码的区别 1. 简介2. 301永久重定向3. 302临时重定向1. 简介 HTTP状态码中,301和302都是网页重定向跳转。301重定向是一种永久重定向,而302跳转是暂时的跳转    ● 为什么需要重定向:    网站是会被大量用户收藏在自己的浏览器收藏夹…

小红书营销:解锁企业增长新引擎,与小红书集成实现精准获客

在数字化营销的新时代&#xff0c;小红书以其独特的社区文化和精准的用户定位&#xff0c;成为了品牌和企业争相入驻的热门平台。今天将探讨如何通过小红书平台进行营销获客&#xff0c;并强调与企业集成的重要性&#xff0c;以实现更高效的品牌增长。 一、小红书营销的独特优…

基于 MHA 的 MySQL 高可用主从架构

Author&#xff1a;Arsen Date&#xff1a;2024/06/25 目录 一、前言1.1 概述1.2 组件1.3 流程 二、环境三、部署3.1 基本环境3.1.1 hosts 配置3.1.2 配置 SSH 免密访问 3.2 MySQL 主从3.2.1 基础环境配置3.2.2 启动 MySQL 实例3.2.3 配置 MySQL 主从3.2.4 MySQL 主从同步验证 …

Calibre - 合并电子书(EpubMerge)

这里使用 Calibre 软件和 EpubMerge 插件 EpubMerge github &#xff1a; https://github.com/JimmXinu/EpubMerge 1、安装 Merge 插件 安装后需要重启 calibre 2、查看设置 4 3、选中文件、开始合并 合并完成后&#xff0c;会弹窗窗口&#xff0c;来编辑 合辑的元信息 完成…

基于python的随机森林多分类模型

1.随机森林多分类模型 1.1 基本原理 随机森林&#xff08;Random Forest&#xff09;是一种基于决策树的集成学习方法&#xff0c;它通过将多个决策树进行组合&#xff0c;以投票或平均的方式得到最终的预测结果。在多分类问题中&#xff0c;随机森林通过构建多个决策树&#…

开发RpcProvider的网络服务

首先更改src的CMakeLists.txt的内容为&#xff1a; #当前目录的所有源文件放入SRC_LIST aux_source_directory(. SRC_LIST)#生成SHARED动态库 #add_library(mprpc SHARED ${SRC_LIST})#由于muduo是静态库&#xff0c;为了使用muduo&#xff0c;将mprpc也生成为静态库 add_libr…

A股周一走势历史罕见,你知道是为什么吗?

今天的A股&#xff0c;让人历史罕见&#xff0c;你知道是为什么吗&#xff1f;盘面出现2个重要信号&#xff0c;一起来看看&#xff1a; 1、今天大盘低开低走&#xff0c;跌懵了&#xff0c;两市板块全部在等待翻红&#xff0c;这让人历史罕见。 2、盘面出现2个重要信号&#x…

java —— 网络编程(UDP)

一、InetAddress 类 InetAddress address1InetAddress.getLocalHost(); 该命令用于获取本机主机信息&#xff0c;返回主机名与 IP 地址&#xff0c;不过如果本机有多个网卡的话&#xff0c;返回的 IP 地址并不一定是目前正在联网的那个。 InetAddress address2InetAddress.g…