【机器学习】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而不是圆形

相关推荐
youyoulg9 小时前
无监督学习—聚类
人工智能·机器学习·支持向量机
linhaijiao9 小时前
C++与人工智能框架
开发语言·c++·算法
前端付豪9 小时前
实现代码块复制和会话搜索
前端·人工智能·后端
阿聪谈架构9 小时前
第06章:AI RAG 检索增强生成 — 从零到生产(上)
人工智能·后端
会算数的⑨9 小时前
Spring AI Alibaba 学习(四):ToolCalling —— 从LLM到Agent的华丽蜕变
java·开发语言·人工智能·后端·学习·saa·ai agent
Ivanqhz9 小时前
linearize:控制流图(CFG)转换为线性指令序列
开发语言·c++·后端·算法·rust
云和数据.ChenGuang9 小时前
langchain安装过程中的故障bug
人工智能·langchain·bug·langsmith·langchain-core
2401_873204659 小时前
基于C++的区块链实现
开发语言·c++·算法
Frostnova丶9 小时前
LeetCode 3546. 等和矩阵分割
算法·leetcode·矩阵
得物技术9 小时前
Claude在得物App数仓的深度集成与效能演进
大数据·人工智能·llm