kmeans聚类算法_常用聚类算法综述

本文介绍了聚类的基本概念和常见类型,重点讲解了K-Means、DBSCAN、HDBSCAN以及基于图的聚类算法。K-Means虽然快速但需要预设类别数,DBSCAN可发现任意形状的簇但参数设置敏感。HDBSCAN是DBSCAN的改进版,减少对参数依赖。文章还提到了基于图神经网络的聚类方法,并讨论了聚类算法的选型策略。
摘要由CSDN通过智能技术生成

这篇文章会拿一些日常工作中最常用的聚类算法做介绍,然后会对最近的一些聚类算法成果中挑几篇有意思的说一说,全文较长

聚类的概念

对于有标签的数据,我们进行有监督学习,常见的分类任务就是监督学习;而对于无标签的数据,我们希望发现无标签的数据中的潜在信息,这就是无监督学习。聚类,就是无监督学习的一种,它的概念是:将相似的对象归到同一个簇中,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。即聚类后同一类的数据尽可能聚集到一起,不同数据尽量分离。

46dbfef4dd9e3fa55f9d52851d070eef.png

聚类算法的分类

聚类算法有很多种分法,体系也很大,这里举例几种分法:

基于划分的聚类:聚类目标是使得类内的点足够近,类间的点足够远,常见的如k-means及其衍生算法

基于密度的聚类:当邻近区域的密度超过某个阈值,则继续聚类,如DBSCAN; OPTICS

层次聚类:这个下面会具体介绍到,包括合并的层次聚类,分裂的层次聚类,实际上可以看作是二叉树的生成和分裂过程。下面会介绍实际应用中常用的HDBSCAN

基于图的聚类: 通过建图来进行聚类,这是聚类算法中的大头,很多较新的聚类算法都有图聚类的思想。这篇文章会介绍以Chinese Whisper,谱聚类两大具有代表性的图聚类算法

基于GCN(图神经网络)的聚类:实际上这个本质上也是基于图的聚类,然而基于GCN的聚类算法会有深度学习中的训练的概念,而传统的聚类算法则是通过人工设定阈值来决定的,所以这里也分开列了一类, 这篇文章会介绍《Learning to Cluster Faces on Affinity Graph》、CDP两篇论文的思想

...

其实还有很多分类,但这里不再列举了,有兴趣的同学可以参考sklearn文档中关于聚类的划分 https://scikit-learn.org/stable/modules/clustering.html#clustering

K-Means

这个可以说是最基础的聚类算法了,它的输入需要簇的个数k,这个k是用户指定的,也就是说需要提前确定类别,其算法流程是:

  1. 随机确定k个初始点u1, u2...uk作为聚类质心
  2. 重复以下过程直到收敛:
    1. 对于每一个样例,找到离它最近的质心作为label:
    2. 对于每一个类j, 更新其质心:

16da905ec26047e80674769e0463bb67.png

优点: 速度快

缺点:

  • 必须提前知道"k", 也就是有多少个簇
  • 容易陷入局部最优
  • 数据必须符合“数据之间的相似度可以使用欧式距离衡量”,这个是什么意思呢,看下图,这种数据的分布,样本点的距离不能简单地用欧式距离来衡量,否则分类效果会非常差。这里的距离衡量应该是“测地距离”,也就是样本沿着曲面到达另一个样本点的距离。如果在这种数据空间想要使用kmeans,必须先进行空间的转化

614e651f1c4d4074eb9f62afcf805e5b.png

k-means有一些改进算法,多是针对k-means会受异常点的影响这一点来改进的,比如K-Means++, K-Medians...

基于密度的算法-DBSCAN

基于密度的算法,要求聚类空间的一定区域所包含的对象的数目不小于某一给定阈值,先了解一些基本概念:

(1)Eps邻域:给定对象半径Eps内的邻域称为该对象的Eps邻域;

(2)核心对象(core point):如果对象的Eps邻域至少包含最小数目MinPts的对象,则称该对象为核心对象;

(3)直接密度可达(directly density-reachable):若某点p在点的q的Eps领域内,且q是一个核心对象,则p-q直接密度可达

(4)密度可达(density-reachable):如果存在一个对象链 p1, …,pi,.., pn,如果对于任意pi, pi-1都是直接密度可达的,则称pi到pi-1密度可达,实际上是直接密度可达的传播链

(5)密度相连(density-connected):如果从某个核心对象p出发,点q和点k都是密度可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值