iPAS AI 應用規劃師 中級 科目一

DBSCAN 的兩個關鍵超參數是什麼?

原題 11

企業資料分析團隊使用 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)演算法進行顧客行為分群,並希望模型能自動區分主要群集與雜訊資料。在此演算法中,決定聚類結果的兩個主要超參數為下列何者?

白話

一家企業要把顧客依行為模式分群,選用 DBSCAN 這個演算法。DBSCAN 的特別之處在於:它能自動找出「主要群集」,同時把「孤立的異常點」標記為雜訊,不強迫把每個點都歸入某個群。

問你:DBSCAN 有兩個主要超參數,決定了聚類的結果,這兩個是什麼?

點選你的答案。

01 總結

一句話總結

DBSCAN 的兩個主要超參數是:鄰域半徑 Epsilon(ε),決定「多近才算鄰居」;最小點數 MinPts,決定「要幾個鄰居才算是一個密集核心點」。這兩個參數共同決定群集的形狀、大小和雜訊的比例

02 情境

先感受問題:如何定義一個「聚集」的地方?

「曜群科技」的資料分析師要把 5 萬名顧客依購買行為分群,找出主要的消費族群,同時也要標記出「怪怪的異常交易」(這些不該被歸入任何正常群)。

他們選用 DBSCAN,因為它不需要事先告訴它「要分幾群」(不像 K-means 要指定 K),而且能自動把孤立點標為雜訊。

但 DBSCAN 需要你告訴它兩件事:

第一件事(ε,Epsilon):「多近才算鄰居?」
如果兩個顧客的消費行為差距小於 ε,就算彼此的鄰居。
ε 設太小:幾乎沒有人互為鄰居,所有人都被標成雜訊。
ε 設太大:幾乎所有人都是彼此鄰居,全部被歸成一個大群。
第二件事(MinPts):「一個點要有幾個鄰居,才算是群的核心?」
如果一個點的 ε 鄰域內有至少 MinPts 個鄰居,它就是「核心點(Core Point)」,可以形成或擴展群集。
MinPts 設太小:噪音點也變核心點,雜訊被錯誤納入群。
MinPts 設太大:密度不夠高的真實群被判為雜訊。

這就是 DBSCAN 的核心:用 ε 定義「近」,用 MinPts 定義「密」,兩個合在一起才能描述什麼叫「一個密集的群」。

03 對照

在 DBSCAN 之前,K-means 會踩哪些坑?

  1. 必須事先指定 K(群數):K-means 要你告訴它「分幾群」,但曜群科技不知道顧客自然分成幾種類型,瞎猜 K 值會讓結果沒意義。
  2. 無法處理非球形群:K-means 把每個群想像成「球形」,如果真實的顧客群是彎曲的、弧形的分佈,K-means 就切不對,DBSCAN 可以找出任意形狀的群。
  3. 沒辦法自動辨識雜訊:K-means 一定會把每個點歸入某個群,連異常顧客也強制歸群,雜訊點會汙染群中心,讓群的代表性下降。
  4. 對離群值敏感:K-means 的群中心(Centroid)是平均值,一個極端的異常顧客就能大幅拉偏整個群的中心,讓群的描述失真。
  5. 結果受初始值影響:K-means 的初始群中心隨機選取,不同初始值可能得到不同結果,需要多次執行取最好的,不穩定。
04 解法

ε 和 MinPts:DBSCAN 靠這兩個決定一切

曜群科技的分析師設定:ε = 0.5(消費行為向量距離 < 0.5 算鄰居),MinPts = 5(至少要有 5 個鄰居才算核心點)。

DBSCAN 的運作流程:

步驟一:對每個顧客點,找出在 ε 距離內的所有鄰居。如果鄰居數 ≥ MinPts,這個點是「核心點」。

步驟二:把互相在 ε 範圍內的核心點連在一起,形成一個群集(Cluster)。邊緣點(鄰居 < MinPts 但在某個核心點的 ε 範圍內)也納入群集但不擴展。

步驟三:不在任何核心點 ε 範圍內的點,標記為雜訊(Noise),在最終結果裡標為 -1。

ε 和 MinPts 是這個過程中唯一需要人工設定的數字,決定了所有群的形成。

這就是選項 C 講的:鄰域半徑(Epsilon ε)與最小點數(MinPts)是 DBSCAN 決定聚類結果的兩個主要超參數。

技術版:DBSCAN 的演算法細節與超參數選擇

本題沒有複雜公式,但相關技術背景值得知道。

DBSCAN 的三種點分類

點的類型條件說明
核心點(Core Point)ε 鄰域內鄰居數 ≥ MinPts群集的形成者,可以擴展群
邊界點(Border Point)ε 鄰域內鄰居數 < MinPts,但在某核心點的 ε 鄰域內屬於群集但不擴展,群的邊緣
雜訊點(Noise Point)不在任何核心點的 ε 鄰域內標記為 -1,不屬於任何群

如何選擇合適的 ε 和 MinPts?

MinPts 的經驗法則:MinPts ≥ 資料維度 D + 1,通常設為 2D 到 5D 之間。資料維度高或資料有雜訊時,MinPts 要設更大。

ε 的選擇方法:k-distance 圖。對每個點計算它到第 k 個最近鄰居的距離(k = MinPts - 1),從小到大排序畫成圖,圖中出現「手肘(elbow)」的位置就是建議的 ε 值。

ε 太小 → 大多數點被標為雜訊,群太零散
ε 太大 → 所有點都在同一個群,沒有分群效果
MinPts 太小 → 雜訊點也形成群,假群太多
MinPts 太大 → 真實的小群被標為雜訊

