聚类算法(四)--DBSCAN

Density-based spatial clustering of applications with noise (DBSCAN)

名字较长,记它的initials,DBSAN/di,bi,skæn/,他基于数据的密度来聚类,所以适合数据稠密的情况,且在数据非凸情况下优于Kmeans。

DBSCAN对密度的定义

两个参数$(varepsilon ,Minpoints)$,$varepsilon$表示任一样本点领域的阈值,Minpoints表示该领域内的所有样本点个数的下限。

假设数据集D=Xi,i=1,2,,,n

定义

1,$varepsilon$-领域 :表示对于样本点$x_{i}in D$,$varepsilon$-领域包含所有距离不大于$varepsilon$的子样本。

2,核心对象(core point):表示对于样本点$x_{i}in D$,在$varepsilon$-领域内的样本点个数最少为Minpoints,则称$x_{i}$为核心对象。

3,密度直达(directly destiny reachable):在核心对象$x_{i}$的$varepsilon$-领域内有一点$x_{j}$,称$x_{j}$由$x_{i}$的密度直达,无对称性。

4,密度可达(destiny reachable):对于核心对象p,核心对象o由p密度直达,核心对象q由o密度直达,我们称q由p密度可达,注意箭头为单向,即无对称性。

5,密度相连:g由o密度可达,h由o密度可达,g,h密度相连。

 

DBSCAN聚类

定义:由密度可达导出的最大的密度相连的子样本即为一簇。

流程:任意找到一个没有类别的核心对象,找到所有由这个核心对象密度可达的子样本,作为一类。接着再找一个没有类别的核心对象。。。

疑点:1,DBCSAN允许一些样本点不属于任一簇,称为噪点 。

   2,距离的度量,对于小样本用欧氏距离,计算所有样本点的两两距离;大样本时,采用KD树或者球树(此为KNN中的思想,不懂直接搬过来的,有机会补)

     3,当某样本点可由两个核心对象密度直达,但是这两个核心对象不在一个簇如下图蓝色点,DBCSAN采用先来后到的原则。

 

参考:

https://www.cnblogs.com/pinard/p/6208966.html

https://www.bilibili.com/video/av23933161/?p=32

https://en.wikipedia.org/wiki/DBSCAN

Valar morghulis
原文地址:https://www.cnblogs.com/super-yb/p/10873732.html