【机器学习】23. 聚类-GMM: Gaussian Mixture Model

1. 定义和假设

定义:probabilistic clustering(model-base)

假设:数据服从正态分布

2. 算法内容

我们假设数据是由k个高斯(正态)分布混合生成的。每个分布有2个参数:μ和σ。

一个分布对应一个集群

从u和o的随机初始值开始

在每次估计后,我们计算每个例子属于每个分布(簇)的概率

利用概率,我们重新计算参数,直到它们不变。

案例

假设有20000个数据点,两个高斯分布,两个标准差都是2,使用GMM聚类。

  1. 初始化均值方差。标准差限定了,初始均值即可。随机初始化均值分别为-2和3
  2. 根据贝叶斯计算概率

    0.5 是每个分布的权重
  3. 更新均值

    新的均值是基于数据点的加权平均值计算的. 权重由每个数据点属于特定分布的概率决定
  4. 迭代和收敛, 重复步骤2和步骤3, 直到μ不再产生变化或变化非常小, 数据点最终分配给概率更高的分布

3. 和K-Means对比

k-means: crisp(hard)-assignment

GMM -- probabilistic(soft assignment)

GMM可以看作是k均值的泛化

GMM更灵活。允许椭圆的cluster而不是圆形

相关推荐
DatGuy5 分钟前
Week 26: 深度学习补遗:LSTM 原理与代码复现
人工智能·深度学习·lstm
蘑菇小白5 分钟前
时间复杂度
数据结构·算法
czlczl2002092528 分钟前
算法:组合问题
算法·leetcode·职场和发展
CoderYanger30 分钟前
优选算法-字符串:63.二进制求和
java·开发语言·算法·leetcode·职场和发展·1024程序员节
杜子不疼.37 分钟前
光影交织:基于Rokid AI眼镜的沉浸式影视剧情互动体验开发实战
人工智能
IT_陈寒40 分钟前
Python高手都在用的5个隐藏技巧,让你的代码效率提升50%
前端·人工智能·后端
Cx330❀41 分钟前
C++ STL set 完全指南:从基础用法到实战技巧
开发语言·数据结构·c++·算法·leetcode·面试
love530love1 小时前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar
周杰伦_Jay1 小时前
【 2025年必藏】8个开箱即用的优质开源智能体(Agent)项目
人工智能·机器学习·架构·开源
大模型真好玩1 小时前
低代码Agent开发框架使用指南(八)—Coze 知识库详解
人工智能·agent·coze