---
title: "階層式密度分群演算法（Hierarchical DBSCAN）"
slug: hierarchical-dbscan
language: zh-TW
source: https://aiterms.tw/learning/what-is-hierarchical-dbscan
updated_at: 2026-06-22
tags: [機器學習, 統計方法, 資料處理, 異常偵測]
ipas_term: false
type: deep-dive
---

# 階層式密度分群演算法 是什麼？

> 階層式密度分群演算法（Hierarchical DBSCAN, HDBSCAN）是 DBSCAN 的進化版本，透過建立多密度尺度的階層式叢集樹，能自動適應密度不均勻的資料，無需設定全局鄰域半徑 ε，並

## 核心概念

HDBSCAN 的根本改進在於將 DBSCAN 的「單一密度閾值」轉變為「多尺度密度層次」。DBSCAN 使用全局固定的 ε，當資料中不同群組的密度差異大時，單一 ε 無法同時適應所有群組。HDBSCAN 透過建立密度的連續層次，讓演算法自行找到在各自密度尺度下最穩定的叢集。

## 運作原理

### 步驟一：計算核心距離

對每個資料點 x，其核心距離 core_k(x) 定義為到第 k 個最近鄰的距離。k 為唯一需要設定的主要超參數（即 min_cluster_size 或 min_samples）。核心距離衡量每個點所在位置的局部密度：密集區域中的點核心距離小，稀疏區域中的點核心距離大。

### 步驟二：計算互達距離

兩點 a, b 之間的互達距離定義為：

```
mreach_k(a, b) = max(core_k(a), core_k(b), dist(a, b))
```

引入互達距離使稀疏點之間的距離被「放大」，確保稀疏區域中的點不會偶然被判定為密集群組的一部分。

### 步驟三：建立最小生成樹（MST）

以互達距離為邊權，在所有資料點上建立最小生成樹，捕捉資料在全局密度結構下的連通關係。

### 步驟四：轉換為叢集層次樹

依序移除 MST 中距離最長的邊，等同於從低密度到高密度逐漸加緊條件，得到一個叢集不斷分裂的層次樹（類似系統發育樹）。

### 步驟五：計算叢集穩定性

對層次樹中的每個叢集節點，計算其「穩定性（Stability）」：叢集在多大的密度範圍內保持不分裂。穩定性高的叢集代表其在多個密度尺度下都能穩定存在，是真實的自然群組。

### 步驟六：提取最終叢集

從層次樹葉端往根端，選擇穩定性之和最大的非重疊葉節點作為最終分群結果。不屬於任何最終叢集的點被標記為雜訊（Noise）。

### 軟分群（Soft Clustering）

HDBSCAN 能為每個資料點輸出屬於每個叢集的概率分數，而非強制歸類。位於叢集核心的點概率接近 1，位於叢集邊緣的點概率較低，雜訊點所有叢集的概率均低。

## 實際應用

### 自然語言嵌入的主題發現

將大量文件轉為嵌入向量（Embedding）後，HDBSCAN 能在語意空間中自動發現主題群組，且不需要預先指定主題數（相較於 LDA 等需要設定 K 的方法）。BERTopic 即以 HDBSCAN 作為核心分群元件。

### 生物資訊學

單細胞 RNA 定序（scRNA-seq）資料常具有高度非均勻密度：不同細胞類型的數量差異極大。HDBSCAN 能在此類資料中穩健地識別細胞亞型，並輸出邊界細胞的不確定性（Soft Clustering 分數）。

### 客戶分群

電商和金融機構的客戶資料常呈現高密度核心用戶和長尾稀疏用戶共存的模式，HDBSCAN 能自然地識別主要客戶群組（高密度叢集）並標記出不屬於任何主流群體的個別客戶（雜訊點）。

### 地理空間分析

城市中的人口密度從市中心到郊區呈現連續的梯度變化，HDBSCAN 能識別出市中心商業區（高密度叢集）、居住區（中密度叢集）以及散落的郊區（雜訊點），而無需為不同密度的地區設定不同的 ε。

## 常見誤區

### 誤區一：HDBSCAN 完全不需要超參數

