---
title: "雜訊點（DBSCAN 雜訊概念）（Noise Point）"
slug: noise-point
language: zh-TW
source: https://aiterms.tw/learning/what-is-noise-point
updated_at: 2026-06-22
tags: [DBSCAN, 聚類演算法, 離群值偵測, 密度聚類, 異常偵測, 機器學習]
ipas_term: false
type: deep-dive
---

# 雜訊點（DBSCAN 雜訊概念） 是什麼？

> 在 DBSCAN 聚類演算法中，不屬於任何聚類的樣本點，即鄰域內核心點密度不足、也非邊界點的孤立資料點，通常代表離群值或異常值。

## DBSCAN 聚類的基礎框架

DBSCAN（Density-Based Spatial Clustering of Applications with Noise）由 Ester 等人於 1996 年提出，是一種基於密度的聚類方法，能夠發現任意形狀的聚類，並能自然地識別雜訊點，不需要預先指定聚類數量（相較於 K-Means 需要指定 K 值）。DBSCAN 的兩個核心超參數是：

- ε（epsilon）：鄰域半徑，定義「附近」的範圍
- MinPts：形成核心點所需的最小鄰域樣本數（含自身）

## DBSCAN 的三種點類型

DBSCAN 根據每個點的密度特性，將其分為三類：

### 核心點（Core Point）
若某點的 ε 鄰域（以 ε 為半徑的圓內）包含至少 MinPts 個點（含自身），則稱該點為核心點。核心點處於聚類的密集中心區域，是擴展聚類的起點。

### 邊界點（Border Point）
不滿足核心點條件（鄰域內樣本數 < MinPts），但在某個核心點的 ε 鄰域內，稱為邊界點。邊界點被納入核心點所在的聚類，但自身不具有擴展能力。

### 雜訊點（Noise Point）
既非核心點，也不在任何核心點鄰域內的點，即：
- 自身 ε 鄰域的樣本數 < MinPts（非核心點）
- 同時，不被任何核心點的鄰域所覆蓋（非邊界點）

雜訊點是真正「孤立」的點，游離於所有密集區域之外。DBSCAN 最終輸出中，這些點被標記為類別 -1（在 scikit-learn 等實作中）。

## 雜訊點與離群值偵測

DBSCAN 的一大應用是異常偵測：雜訊點天然代表資料中與其他樣本顯著不同的孤立點，這些點在數值空間中遠離任何密集群組。實務應用包括：

- 金融詐欺偵測：交易行為孤立、與任何正常消費模式聚類都相距甚遠的交易
- 網路安全：不符合任何已知流量模式的異常網路封包
- 工業品質管控：生產參數遠離正常操作範圍的異常量測值
- 地理空間分析：遠離任何人口密集區的孤立地點

## DBSCAN 聚類執行流程

1. 隨機選取一個未訪問的點
2. 計算其 ε 鄰域的點數：若 ≥ MinPts，標記為核心點並開始擴展聚類；若 < MinPts，暫時標記為雜訊點（可能後來被更新為邊界點）
3. 從核心點出發，將其 ε 鄰域內所有點加入同一聚類；若鄰域內的點也是核心點，遞迴地繼續擴展
4. 重複以上步驟直到所有點都已訪問
5. 最終未被納入任何聚類的點即為雜訊點

## 參數 ε 和 MinPts 對雜訊點數量的影響

- ε 越大：每個點的鄰域範圍越大，越多點能達到 MinPts 閾值成為核心點，雜訊點減少，但可能合併本應分開的聚類
- ε 越小：鄰域縮小，更多點因鄰居太少而成為雜訊點，聚類更細分
- MinPts 越大：需要更多鄰居才能成為核心點，邊界點和雜訊點增加；MinPts 越小，更多點能成為核心點，雜訊點減少

實務上，常用 k-distance Graph（以每個點到第 k 個最近鄰的距離排序，找「膝點」）來輔助選擇 ε；MinPts 一般建議設為 2 × 特徵維度 或更大。

## DBSCAN 與其他聚類演算法的比較

相較於 K-Means
- K-Means 要求預先指定 K 值，DBSCAN 不需要
- K-Means 假設聚類為球形，DBSCAN 能發現任意形狀
- K-Means 強迫所有點歸屬某聚類，DBSCAN 允許雜訊點的存在

相較於 HDBSCAN（Hierarchical DBSCAN）
HDBSCAN 是 DBSCAN 的階層式改進版，不需要指定 ε 參數，對不同密度區域有更強的適應性，也能輸出雜訊點標記，是 DBSCAN 的現代替代方案。

## 局限性

- 高維資料中「距離」的概念會失去意義（維度災難），ε 參數難以選擇
- 對密度差異大的聚類效果不佳（各聚類密度不同時，單一 ε 難以同時適應所有聚類）
- 計算複雜度在最差情況為 O(n²)（雖然有樹狀索引可加速）
- 邊界點的歸屬可能不穩定（相同邊界點被不同核心點覆蓋時，歸屬取決於訪問順序）

## 常見問題

### DBSCAN 的雜訊點一定是異常值嗎？

不一定。雜訊點是相對於 DBSCAN 的參數設定（ε 和 MinPts）而言沒有足夠鄰居的孤立點，但這不代表它們在業務上必然是異常值。若 ε 設定過小，本應屬於正常群組的點也可能因鄰域太小而被標記為雜訊。反之，若 ε 過大，真正的異常值也可能被拉進某個大聚類中。因此，判斷雜訊點是否為真正的業務異常，還需要結合領域知識對這些點進行人工審視，不能完全依賴演算法的自動標記。

### 如何選擇 DBSCAN 的 ε 和 MinPts 參數？

常用方法是「k-distance Graph」：選定 k = MinPts - 1，計算每個點到其第 k 個最近鄰的距離，將所有距離從大到小排序後繪圖，尋找曲線的「膝點」（急劇彎折處），以該距離作為 ε 的候選值，這個點之後的資料點距離明顯增大，代表它們可能是雜訊點。MinPts 的選擇通常建議 ≥ 資料維度 + 1，實務中常用 4 或 5 作為初始嘗試，再根據聚類結果（雜訊點比例、聚類形狀）調整。

### DBSCAN 和孤立森林（Isolation Forest）哪個更適合做異常偵測？

兩者適用場景有所不同。DBSCAN 將異常偵測視為聚類的副產品，適合資料中正常樣本能形成清晰密集群組、異常值是真正孤立的情境，且具有直觀的幾何意義；局限在於對高維資料和密度差異大的情境效果下降。孤立森林（Isolation Forest）是專門為異常偵測設計的演算法，基於「異常點更容易被隔離」的概念，在高維資料和大量資料上通常更有效率，且有異常分數（Anomaly Score）可供排序。實務上，建議兩者都嘗試，以驗證集上的異常偵測效果為準。

---

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