DBSCANとは
DBSCAN(Density-based Spatial Clustering of Applications with Noise)は、1996年に提案されたデータクラスタリングの手法で、特に密度に基づくクラスタリングを行います。このアルゴリズムの主な特徴は、密集した点のグループを特定し、それに基づいてクラスタを形成することにあります。さらに、低密度のエリアにある点は外れ値として認識され、クラスタリング処理から除外されます。DBSCANは、科学文献の中で非常に多く引用されているクラスタリング手法の一つです。
DBSCANの概要
DBSCANのアルゴリズムは、与えられた空間内のデータポイントに対して、一定の半径(ε)を持つ近傍点の数に基づいて処理を行います。このアルゴリズムでは以下のようにポイントを分類します。
1.
コア点: 近傍内の点の数が指定された最小点数(minPts)以上である点。
2.
密度到達可能点: コア点から一定の距離(ε)内に存在する点。
3.
外れ値: 他のコア点からも到達不可能な点。
この特徴を活かして、DBSCANは一つのコア点から到達可能なすべての点をクラスタに含めます。このため、各クラスタは少なくとも一つのコア点を必ず持つことになります。コア点以外の点も、そのクラスタの一部として扱われますが、ノイズとみなされることもあります。
また、DBSCANの到達可能性は対称的ではありません。具体的には、非コア点から他の点に到達できない一方で、非コア点は他の点から到達される可能性があります。このため、密度連結という新たな概念が導入されます。密度連結性は対称的であり、全ての点は相互に密度連結であれば、一つのクラスタに属しています。
アルゴリズムの詳細
DBSCANは以下の二つのパラメータを必要とします。これらの設定により、データの密度に応じた適切なクラスタリングが期待できます。
- - ε(eps): 点同士の距離を定義する半径。
- - minPts: クラスタを形成するために必要な最小点数。
アルゴリズムは次のように進行します。
1. 任意の点を選び、それが訪れていない場合は訪問済みとしてマークします。
2. 選んだ点の近傍を調査し、その点の近傍にminPts以上の点があれば新しいクラスタが開始されます。
3. その近傍内に点があれば、それもクラスタに追加され、そのプロセスは繰り返されます。
このアルゴリズムの利点は、事前にクラスタの数を指定する必要がなく、任意の形状のクラスタを見つける能力にあります。また、外乱点やノイズの影響に対しても比較的強い耐性を持っています。
計算量とパラメータ設定
DBSCANの計算量は、主に近傍クエリを通じて決まります。理想的には、各点に対して一度だけregionQueryを行うことが求められ、これにより全体の計算量はO(n log n)となります。しかし、異常な場合にはO(n²)に達することもあります。
パラメータ設定
- - minPts: データセットの次元数Dに基づき設定され、一般的にはminPts ≥ D + 1である必要があります。これは、正常なクラスタリング結果を得るために条件となります。
- - ε: 適切な値の設定は難しいことが多く、一般的にはk距離グラフを用いて近隣ブロックとの距離を視覚化し、適切な値を見つけます。これは、クラスタリングの結果に直接的な影響を与えます。
結論
DBSCANは、特に大規模で複雑なデータセットにおいて効果的なクラスタリング手法です。事前知識が不要であり、ノイズへの耐性を持っているため、実世界のさまざまな問題に対応できます。そのため、近年の
データマイニングや機械学習の分野でも広く用いられています。