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

AI目录:sheng的学习笔记-AI目录-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博客

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

书 :机器学习 周志华

相关推荐
逸模2 小时前
告别熬夜手工整理台账,逸模智能归集实现项目数据自动化存档
大数据·运维·人工智能·笔记·其他·信息可视化·自动化
weixin_397574092 小时前
生产管理和设备管理:制造执行层的AI痛点
人工智能·制造
冬奇Lab2 小时前
Agent 系列(16):工具链设计——让 LLM 用对工具的五个原则
人工智能·llm·agent
冬奇Lab2 小时前
每日一个开源项目(第125篇):taste-skill - 给 AI 装上审美,让前端不再千篇一律
人工智能·开源·agent
Ajie'Blog3 小时前
Copilot Agent Tasks API 开放:AI 编程开始进入后台任务时代
服务器·前端·javascript·人工智能·copilot·ai编程
SEONIB_Explorer3 小时前
AI SEO 与传统SEO成本对比:哪种更划算?
人工智能
一次旅行3 小时前
AI领域每日资讯报告
人工智能
Python私教3 小时前
Cursor + Claude Code 全流程实战:搭一套生产级 AI 编程工作流(2026 最新版)
人工智能·语言模型·qwen·ollama·本地大模型·大模型部署·deepseek
来让爷抱一个3 小时前
MonkeyCode 的 Git 协作功能:团队开发新范式
人工智能·ai编程