聚类分析:DBSCAN 算法与指标选择
1. 寻找最优分区
在进行数据聚类时,确定合适的分区至关重要。首先,我们需要定义一些关键参数。设数据集为 $A$,定义 $MinPts := ⌊log |A|⌋$,对于每个 $a \in A$,将 $\epsilon_a > 0$ 设为以 $a$ 为中心且包含集合 $A$ 中至少 $MinPts$ 个元素的最小球的半径。所有这样的半径构成集合 $E(A) = {\epsilon_a : a \in A}$。
我们希望确定一个通用半径 $\epsilon(A)$,使得对于每个 $a \in A$,以 $a$ 为中心、半径为 $\epsilon(A)$ 的球包含至少 $MinPts$ 个 $A$ 中的元素。但我们并不要求对所有点 $a \in A$ 都满足这一条件,即不考虑那些需要极大半径的点。研究表明,选择 $E(A)$ 的 99% 分位数作为 $\epsilon(A)$ 能得到较好的结果,这个 99% 分位数被称为集合 $A$ 的 $\epsilon$-密度,记为 $\epsilon(A)$。
例如,对于一个数据集,$MinPts = ⌊log |A|⌋ = 8$,通过计算 $E(A)$ 的 99% 分位数,我们可以得到 $\epsilon(A)$ 的值。$\epsilon$-密度可以使用 Mathematica 模块 $EPSILON[]$ 进行计算。
2. DBSCAN 算法
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)算法是一种基于密度的聚类算法,下面介绍其相关概念和具体算法。
超级会员免费看
订阅专栏 解锁全文
2776

被折叠的 条评论
为什么被折叠?



