iPAS AI 應用規劃師 中級 科目二 大數據處理分析與應用

高維度資料 DBSCAN 全判雜訊,最可能的原因是什麼?

原題 28

若在高維度(>500 維)的資料上應用 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)演算法,卻發現所有資料點皆被判定為雜訊(Noise),下列何者為最有可能的原因?

白話

有人把 DBSCAN 這個密度型分群演算法用在超過 500 維的高維資料上,結果每一個資料點都被判定為「雜訊」,完全分不出任何群。

問你:在高維度資料上跑 DBSCAN 卻全部判為雜訊,最可能是什麼原因造成的?

點選你的答案。

01 總結

一句話總結

高維度下,所有資料點之間的距離趨於相同(維度詛咒),DBSCAN 的 ε 半徑無法區分「近鄰」和「遠鄰」,導致每個點附近都找不到足夠的鄰居,全部被判為雜訊。最可能的原因是:高維下距離變化趨同,導致 ε(Epsilon)閾值選擇失效

02 情境

先感受問題:高維空間裡,每個點距離每個點都「差不多遠」

智析科技的資料科學家佳宇,用文字嵌入模型把客服話語轉換成 768 維的向量,然後想用 DBSCAN 找出常見的問題類群。

他設定 ε = 0.5(表示半徑 0.5 以內的點算「鄰居」),MinPts = 5(至少要有 5 個鄰居才算核心點)。

結果出乎意料:全部 10 萬個資料點,全部被標記為雜訊(Noise)。一個群都沒有。

佳宇不斷嘗試調整 ε,把 0.5 改成 1.0、2.0,仍然全部是雜訊。問題出在哪?

問題出在高維空間的「距離趨同現象」:在 768 維空間裡,任意兩個點之間的歐氏距離幾乎都落在一個很窄的範圍內(例如 10 到 15 之間),沒有一個合理的 ε 值能區分「真正的鄰居」和「隨機的遠鄰」。

03 對照

DBSCAN 在低維度好用,高維度為什麼失靈

  1. 高維空間距離趨同:隨維度增加,最近點和最遠點之間的距離比值趨近 1,所有距離都「差不多」。DBSCAN 依賴距離差異來判斷密度,這個假設在高維度下根本不成立。
  2. ε 沒有直觀的設定依據:低維度下,可以繪製 k-距離圖(k-Distance Plot)找「膝點」來選 ε。高維度下,k 距離的分佈變得極為平坦,沒有明顯的膝點,任何 ε 設定都有問題。
  3. 密度概念失去意義:DBSCAN 的核心是「高密度區域」,在高維下,資料點分散在指數級增大的空間裡,任何區域都稀疏,「高密度」無從定義。
  4. MinPts 再怎麼調也沒用:即使把 ε 設得很大(容納更多鄰居),由於距離趨同,把 ε 設大只是把整個資料集都框進去,分不出局部高密度區域。
  5. 計算成本隨維度爆炸:高維度下,要找 ε 鄰域需要計算每對點的距離,計算成本 O(n²) 乘以維度,實際執行非常慢,即使嘗試多個 ε 值也耗時極長。
04 解法

高維度分群的正確做法:先降維,再聚類

佳宇意識到問題根源是維度詛咒(Curse of Dimensionality):768 維的空間太空曠,任何基於距離的演算法都會失效。

他採取的解決方案:

  • 先用 PCA 或 UMAP(非線性降維)把 768 維降到 2-50 維,保留最重要的結構
  • 在低維空間重新跑 DBSCAN,距離差異重新有意義
  • 結果:清楚分出 12 個客服問題群,每群有明確的語意主題

回扣到題目:高維資料 DBSCAN 全判雜訊,根本原因就是「高維下距離趨同,ε 閾值失效」,其他三個選項描述的問題(錯誤距離函數、MinPts 太小、過度標準化)在這個特定情境下不是主因。

這就是選項 A 講的:高維下距離變化趨同,導致 ε(Epsilon)閾值選擇失效

技術版:維度詛咒與高維聚類的學術背景

維度詛咒(Curse of Dimensionality)是機器學習和統計學中最重要的概念之一,由 Richard Bellman 在 1960 年代提出。其核心現象是:

在 d 維超球(Hypersphere)中,高維空間的體積集中在「表面薄殼」而非「球心附近」。當 d → ∞,所有點都集中在球的表面,球心附近幾乎是空的。這直接導致:

  • 最近鄰和最遠鄰的距離比值趨近 1:lim(d→∞) dist_max / dist_min = 1
  • 歐氏距離失去辨別力(Distance Concentration Phenomenon)
  • 密度的概念崩潰:任何固定半徑的球在高維下只包含指數級少的點

DBSCAN 的兩個核心參數:

  • ε(Epsilon):定義「鄰域半徑」,距離 ≤ ε 的點算鄰居。高維下距離趨同,任何 ε 設定要麼全含要麼全不含,無中間地帶。
  • MinPts:核心點需要在 ε 鄰域內至少有 MinPts 個點。高維下 ε 失效,調整 MinPts 也無法解決根本問題。

高維聚類的實務解決方案:

  1. 降維後再聚類(PCA、UMAP、t-SNE)
  2. 換用對高維度更魯棒的算法(如 HDBSCAN、Spectral Clustering)
  3. 改用餘弦相似度(Cosine Similarity)代替歐氏距離(文字向量場景特別適用)
  4. 次空間聚類(Subspace Clustering):在高維空間中尋找低維子空間

