聚类算法汇总

参考1:https://blog.csdn.net/u011511601/article/details/81951939
参考2:https://blog.csdn.net/qq_32951553/article/details/80654663

1 MeanShift(均值偏移)算法

1.1 基本思想

核心概念:沿着密度上升方向寻找聚簇点(爬山算法)。
均值偏移(Mean shift)聚类算法是一种基于滑动窗口(sliding-window)的算法,它试图找到密集的数据点。它还是一种基于中心的算法,它的目标是定位每一组群/类的中心点,通过更新中心点的候选点来实现滑动窗口中的点的平均值。这些候选窗口在后期处理阶段被过滤,以消除几乎重复的部分,形成最后一组中心点及其对应的组。
在这里插入图片描述

1.2 算法描述

设想在一个有N个样本点的特征空间

1.初始确定一个中心点center,可以随机选取。

2.计算在设置半径为D的整个圆形空间内所有向量(即包括中心点center)的平均值,得到一个偏移均值。

3.将中心点center移动到偏移均值位置。

4.重复移动,直到满足一定条件结束。

如下图为使用许多滑动窗口完成的MeanShift聚类:
在这里插入图片描述

1.3 优势和缺点:

优点:
1)与K-Means聚类相比,MeanShift聚类不需要选择聚类的数量,因为它会自动地发现所有的类别。这是一个巨大的优势。聚类中心收敛于最大密度点的事实也是非常可取的,因为它非常直观地理解并适合于一种自然数据驱动。

缺点:
1)缺点是选择窗口大小/半径r是非常关键的,所以不能疏忽。

2 DBSCAN算法

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法,类似于均值转移聚类算法,但它有几个显著的优点。
在这里插入图片描述

2.1基本概念

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

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

(3)边界点(edge point):边界点不是核心点,但落在某个核心点的邻域内;

(4)噪音点(outlier point):既不是核心点,也不是边界点的任何点;

(5)直接密度可达(directly density-reachable):给定一个对象集合D,如果p在q的Eps邻域内,而q是一个核心对象,则称对象p从对象q出发时是直接密度可达的;

(6)密度可达(density-reachable):如果存在一个对象链 p1, …,pi,…, pn,满足p1 = p 和pn = q,pi是从pi+1关于Eps和MinPts直接密度可达的,则对象p是从对象q关于Eps和MinPts密度可达的;

(7)密度相连(density-connected):如果存在对象O∈D,使对象p和q都是从O关于Eps和MinPts密度可达的,那么对象p到q是关于Eps和MinPts密度相连的。

(8)类(cluster):设非空集合,若满足:从(a)到(b)和密度相连。则称构成一个类簇

图1红色为核心点,黄色为边界点,蓝色为噪音点,minPts = 4,Eps是图中圆的半径大小有关“直接密度可达”和“密度可达”定义实例如图2所示[5]:其中,Eps用一个相应的半径表示,设MinPts=3,请分析Q,M,P,S,O,R这5个样本点之间的关系。
在这里插入图片描述
图2 “直接密度可达”和“密度可达”概念示意描述。根据前文基本概念的描述知道:由于有标记的各点­M、P、O和R的Eps近邻均包含3个以上的点,因此它们都是核对象;M­是从P“直接密度可达”;而Q则是从­M“直接密度可达”;基于上述结果,Q是从P“密度可达”;但P从Q无法“密度可达”(非对称)。类似地,S和R从O是“密度可达”的;O、R和S均是“密度相连”(对称)的。
在这里插入图片描述

2.2 DBSCAN算法原理

(1)DBSCAN通过检查数据集中每点的Eps邻域来搜索簇,如果点p的Eps邻域包含的点多于MinPts个,则创建一个以p为核心对象的簇;

(2)然后,DBSCAN迭代地聚集从这些核心对象直接密度可达的对象,这个过程可能涉及一些密度可达簇的合并;

(3)当没有新的点添加到任何簇时,该过程结束。

2.3 DBSCAN算法优缺点

优点:

(1)聚类速度快且能够有效处理噪声点和发现任意形状的空间聚类;

(2)与K-MEANS比较起来,不需要输入要划分的聚类个数;

(3)聚类簇的形状没有偏倚;

(4)可以在需要时输入过滤噪声的参数。

缺点:

(1)当数据量增大时,要求较大的内存支持I/O消耗也很大;

(2)当空间聚类的密度不均匀、聚类间距差相差很大时,聚类质量较差,因为这种情况下参数MinPts和Eps选取困难。

(3)算法聚类效果依赖与距离公式选取,实际应用中常用欧式距离,对于高维数据,存在“维数灾难”。

2.4. 算法描述

输入:包含n个对象的数据库,半径,最少数目MinPts

输出:所有生成的簇,达到密度要求

(1) Repeat

(2) 从数据库中抽取一个未处理的点

(3) IF抽取的点是核心点THEN找出所有从该点密度可达的对象,形成一个簇

(4) ELSE抽出的点是边缘点,跳出本次循环,寻找下一点

(5) UNTIL所有的点都被处理

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值