iPAS 備考專區 登入

iPAS AI 應用規劃師 中級 科目一 AI 技術應用與規劃・114 年第二次・L21・第 11 題

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

原題

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

白話

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

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

一句話總結

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

情境

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

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

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

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

第一件事(ε,Epsilon):「多近才算鄰居?」

如果兩個顧客的消費行為差距小於 ε,就算彼此的鄰居。

ε 設太小:幾乎沒有人互為鄰居,所有人都被標成雜訊。

ε 設太大:幾乎所有人都是彼此鄰居,全部被歸成一個大群。

第二件事(MinPts):「一個點要有幾個鄰居,才算是群的核心?」

如果一個點的 ε 鄰域內有至少 MinPts 個鄰居,它就是「核心點(Core Point)」,可以形成或擴展群集。

MinPts 設太小:噪音點也變核心點,雜訊被錯誤納入群。

MinPts 設太大:密度不夠高的真實群被判為雜訊。

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

舊方法

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

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

新方法

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

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

DBSCAN 的運作流程:

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

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

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

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

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

錯選項

為什麼其他選項是錯的

A特徵數與學習率

字面在說什麼

DBSCAN 的兩個主要超參數是資料有幾個特徵,以及學習率的設定。

為什麼不對

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

誰會選錯

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

BK 值與距離閾值

字面在說什麼

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 模型」就自動聯想到神經網路超參數,忘記聚類是一類完全不同的演算法的人。

變形題

同個考點下次怎麼變形

延伸

想再往下看,這 5 個

答案、題目或解析有問題?回報這題

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

看官方原文 PDF

原題 © 經濟部產業發展署,AITerms.tw 僅作教學解析使用,本站解析以 CC BY-NC-SA 4.0 授權。