链接
- 前导篇:【机器学习】聚类算法之密度聚类(DBSCAN)
- 前导篇:【机器学习】密度聚类算法之OPTICS
- 参考链接:https://hdbscan.readthedocs.io/en/latest/how_hdbscan_works.html
- HDBSCAN API 使用参考链接:https://hdbscan.readthedocs.io/en/latest/api.html
一、概述
- 先看一下HDBSCAN的具体定义:HDBSCAN – Hierarchical Density-Based Spatial Clustering of Applications with Noise. Performs DBSCAN over varying epsilon values and integrates the result to find a clustering that gives the best stability over epsilon. This allows HDBSCAN to find clusters of varying densities (unlike DBSCAN), and be more robust to parameter selection.
- 可以知道是DBSCAN算法与基于层次聚类算法结合而来的,其实HDBSCAN算法是对OPTICS算法的一种改进。
- HDBSCAN算法的具体过程分为以下几步
- 空间变换
- 构建最小生成树
- 构建聚类层次结构(聚类树)
- 压缩聚类树
- 提取簇
二、空间变换
- 核心距离:我们将样本与第k个最近邻样本点的距离称为核心距离,并表示为 c o r e k ( x ) core_k (x) corek(x):
c o r e k ( x ) = d ( x , N k ( x ) ) core_k (x)=d(x,N^k (x)) corek(x)=d(x,Nk(x)) - 互达距离:两个样本点的互达距离定义为: d m r e a c h − k ( a , b ) = m a x { c o r e k ( a ) , c o r e k ( b ) , d ( a , b ) } d_{mreach-k} (a,b)=max \{core_k (a),core_k (b),d(a,b)\} dmreach−k(a,b)=max{ corek(a),corek