密度ベースのクラスタリングと異常検出のためのDBSCANを探求しましょう。Ultralytics と共に、データセット内の任意の形状やノイズをどのように識別するか学びます。
DBSCAN(ノイズを含む密度ベース空間クラスタリング)は、密度に基づいてデータ内の異なるグループを識別するために使用される強力な教師なし学習アルゴリズムである。球状のクラスタを仮定したり、事前に決められたグループ数を必要とする従来のクラスタリング手法とは異なり、DBSCANは低密度領域によって分離された高密度領域を特定する。 この特性により、任意の形状・サイズのクラスターを発見可能であり、 基盤構造が不明な複雑な実世界データセットの分析に 極めて有効です。本アルゴリズムの主要な利点は、 低密度領域の点をクラスターに強制的に組み込むのではなく 自動的にノイズとして分類する、 組み込み型の異常検出機能にあります。
アルゴリズムは、各データ点周辺の近傍を定義し、その範囲内に収まる他の点の数をカウントすることで動作する。このプロセスを制御する2つの主要なハイパーパラメータがあり、データの特定の特性に合わせるためには慎重なハイパーパラメータ調整が必要である:
これらのパラメータに基づき、DBSCANはデータセット内の各点を以下の3つのタイプのいずれかに分類します:
minPts 近隣の
eps 半径。これらの点はクラスターの内部を形成する。
eps コアポイントの半径だが、それより少ない minPts 近隣住民自身である。これらがクラスターの境界を形成する。
両者とも機械学習(ML)の基礎をなす手法であるが、特定のシナリオにおいてはDBSCANがK-Meansクラスタリングに対して明確な優位性を示す。 K-Meansは中心点とユークリッド距離に依存し、クラスターが凸または球状であると仮定することが多い。これにより、細長いデータや三日月形のデータでは性能が低下する可能性がある。対照的に、DBSCANの密度ベースのアプローチは、データ分布の自然な輪郭に沿うことを可能にする。
もう一つの重要な違いは初期化にあります。K-Meansではユーザーが事前にクラスター数(k)を指定する必要があり、事前知識がないと困難です。DBSCANはデータ密度から自然にクラスター数を推定します。 さらにK-Meansは外れ値に敏感です。全ての点をグループに強制的に割り当てるため、クラスター中心が歪む可能性があるからです。DBSCANは点をノイズとしてラベル付けできるため、データの異常値が有効なクラスターを汚染するのを防ぎ、予測モデリングなどの下流タスク向けにクリーンな結果を保証します。
DBSCANは、空間分析と頑健なノイズ処理を必要とする産業分野で広く応用されている。
コンピュータビジョンワークフローにおいて、開発者はしばしば
Ultralytics オブジェクト検出器を訓練し、結果を後処理する。以下の例は、 sklearn ライブラリを使用して、検出されたオブジェクトの重心(セントロイド)をクラスタリングします。これにより、空間的に関連する検出をグループ化し、複数の検出を統合する可能性が高まります。
バウンディングボックス 同一の物体または識別可能な
物体のグループに対して。
import numpy as np
from sklearn.cluster import DBSCAN
# Simulated centroids of objects detected by YOLO26
# [x, y] coordinates representing object locations
centroids = np.array(
[
[100, 100],
[102, 104],
[101, 102], # Cluster 1 (Dense group)
[200, 200],
[205, 202], # Cluster 2 (Another group)
[500, 500], # Noise (Outlier)
]
)
# Initialize DBSCAN with a radius (eps) of 10 and min_samples of 2
# This groups points close to each other
clustering = DBSCAN(eps=10, min_samples=2).fit(centroids)
# Labels: 0, 1 are cluster IDs; -1 represents noise
print(f"Cluster Labels: {clustering.labels_}")
# Output: [ 0 0 0 1 1 -1]
DBSCANは古典的なアルゴリズムでありながら、現代の深層学習と効果的に連携する。例えば、畳み込みニューラルネットワークから抽出された高次元特徴量は、DBSCAN適用前にPCAやt-SNEといった次元削減技術を用いて削減できる。このハイブリッド手法により、単純な類似性ではなく意味的類似性に基づく複雑な画像データのクラスタリングが可能となる。(CNN)から抽出された高次元特徴量は、 PCAやt-SNEといった次元削減技術を用いて 次元を削減した後、DBSCANを適用できる。このハイブリッド手法により、単純なピクセル位置ではなく意味的類似性に基づく複雑な画像データのクラスタリングが可能となる。これは特に、ラベル付き学習データが 不足している教師なし学習シナリオにおいて有用であり、研究者が膨大な非ラベル画像アーカイブを効率的に整理するのに役立つ。