用語集

DBSCAN(ノイズを含むアプリケーションの密度ベース空間クラスタリング)

DBSCAN:機械学習におけるパターンの識別、ノイズの処理、複雑なデータセットの分析のためのロバストなクラスタリングアルゴリズムを発見してください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)は、機械学習(ML)やデータマイニングで広く使われているクラスタリングアルゴリズムである。DBSCANは教師なし学習法のカテゴリーに属し、あらかじめ定義されたラベルなしでデータのパターンを発見する。DBSCANは、特徴空間内で密接に詰め込まれたデータ点をグループ化することに優れており、任意の形状のクラスタを効果的に識別する。重要な強みは、密度の低い領域で孤立した点を外れ値やノイズとしてマークする能力であり、実世界のデータセットに対してロバストである。事前にクラスタ数を指定する必要があるアルゴリズムとは異なり、DBSCANはデータ密度に基づいてクラスタを決定するため、人工知能(AI)のさまざまなデータ探索タスクに柔軟性を提供する。

DBSCANの仕組み

DBSCANは密度到達性の概念に基づいてクラスターを特定する。DBSCANはクラスターを、低密度領域で区切られた高密度領域とみなす。アルゴリズムの動作は主に2つのパラメータによって制御される:

  1. イプシロン (eps):このパラメータは2つのデータ点間の最大距離を定義し、一方のデータ点が他方のデータ点の近傍にあるとみなされるようにします。これは基本的に各点を囲む半径を作成します。
  2. 最小点数(minPts):このパラメータは、その点を「コア点」として分類するために、その点のeps近傍(その点自身を含む)内に必要なデータ点の最小数を指定する。

これらのパラメータに基づいて、データポイントは3つのタイプに分類される:

  • コア・ポイント 点とは、少なくとも次のような特徴を持つ点を指す。 minPts の近隣にある。 eps 半径。これらの点は通常、クラスターの内部に位置する。
  • ボーダー・ポイント コア・ポイントから到達可能な場合(つまり、コア・ポイントの範囲内)、そのポイントはボーダー・ポイントである。 eps コア点の半径)を持たない。 minPts が隣接している。境界点はクラスターの端にある。
  • ノイズ・ポイント(外れ値):コア点でもボーダー点でもない点はノイズとみなされる。これらの点は通常、密度の低い領域に孤立している。

アルゴリズムは、任意の未訪問のデータ点を選択することから始まる。その点の eps-近傍点である。もしその点がコア点であれば、新しいクラスターが形成され、アルゴリズムは再帰的にすべての密度到達可能点(近傍のコア点と境界点)をこのクラスターに追加する。選択された点がノイズ点であれば、一時的にそのようにマークされ、アルゴリズムは次の未訪問点に移動する。このプロセスは、すべてのポイントが訪問され、クラスタに割り当てられるか、ノイズとしてマークされるまで続けられる。オリジナルの手法の詳細については、研究論文を参照されたい:"ノイズを含む大規模空間データベースにおけるクラスター発見のための密度に基づくアルゴリズム".

主な利点と欠点

DBSCANにはいくつかの利点がある:

  • 任意の形状を扱う:K-meansのようなアルゴリズムとは異なり、DBSCANは非球状のクラスタを見つけることができる。
  • クラスター数を事前定義する必要なし:クラスタ数は密度に基づいてアルゴリズムが決定する。
  • 外れ値に強い:ノイズポイントを識別し、処理するためのメカニズムが組み込まれています。

しかし、これには限界もある:

  • パラメータ感度: クラスタリング結果の質は、以下の選択に大きく依存する。 eps そして minPts.最適なパラメーターを見つけるのは難しい。次のようなツールがある。 scikit-learn オファーの実装 チューニングできる。
  • 密度を変えることの難しさ: クラスタの密度が著しく異なるデータセットでは、単一の eps-minPts の組み合わせは、すべてのクラスターでうまく機能するとは限らない。
  • 高次元データ:密度の概念が意味をなさなくなる「次元の呪い」により、高次元空間では性能が低下することがある。

DBSCANと他のクラスタリング手法との比較

DBSCANはしばしば他のクラスタリングアルゴリズム、特にK-meansクラスタリングと比較される。主な違いは以下の通りです:

  • クラスターの形状:K-meansはクラスターが球形で均等な大きさであると仮定しているが、DBSCANは任意の形のクラスターを見つけることができる。
  • クラスターの数 K-meansは、ユーザーがクラスタの数を指定することを必要とする(k)を事前に決定するのに対し、DBSCANは自動的に決定する。
  • 外れ値の処理:K-meansはすべてのポイントをクラスタに割り当てるため、外れ値の影響を受けやすい。DBSCANは外れ値をノイズとして明示的に識別し分離する。
  • 計算複雑性:K-meansは一般的にDBSCANよりも高速であるが、特に大規模なデータセットでは、DBSCANの複雑さはパラメータの選択やKD-treesのようなデータ構造の最適化によって変化する。

実世界での応用

DBSCANは密なグループを見つけ、外れ値を分離する能力があるため、様々なアプリケーションに適している:

  • 異常検知通常の行動から逸脱した異常なパターンを特定すること。例えば、正規の支出が密集しているのに比べ、孤立した点として現れることが多いクレジットカードの不正取引の検出や、サイバーセキュリティのためのネットワーク・トラフィック・データの侵入の特定など。異常検知のためのビジョンAIの関連概念をご覧ください。
  • 空間データ分析:地理的または空間的データの分析。例えば、市場セグメントを特定するために顧客の所在地をグループ化したり、都市における犯罪のホットスポットを分析したり(スマートシティにおけるAI)、土地利用の分類や環境モニタリングのために衛星画像分析でパターンを特定したりする。
  • 生物学的データ解析:遺伝子発現データのクラスタリングやタンパク質データベースの構造同定。
  • 推薦システム:疎な相互作用データに基づいて、類似した嗜好を持つユーザーをグループ化する(推薦システムの概要)。

DBSCANとUltralytics

ウルトラリティクス Ultralyticsエコシステムは、主に次のような教師あり学習モデルに焦点を当てています。 Ultralytics YOLOのような教師あり学習モデルに焦点を当てている。DBSCANは教師なし手法であるため、YOLOv8のようなモデルの中核となる学習ループには直接統合されません。 YOLOv8YOLO11DBSCANは教師なし手法であるため、YOLOv8やYOLO11のようなモデルの中核となる学習ループには直接組み込まれないが、その原理はコンピュータビジョン(CV)やデータ解析のより広い文脈に関連している。データ密度と分布を理解することは、トレーニングのためにデータセットを準備し分析するときや、推論後に空間的近接性に基づいて検出されたオブジェクトをクラスタリングするなど、モデルの出力を後処理するときに非常に重要です。Ultralytics HUBのようなプラットフォームは、データセット管理と可視化のためのツールを提供し、DBSCANのようなクラスタリングアルゴリズムが適用される探索的データ分析技術を補完することができます。

すべて読む