HDBSCAN 仍需設定 `min_cluster_size`（決定多少個點才能構成一個叢集）和 `min_samples`（決定核心距離計算的鄰域大小，預設等於 min_cluster_size）。相較於 DBSCAN 需要同時調整 ε 和 minPts，HDBSCAN 的超參數更少、更直觀，但並非完全無參。

### 誤區二：HDBSCAN 通常優於 DBSCAN

當資料密度確實均勻且 ε 容易確定時，DBSCAN 的計算效率更高。HDBSCAN 的優勢在密度不均勻的複雜資料中才最為明顯。對小規模且分布簡單的資料，DBSCAN 可能是更輕量的選擇。

### 誤區三：所有高維資料都適合 HDBSCAN

和 DBSCAN 一樣，HDBSCAN 在高維空間（特徵數 > 20–30）的效能也會因維度詛咒而下降，距離度量的區分力降低。在高維場景下，MUST 先進行降維（UMAP 是目前與 HDBSCAN 搭配最佳的降維方法之一），再進行分群。

## 與相關技術的比較

| 演算法 | ε 設定 | 密度不均勻 | 軟分群 | 時間複雜度 | 最佳搭配 |
|---|---|---|---|---|---|
| DBSCAN | 需要全局 ε | 差 | 否 | O(n log n) | 密度均勻、含雜訊 |
| HDBSCAN | 不需要 ε | 好 | 是 | O(n log n) | 密度不均、複雜結構 |
| K-Means | 不需要 | 差（假設球形） | 否 | O(n×k×iter) | 形狀規則、已知 K |
| GMM | 不需要 | 中 | 是（機率） | O(n×k×iter) | 橢圓形群組、機率需求 |

## 常見問題

### HDBSCAN 和 DBSCAN 在 iPAS 考題中如何區分？

iPAS 考題區分兩者的關鍵線索在題目描述中：若提到「資料中不同群組密度差異很大」「不希望手動設定 ε」「需要知道每個點屬於叢集的信心程度（軟分群）」，答案通常是 HDBSCAN。若提到「已知 ε 和 minPts 兩個參數」「需要識別雜訊點」「分群形狀不規則但密度相對均勻」，答案通常是 DBSCAN。記憶方式：HDBSCAN 的 H 代表 Hierarchical（階層），它透過建立密度層次樹來自動適應不均勻密度，是 DBSCAN 的進化版本，解決了 DBSCAN 需要全局固定 ε 的根本限制。

### 為什麼 HDBSCAN 常與 UMAP 搭配使用？

HDBSCAN 基於歐氏距離計算密度，在高維空間中受維度詛咒影響：所有點之間的距離趨於相等，密度概念失去意義，叢集邊界模糊。UMAP（Uniform Manifold Approximation and Projection）是一種強大的非線性降維方法，能夠在保留高維資料的局部拓撲結構的同時大幅降低維度（通常降至 2–50 維），使密度分群在低維嵌入空間中更有效。UMAP + HDBSCAN 已成為自然語言嵌入聚類（如 BERTopic）、單細胞資料分析和高維異常偵測的標準組合，兩者在演算法設計上也使用了相容的數學框架（流形假設）。

### HDBSCAN 的 Soft Clustering 輸出如何解讀？

HDBSCAN 的軟分群輸出為每個資料點提供一個概率向量，各元素代表該點屬於每個叢集的概率。解讀方式：概率接近 1.0 的點是叢集的核心成員，預測非常確定；概率在 0.3–0.7 之間的點位於叢集邊緣或多個叢集的交界處，預測存在不確定性；所有叢集概率都很低（如最高僅 0.1）的點，HDBSCAN 認定其為雜訊點。在實際應用中，可將概率低於閾值（如 0.05）的點視為雜訊，對邊界點（概率 0.3–0.7）進行人工審查或標記為「待確認」類別，特別適合醫療診斷或金融欺詐等需要處理不確定性的場景。

---

深度解說頁：https://aiterms.tw/learning/what-is-hierarchical-dbscan
快查頁：https://aiterms.tw/terms/hierarchical-dbscan
最後更新：2026/06/22