密度聚类和层次聚类
密度聚类
背景知识
如果 S 中任两点的连线内的点都在集合 S 内,那么集合 S称为凸集。反之,为非凸集。
DBSCAN
算法介绍
与划分和层次聚类方法不同,DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。
密度:空间中任意一点的密度是以该点为圆心,以扫描半径构成的圆区域内包含的点数目。
两个超参数
扫描半径(eps)和最小包含点数(minPts)来获得簇的数量,而不是猜测簇的数目
扫描半径 (eps):
用于定位点/检查任何点附近密度的距离度量
最小包含点数(minPts):
聚集在一起的最小点数(闯值),该区域被认为是稠密的
DBSCAN算法将数据点分为三类
- 核心点: 在半径Eps内含有超过MinPts数目的点。
- 边界点:在半径Eps内点的数量小于MinPts。但是落在核心点的邻域内的点。
- 噪音点:既不是核心点也不是边界点的点。
DBSCAN密度聚类的算法流程
1.将所有点标记为核心点、边界点或噪声点
2.如果选择的点是核心点,则找出所有从该点出发的密度可达对象形成簇3.如果该点是非核心点,将其指派到一个与之关联的核心点的簇中4.重复以上步骤,直到所点都被处理过
举例: 有如下13个样本点,使用DBSCAN进行聚类。
层次聚类
- 层次聚类假设簇之间存在层次结构,将样本聚到层次化的簇中。
- 层次聚类又有聚合聚类 (自下而上) 、分裂聚类(自上而下) 两种方法
- 因为每个样本只属于一个簇,所以层次聚类属于硬聚类
背景知识
如果一个聚类方法假定一个样本只能属于一个簇,或族的交集为空集,那么该方法称为硬聚类方法。如果个样木可以属干多个簇,成簇的交集不为空集,那么该方法称为软聚类方法
聚合聚类
- 开始将每个样本各自分到一个簇;
- 之后将相距最近的两簇合并,建立一个新的簇
- 重复此此操作直到满足停止条件:
- 得到层次化的类别。