聚类算法基础篇

本文介绍了无监督学习中的聚类算法基础,包括聚类的目的和原则,O型和R型聚类的区别,以及聚类性能度量的外部和内部指标。此外,还讨论了距离计算方法如欧氏距离和闵氏距离,并列举了常见的聚类算法,如K均值、DBSCAN和基于层次的聚类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.聚类(clustering)

在无监督 (unsupervised learning) 学习中,训练样本的标记信息是未知的,目的是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。在无监督学习中聚类算法的应用十分广泛。

聚类是将数据集划分为若干个通常情况下不相交的子集,每个子集称为一个“簇”(cluster),每个簇可能对应着一些潜在的类别。聚类的基本原则是:簇内的相似度(intra-cluster similarity)尽可能高,簇间的相似度(inter-cluster similarity)尽可能低。聚类过程仅能自动形成簇结构,簇所对应的概念语意需要由使用者来把握和命名。

从数据分析角度,聚类分析通常分为两种:

  • O型聚类(对样本进行分类)
  • R型聚类(对指标进行分类)

Q型聚类分析特点: 1、可以综合利用多个变量的信息对样本进行分类; 2、分类结果是直观的,聚类谱系图非常清楚地表现其数值分类结果。

R型聚类分析特点: 1、不但可以了解个别变量之间的关系的亲疏程度,而且可以了解各个变量组合之间的亲疏程度。2、根据变量的分类结果以及它们之间的关系,可以选择主要变量进行回归分析或Q型聚类分析。

2.性能度量

聚类性能度量也称有效性指标(validity index)。通常分为两类:

  • 外部指标,即将聚类结果与某个“参考模型”进行比较。
  • 内部指标,即直接考察聚类结果而不利用任何参考模型。

常用的外部指标:Jaccard系数(Jaccard Coefficient, 简称JC)、FM指数(Fowlkes and Mallows Index, 简称FMI)、Rand指数 (简称RI)。上述性能度量的结果值在[0,1]区间,且值越大越好。

常用的内部指标:如:DB指数(Davies-Bouldin Index, 简称DBI)、Dunn指数(Dunn Index, 简称DI)。DBI值越小越好,而DI值越大越好。

3.距离计算

距离度量(distance measure)需要满足四个基本特质:非负性、同一性、对称性、直递性

最常用的闵氏距离(Minkowski distance):
 dmk=[∑u=1n ∣xiu−xju∣p]1p  \ d_{mk} = [\sum_{u=1}^n\ |x_{iu}-x_{ju}|^p]^\frac 1p \,  dmk=[u=1n xiuxjup]p1

当p=1时,闵氏距离即曼哈顿距离(Manhattan distance):
 dman=∣∣xi,xj∣∣1=∑u=1n ∣xiu−xju∣  \ d_{man} = ||x_i ,x_j||_1 =\sum_{u=1}^n\ |x_{iu}-x_{ju}|\,  dman=xi,xj1=u=1n xiuxju

当p=2时,闵氏距离即欧氏距离(Euclidean distance):
 ded=∣∣xi,xj∣∣2=∑u=1n ∣xiu−xju∣2  \ d_{ed} = ||x_i ,x_j||_2 =\sqrt {\sum_{u=1}^n\ |x_{iu}-x_{ju}|^2}\,  ded=xi,xj2=u=1n xiuxju2

欧式距离是最常用的距离计算方法。因为当坐标轴进行正交旋转时,欧式距离保持不变。

注意事项

  • 闵氏距离没有考虑样本中各指标的数量级水平。当各指标数量级相差悬殊时,该距离不合适。因此在计算距离之前,需要将各指标标准化。

  • 欧氏距离要求各坐标对距离的贡献以及变差大小是尽可能相同的。 如一个人身高1.5米,收入6000元,另一个人身高1.8米,收入5500元,他们两个指标的变差差别较大,则不建议使用欧氏距离。

  • 闵氏距离适用于有序属性,VDM(Value Difference Metric)可用于计算无序属性。两者相结合可处理混合属性。

4.常见的聚类算法

基于原型的聚类算法:K均值算法(K-means)、学习向量量化(Learning Vector Quantisation, 简称LVQ)、高斯混合聚类(GMM和最大期望—EM)

基于密度的聚类算法:DBSCAN算法采用空间索引技术来搜索对象的邻域,引入了“核心对象”和“密度可达”等概念,从核心对象出发,把所有密度可达的对象组成一个簇。

基于层次的聚类算法:AGNES采用自底向上聚合策略,先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,不断重复该过程直至达到预设的聚类簇个数。 聚类簇之间的距离可以通过最小距离、最大距离或平均距离等方法计算得到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值