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博客

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

书 :机器学习 周志华

相关推荐
新新技术迷13 小时前
Node给AI接口做SSE代理与鉴权
人工智能
redreamSo13 小时前
大模型是不是到顶了?瓶颈到底在哪
人工智能·openai
Oo92013 小时前
Tool Use 背后的技术逻辑
人工智能
姗姗来迟了13 小时前
Vue3封装AI流式对话组件踩坑实录
人工智能
码上天下14 小时前
用Pinia管理AI多会话状态
人工智能
用户0543243297015 小时前
Next.js接大模型流式SSE实操踩坑
人工智能
Lihua奏15 小时前
# 机器学习:机器是怎么从数据里学出规则的
机器学习
Assby15 小时前
从 Function Calling 到 MCP:理解 Agent 工具调用的底层通信机制
人工智能·后端
小星AI15 小时前
Claude Code 从入门到精通,一步到位
人工智能
后端小肥肠15 小时前
Codex + Obsidian 做人生副本视频:输入主题文案,直通剪映草稿
人工智能·aigc·agent