DBSCAN vs K-means 的超參數比較

特性K-meansDBSCAN
超參數K(群數)ε 和 MinPts
需要事先知道群數
能處理任意形狀否(只有球形)
自動識別雜訊
對離群值敏感是(影響 Centroid)否(標為雜訊)
計算複雜度O(nKt),n 樣本數 K 群數 t 迭代O(n log n),使用空間索引時

DBSCAN 的限制

高維資料問題:維度詛咒(Curse of Dimensionality)讓距離計算失去意義,ε 很難設定,建議先做降維(PCA)。密度差異大的群:如果資料中有的群很密集、有的很鬆散,單一 ε 無法兼顧,這時可考慮 HDBSCAN(Hierarchical DBSCAN)。

05 陷阱

為什麼其他選項是錯的

選項 A 特徵數與學習率

字面在說什麼:DBSCAN 的兩個主要超參數是資料有幾個特徵,以及學習率的設定。

為什麼不對:「特徵數」是資料本身的屬性,不是演算法的超參數(你不需要「設定」特徵數,它由資料決定)。「學習率」是梯度下降訓練中用的概念,DBSCAN 是一個基於密度的聚類演算法,完全沒有梯度下降、沒有訓練過程,根本不需要學習率。

誰會選錯:把「深度學習超參數」和「聚類演算法超參數」混在一起的人。學習率是神經網路的概念,DBSCAN 屬於傳統機器學習中的非監督式學習,運作原理完全不同。

選項 B K 值與距離閾值

字面在說什麼:DBSCAN 的超參數是群數 K 和某個距離閾值。

為什麼不對:「K 值」是 K-means 演算法的超參數,DBSCAN 的核心優點之一就是「不需要指定 K(群數)」,演算法自動決定群的數量。雖然 ε 確實是一種距離閾值,但配對的超參數是 MinPts,不是 K 值。這個選項把 K-means 的概念混入 DBSCAN,是考試常見的混淆陷阱。

誰會選錯:聚類演算法學了 K-means 之後,直接把「K 值」的概念套過來,以為所有聚類都要指定 K 的人。DBSCAN 的「D」和「B」代表 Density-Based(基於密度),和 K 值無關。

選項 D 交叉熵與權重初始化

字面在說什麼:DBSCAN 的超參數是 Cross Entropy 損失函數和神經網路的權重初始化方式。

為什麼不對:Cross Entropy(交叉熵)是神經網路分類任務的損失函數,DBSCAN 不是神經網路,沒有損失函數、沒有反向傳播,Cross Entropy 在這裡完全不適用。「權重初始化」也是神經網路訓練的概念,和 DBSCAN 毫無關係。這個選項考的是「你能不能分辨聚類演算法和神經網路的差異」。

誰會選錯:對神經網路比較熟,聽到「AI 模型」就自動聯想到神經網路超參數,忘記聚類是一類完全不同的演算法的人。

06 變形

同個考點下次怎麼變形

變形 1 邊界

直覺:如果把 ε 設為無限大,DBSCAN 會得到什麼結果?

答案:所有點都在彼此的 ε 鄰域內,每個點的鄰居數都 ≥ MinPts,所以所有點都是核心點,整個資料集形成一個大群,沒有任何雜訊。等於沒有分群,只有一個群包含所有資料。ε = 無限大讓 DBSCAN 的分群功能完全失效。

變形 2 反例

直覺:為什麼 DBSCAN 對高維資料(如用戶行為有 100 個特徵)效果變差?

答案:高維空間中,所有點之間的距離都趨向相等(維度詛咒),導致 ε 很難區分「近」和「遠」,幾乎所有點的鄰居數都差不多。ε 稍微大一點全部擠成一群,稍微小一點全部變雜訊,調參極度困難。通常需要先用 PCA 或 UMAP 降維到 2D/3D 再跑 DBSCAN。

變形 3 升級版

直覺:HDBSCAN 和 DBSCAN 的主要差異是什麼?

答案:DBSCAN 使用固定的 ε,對密度不均的資料(有的群很密、有的很鬆散)表現不好。HDBSCAN(Hierarchical DBSCAN)不需要設定 ε,它在不同密度層次建立樹狀結構,自動找出最「穩定」的群集,可以同時處理密度差異大的群,實務上通常比 DBSCAN 更好用。

變形 4 跨領域

直覺:DBSCAN 可以用來做異常偵測(Anomaly Detection)嗎?

答案:可以,而且很常用。DBSCAN 自動把孤立點標為雜訊(Noise,標籤 -1),這些雜訊點就是「與任何群集都格格不入的異常點」。在信用卡詐騙、工廠設備故障偵測等場景,DBSCAN 的雜訊點直接對應異常樣本,是一種無需標籤的異常偵測方法(Unsupervised Anomaly Detection)。

變形 5 評估指標

直覺:聚類的好壞要怎麼評估?有標準答案嗎?

答案:聚類是非監督式學習,通常沒有「正確答案」,評估方法分兩類:內部指標(不需要真實標籤)如輪廓係數(Silhouette Score,衡量同群緊密、異群分離),以及外部指標(有真實標籤可對比)如調整蘭德指數(Adjusted Rand Index)。DBSCAN 的 ε 和 MinPts 通常用輪廓係數調整。

07 延伸

想再往下看,這 5 個

出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二次 iPAS AI 應用規劃師 中級 科目一 第 11 題

查看官方原文 PDF