OPTICS(Ordering Points To Identify the Clustering Structure)详解
目录
简介
OPTICS(Ordering Points To Identify the Clustering Structure)是一种基于密度的聚类算法,由Ankerst等人在1999年提出。与DBSCAN(Density-Based Spatial Clustering of Applications with Noise)类似,OPTICS能够发现任意形状的簇,并有效处理噪声数据。然而,OPTICS更为灵活,因为它无需预先指定簇的数量或密度参数,通过构建可达图(Reachability Plot)揭示数据的多层次聚类结构,使用户能够在不同的密度层次上提取聚类结果。
OPTICS的基本概念
OPTICS的核心思想是通过对数据点进行有序排列,使得相似的数据点在排列中相邻,从而揭示数据的聚类结构。这种有序排列基于点的密度可达性(Density Reachability),具体来说,OPTICS通过计算每个点的核心距离(Core Distance)和可达距离(Reachability Distance)来决定排列的顺序。最终,OPTICS生成一个聚类顺序以及对应的可达距离序列,通过这些信息,可以构建可达图,进而提取不同密度层次的聚类。
核心参数
OPTICS算法主要依赖于以下两个参数:
-
ε(Epsilon):邻域半径,定义了一个点的ε-邻域内包含的所有点。虽然OPTICS不像DBSCAN那样严格依赖于ε,但该参数仍用于限制邻域搜索的范围,以提高算法效率。
-
MinPts(最小点数):在ε邻域内被视为核心点的最小点数。MinPts的选择影响着簇的密度要求,较高的MinPts值会使算法更加严格,识别出的簇密度更高。
这些参数决定了数据点被分类为核心点、边界点或噪声点,从而影响最终的聚类结果。
核心距离与可达距离
核心距离(Core Distance)
核心距离是一个点在其ε邻域内第MinPts个最近邻的距离。如果一个点的ε邻域内的点数少于MinPts,则该点的核心距离未定义(通常视为无穷大或某一最大值)。
数学表达式为:
core_dist ( p ) = { distance ( p , sorted_minPts_neighbor ( p ) ) 如果 ∣ N ϵ ( p ) ∣ ≥ MinPts ∞ 否则 \text{core\_dist}(p) = \begin{cases} \text{distance}(p, \text{sorted\_minPts\_neighbor}(p)) & \text{如果 } |\mathcal{N}_\epsilon(p)| \geq \text{MinPts} \\ \infty & \text{否则} \end{cases} core_dist(p)={ distance(p,sorted_minPts_neighbor(p))∞如果 ∣Nϵ(p)∣≥MinPts否则
其中, N ϵ ( p ) \mathcal{N}_\epsilon(p) Nϵ(p)表示点 p p p的ε-邻域, sorted_minPts_neighbor ( p ) \text{sorted\_minPts\_neighbor}(p) sorted_minPts_neighbor(p)表示点 p p p的第MinPts近邻。
可达距离(Reachability Distance)
可达距离衡量的是从一个点到另一个点的密度可达性。具体来说,对于两个点 p p p和 o o o,点 o o o相对于点 p p p的可达距离定义为两者核心距离和它们之间距离的较大值:
reachability ( p , o ) = max ( core_dist ( o ) , distance ( p , o ) ) \text{reachability}(p, o) = \max(\text{core\_dist}(o), \text{distance}(p, o)) reachability(p,o)=max(core_dist(o