為什麼 iPAS 考這題:高維特徵是 NLP、電腦視覺、推薦系統的常見情況。理解維度詛咒對聚類算法的影響,是正確設計資料分析流程的必要知識。

05 陷阱

為什麼其他選項是錯的

B使用錯誤的距離函數(Distance Function)

字面在說什麼

用了不對的距離計算方式,所以分群失敗。

為什麼不對

「距離函數選擇錯誤」可能造成分群效果不好,但不太可能造成「全部點都是雜訊」這個極端結果,因為不管用什麼距離函數,只要設定合理的 ε,都會有一些點互為鄰居。這個選項是可能的原因之一,但不是「全部判雜訊」的最主要解釋。相比之下,維度詛咒(選項 A)直接解釋了「ε 完全失效」的根本機制。

誰會選錯

知道「高維空間用歐氏距離不好,應該用餘弦距離」這個建議,就猜距離函數是問題的人。這個建議是對的,但它解釋的是「哪個距離更好用」而不是「為什麼全部判雜訊」。

CMinPts 參數設得太小

字面在說什麼

MinPts 設太小,門檻太低,導致判斷出問題。

為什麼不對

MinPts 太小的效果相反:MinPts 越小,越容易讓點成為核心點,應該讓更多點被納入群而非判為雜訊。「全部判雜訊」是 MinPts 太大的症狀(要求太多鄰居,每個點都找不到足夠鄰居)。而且在高維度下,根本問題是 ε 失效(距離趨同),不是 MinPts 大小。

誰會選錯

記得 MinPts 和雜訊有關,但搞反了方向的人。MinPts 大 → 更多雜訊;MinPts 小 → 更少雜訊(但可能生出太多小群)。全判雜訊是 MinPts 太大或 ε 太小的症狀,而高維度下 ε 失效才是根本原因。

D資料過度標準化導致特徵消失

字面在說什麼

標準化把資料「磨平」了,特徵差異消失,分不出群。

為什麼不對

資料標準化的目的是讓不同尺度的特徵可比較,通常會讓聚類效果更好而非更差。「過度標準化導致特徵消失」在實務上不是常見問題,而且就算有影響,也不會造成「所有點都是雜訊」這個極端結果。高維度下的 ε 失效是一個有數學基礎的系統性問題,遠比「標準化問題」更能解釋全部判雜訊的現象。

誰會選錯

對標準化過於謹慎,覺得「標準化可能有副作用」的人。標準化本身是良好做法,不是 DBSCAN 失效的原因。

06 變形

同個考點下次怎麼變形

變形 1

K-Means 在高維度下也有問題嗎?

直覺

K-Means 也是基於距離的算法,高維度下也會失效嗎?

答案

是的,K-Means 也受維度詛咒影響。高維下歐氏距離失去辨別力,所有點到任何中心的距離都差不多,K-Means 的分群邊界變得模糊,聚類品質大幅下降。不過 K-Means 通常不會「完全失效」(仍然會輸出 k 個群),但分群結果可能毫無意義。

變形 2

如何解決 DBSCAN 在高維度下的 ε 選擇問題?

直覺

既然距離都差不多,有辦法讓 DBSCAN 在高維度下工作嗎?

答案

主要解法有三:一是先降維(PCA、UMAP)再跑 DBSCAN;二是換用對高維更魯棒的距離指標(如餘弦距離);三是改用 HDBSCAN(Hierarchical DBSCAN),不需要固定 ε,自適應地在不同密度尺度下分群,對高維度更穩健。NLP 嵌入向量的聚類通常用 UMAP 降維 + HDBSCAN 的組合。

變形 3

DBSCAN 相比 K-Means 的主要優勢是什麼?

直覺

兩個都是聚類算法,DBSCAN 為什麼存在?

答案

DBSCAN 不需要預先指定群數 k(K-Means 必須指定),能自動找出任意形狀的群(K-Means 只能找球形群),並且原生支援「雜訊點」(K-Means 把所有點都分配到某群,沒有雜訊概念)。在地理位置聚類、異常偵測等場景中,DBSCAN 比 K-Means 更自然。

變形 4

t-SNE 和 UMAP 降維有什麼差別,哪個更適合聚類前的預處理?

直覺

兩個都能降維,選哪個?

答案

t-SNE 優先保留局部結構(鄰近點關係),視覺化效果好但全局距離關係不可靠,計算較慢。UMAP 同時保留局部和全局結構,速度更快,支援新資料的增量轉換(t-SNE 不支援),在大規模資料集更實用。聚類前的降維通常選 UMAP,視覺化探索時 t-SNE 仍常用。

變形 5

文字向量(Word Embeddings)為什麼更適合用餘弦相似度而非歐氏距離?

直覺

向量之間的距離,用歐氏不就好了嗎?

答案

文字向量的「方向」比「大小」更有語意意義:「貓」和「狗」的向量應該方向相近(語意相似),但向量的絕對長度(範數)可能受模型實作影響,不代表語意。餘弦相似度只看方向(角度),忽略長度,更能捕捉語意相似性。高維下歐氏距離趨同問題,餘弦距離也不完全免疫,但相對更穩定。

07 延伸

想再往下看,這 5 個

出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二梯次 iPAS AI 應用規劃師 中級 科目二 大數據處理分析與應用 第 28 題

查看官方原文 PDF