当前位置: 首页 > news >正文

数据挖掘 7.1~7.4 Clustering聚类

7.1 How to go beyond classification, regression and dimensionality reduction
7.2 Applied SRM in Barebones Pytorch
7.3 Clustering
7.4 Clustering in sklearn
7.1 如何超越分类、回归和降维
7.2 在 Barebones Pytorch 中应用 SRM
7.3 聚类
7.4 在 Sklearn 中进行聚类

Clustering聚类

  • Clustering 聚类
    • 聚类的目标 (Grouping objects)
    • 评价指标 (Metrics)
      • (1) 内部评价指标(只用训练数据本身,无标签)
      • (2) 外部评价指标(需要外部真值标签 ground truth)
  • K-means 聚类算法 (K-means Clustering)
    • 1. 输入与参数
    • 2. 算法步骤
      • (1) 初始化 (Initialization)
      • (2) 迭代优化 (Repeat)
      • (3) 收敛条件 (Convergence)
    • 3. 关键说明
    • 4. REO
      • 4.1 表示方式 (Representation)
      • 4.2 评价目标 (Evaluation)
      • 4.3 优化 (Optimization)
      • 4.4 隐含超参数 (Hidden Hyperparameters)
    • 5 Clustering Distortion 聚类中的失真度量
      • 5.1 单个样本的失真
      • 5.2 整体失真 (Overall Distortion)
      • 5.3 作为目标函数 (Objective Function)

Clustering 聚类

通常输入是一个 数据矩阵 XXX,聚类是一种 无监督学习 (Unsupervised technique),数据没有标签。
在这里插入图片描述

聚类的目标 (Grouping objects)

目标:同一簇 (cluster) 内的对象彼此相似,而不同簇之间的对象差异较大
这就是所有聚类方法的基本优化问题

评价指标 (Metrics)

(1) 内部评价指标(只用训练数据本身,无标签)

Davies-Bouldin Index (DB 指数)
Dunn’s Index (Dunn 指数)
Silhouette Coefficient (轮廓系数)
这些指标是用 数据的紧密度和分离度 来评价聚类效果。

(2) 外部评价指标(需要外部真值标签 ground truth)

Purity (纯度)
Jaccard Index (杰卡德指数)
Dice Index (Dice 系数)

K-means 聚类算法 (K-means Clustering)

K-means 是最常用的聚类算法之一,通过迭代优化,将数据划分为 kkk 个簇,使得簇内样本尽可能相似。

1. 输入与参数

  • 输入 (Input): 数据矩阵 XXX
  • 超参数 (Hyper-parameters):
    • 聚类数 kkk (分成多少部分)
    • 初始聚类中心
  • 输出 (Output): 每个样本所属的簇(cluster assignment)
    在这里插入图片描述
    上图 K=5K=5K=5

2. 算法步骤

(1) 初始化 (Initialization)

随机选择 kkk 个样本作为初始聚类中心:
mi,i=1,…,km_i, \quad i = 1, \dots, k mi,i=1,,k

(2) 迭代优化 (Repeat)

样本分配 (Assignment Step):

