DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
Table of Contents
1. DBSCAN 简介
DBSCAN (Density-Based Spatial Clustering of Applications with Noise)是一种著名的基于密度的聚类算法。
1.1. 一些密度描述概念
DBSCAN 算法基于一组“邻域”参数
:对 ,其 包含样本集 中与 的距离不大于 的样本,即 ;其中 往往为欧式距离。- 核心对象(core object):若
的 至少包含 个样本,即 ,则 是一个核心对象。 - 密度直达(directly density-reachable):若
位于 的 中,且 是核心对象,则称 由 密度直达。密度直达关系通常不满足对称性。 - 密度可达(density-reachable):对
与 ,若存在样本序列 ,其中 且 由 密度直达,则称 由 密度可达。密度可达关系满足传递性,但不满足对称性。 - 密度相连(density-connected):对
与 ,若存在 使得 与 均由 密度可达,则称 由 密度相连。密度相连关系满足对称性。
图 1 给出了上述概念的直观显示。
Figure 1: DBSCAN 定义的基本概念(
2. DBSCAN 算法
基于前面定义的概念。DBSCAN 将“簇”定义为: 由密度可达关系导出的最大密度相连的样本集合。
一个 DBSCAN 簇里一定有一个或多个核心对象。如果只有一个核心对象,则簇里其他的非核心对象都在这个核心对象的
2.1. DBSCAN 算法描述
那么,如何从数据集
DBSCAN 算法如图 2 所示。
Figure 2: DBSCAN 算法
在第 1-7 行中,算法先根据给定的邻域参数
2.2. DBSCAN 应用实例
以图 3 所示的西瓜相关数据集为例,假定邻域参数
Figure 3: 西瓜数据集
DBSCAN 算法先找出各样本的
然后,从
然后,DBSCAN 算法将
再从更新后的集合
图 4 显示出 DBSCAN 算法先后生成聚类簇的情况。
Figure 4: DBSCAN 算法(
3. DBSCAN 算法的优缺点
DBSCAN 的优点:
1、相比 K-means 算法和 GMM 算法,DBSCAN 算法不需要用户提供聚类数量。
2、DBSCAN 能分辨噪音点,对数据集中的异常点不敏感。
DBSCAN 的缺点:
1、如果样本集的点有不同的密度,且该差异很大,这时 DBSCAN 将不能提供一个好的聚类结果,因为不能选择一个适用于所有聚类的
2、它不是完全决定性的算法。某些样本可能到两个核心对象的距离都小于
4. 参考
本文主要摘自:《机器学习,周志华,2016》,9.5,密度聚类