对于每个样本 xtx^txt,分配给最近的簇中心:
bit={1,if ∥xt−mi∥=min⁡j∥xt−mj∥0,otherwiseb_i^t = \begin{cases} 1, & \text{if } \|x^t - m_i\| = \min_j \|x^t - m_j\| \\ 0, & \text{otherwise} \end{cases} bit={1,0,if xtmi=minjxtmjotherwise

中心更新 (Update Step):

对于每个簇中心 mim_imi,更新为该簇所有样本的均值:
mi←∑tbitxt∑tbitm_i \leftarrow \frac{\sum_t b_i^t x^t}{\sum_t b_i^t} mitbittbitxt

(3) 收敛条件 (Convergence)

当所有 mim_imi 不再变化或变化很小,算法结束。

3. 关键说明

  • bit=1b_i^t = 1bit=1 当且仅当第 iii 个簇中心是样本 xtx^txt 最近的中心。
  • 否则 bit=0b_i^t = 0bit=0
  • K-means 的优化目标是最小化 簇内平方误差 (Within-Cluster Sum of Squares, WCSS)

min⁡b,m∑i=1k∑tbit∥xt−mi∥2\min_{b, m} \sum_{i=1}^k \sum_t b_i^t \|x^t - m_i\|^2 b,mmini=1ktbitxtmi2

4. REO

4.1 表示方式 (Representation)

每个样本 xxx 被分配到最近的“质心 (centroid)”。
聚类中心集合:

M={m1,m2,…,mK}M = \{ m_1, m_2, \dots, m_K \} M={m1,m2,,mK}
聚类分配规则(最近邻原则):

c(x)=arg⁡min⁡j=1…Kd(x,mj),c(x)∈{1,…,K}c(x) = \arg\min_{j=1 \dots K} d(x, m_j), \quad c(x) \in \{1, \dots, K\} c(x)=argj=1Kmind(x,mj),c(x){1,,K}

4.2 评价目标 (Evaluation)

目标:确定聚类中心 M={m1,…,mK}M = \{ m_1, \dots, m_K \}M={m1,,mK},并将样本划分到集合
S={S1,S2,…,SK}S = \{ S_1, S_2, \dots, S_K \} S={S1,S2,,SK}

要求:最小化簇内样本与中心的距离
数学形式:
min⁡S∑j=1K∑x∈Sjd(x,mj)\min_S \sum_{j=1}^K \sum_{x \in S_j} d(x, m_j) Sminj=1KxSjd(x,mj)

其中,聚类中心为簇内所有样本的均值:
mj=1∣Sj∣∑x∈Sjxm_j = \frac{1}{|S_j|} \sum_{x \in S_j} x mj=Sj1xSjx

4.3 优化 (Optimization)

这是一个 NP-Hard 问题,全局最优解难以计算
K-means 使用近似迭代算法,可以收敛到一个 局部最优解

4.4 隐含超参数 (Hidden Hyperparameters)

距离度量 (Distance Metric):

  • 欧几里得距离
    d(x,y)=∑i=1n(xi−yi)2d(x, y) = \sqrt{\sum_{i=1}^n (x_i - y_i)^2} d(x,y)=i=1n(xiyi)2
  • 曼哈顿距离 (Manhattan Distance)
    d(x,y)=∑i=1n∣xi−yi∣d(x, y) = \sum_{i=1}^n |x_i - y_i| d(x,y)=i=1nxiyi
  • 其他相似度指标
  • 不同的距离度量可能导致不同的聚类结果。

5 Clustering Distortion 聚类中的失真度量

在基于样本 (exemplar-based) 的聚类方法中(例如 K-means),我们用一组聚类中心 C={C1,C2,…,CK}C = \{C_1, C_2, \dots, C_K\}C={C1,C2,,CK} 来表示数据集。
为了衡量聚类效果,可以通过计算样本点与其分配的聚类中心的距离来定义 失真 (distortion)

5.1 单个样本的失真

如果一个点 xxx 被分配到中心 CjC_jCj,其失真定义为:

d(x;C)=∥x−Cj∥2d(x; C) = \|x - C_j\|^2 d(x;C)=xCj2

也可以写成:

d(x;C)=min⁡j∈{1,…,K}∥x−Cj∥2d(x; C) = \min_{j \in \{1, \dots, K\}} \|x - C_j\|^2 d(x;C)=j{1,,K}minxCj2
如果 C=xC=xC=x,则失真为0。

5.2 整体失真 (Overall Distortion)

对于整个训练集 X={x1,x2,…,xN}X = \{x_1, x_2, \dots, x_N\}X={x1,x2,,xN},总失真为:

D(X;C)=∑i=1Nd(xi;C)D(X; C) = \sum_{i=1}^N d(x_i; C) D(X;C)=i=1Nd(xi;C)

即所有点到其最近聚类中心的平方距离和。

5.3 作为目标函数 (Objective Function)

失真函数是聚类的优化目标:

  • 较低的失真:表示样本点和聚类中心更接近,聚类效果更好
  • 较高的失真:表示样本点距离聚类中心较远,聚类效果较差
http://www.dtcms.com/a/350979.html

相关文章:

  • Spark云原生流处理实战与风控应用
  • 【贪心】11 盛最多水的容器(双指针解法)
  • 解决Windows更新后WPF程序报TypeLoadException异常的问题
  • 论文Review 激光3DGS GS-SDF | IROS2025 港大-MARS!| 激光+3DGS+NeRF会得到更好的几何一致性和渲染结果!?
  • OceanStor Pacific 9926全闪分布式存储,海量数据大容量场景的救星来咯[特殊字符]!
  • 列表里的对象,按对象的某个属性值排序
  • 如何利用ArcGIS探究环境与生态因子对水体、土壤、大气污染物等影响实践技术
  • 深入了解linux系统—— 线程互斥
  • 软件开发|Shiro框架以及集成Spring Boot
  • AI算力提升7.5倍!英伟达发布新一代机器人超级计算机Jetson Thor,驱动物理AI革命
  • SMOTE过采样实现过程详解
  • 论文阅读 2025-8-26 一些半监督学习的工作
  • JVM-(11)JVM-定位OOM问题
  • 论文学习日志——忆阻器与神经网络——part1
  • Python大型数组计算完全指南:从基础到分布式系统实践
  • Zookeeper(分布式RPC调用和分布式文件储存)
  • [小练习]100行不到使用Java Socket网络编程实现定向聊天
  • 从双重检查锁定的设计意图、锁的作用、第一次检查提升性能的原理三个角度,详细拆解单例模式的逻辑
  • 基于SpringBoot的网上点餐系统
  • OpenTenBase核心技术解密:突破OLTP与OLAP边界的分布式数据库革新
  • Flask模块如何使用
  • 浅谈技术顾问的转型困境
  • Web前端开发基础
  • windows 下 使用C++ 集成 zenoh
  • ArcGIS学习-9 ArcGIS查询操作
  • vLLM轻松通
  • ArcGIS学习-10 空间连接和矢量分析
  • 百度IOS客户端岗位--面试真题分析
  • 5G 三卡图传终端:应急救援管理的 “可视化指挥核心”
  • PostgreSQL诊断系列(3/6):性能瓶颈定位——缓冲池、I/O与临时文件