230 likes | 416 Views
A Distribution-Based Clustering Algorithm for Mining in Large Spatial Databases. ICDE’98 Xiaowei Xu,Martin Ester, Hans-Peter Kriegel,Jorg Sander Satoru Tanaka. 概要. DBCLASD ( 入力パラメータ :0個 ) Distribution Based Clustering of Large Spatial Databases DBSCAN ( 入力パラメータ :2個)
E N D
A Distribution-Based Clustering Algorithm for Mining in Large Spatial Databases ICDE’98Xiaowei Xu,Martin Ester, Hans-Peter Kriegel,Jorg Sander Satoru Tanaka
概要 • DBCLASD(入力パラメータ:0個) • Distribution Based Clustering ofLarge Spatial Databases • DBSCAN (入力パラメータ:2個) • Density Based Spatial Clustering of Applications with Noise • CLARANS • Clustering Large Applications based on RANdomized Search
1. 導入 • 巨大な空間データベースがクラスタリングアルゴリズムに要求すること • 入力パラメータを最小にする • 任意の形のクラスターの発見 • スケーラビリティーあり(巨大なデータベースを効率的に扱える) • DBCLASD • 1つの入力パラメータも与えることなく、適切なクラスタリングを行うことができる。
論文の構成 (2章: 関連論文) 3章: クラスターの表記法 4章: DBCLASDのアルゴリズム 5章: 比較・評価 (6章: まとめ)
3.1 クラスターの表記法 • 距離分布を基にする • Figure 1: Sample minefield database • 定義3.1 • NNs(q) : Nearest Neighbor of q in S • NNdist s(q) : Nearest Neighbor Distance of q • 定義3.2 • NNdistSet(S) : Nearest Neighbor Distance Set of S • NNdistS(ei) : ei ∈S S q NNdist s(q)
3.2 クラスター定義のための統計モデル • 1つのクラスターのdNN(=D)の確率分布 • [仮定] • クラスター内の点は均一に分布 • データベース内の点は均一に分布している必要はない
データ空間R (N個の点が均一に分布) 部分空間S Vol(S) x q D Vol(R)
3.3 クラスター領域の計算 • おおよその値を計算 • グリッドベース • Figure 2: • グリッドの長さの選択をどうするか? • NNDistSet(S)の最大の要素をグリッドの長さとする。
expected distance distribution f/NNdist NNdist • Figure 3 参照 • 定義3.3 • DB := データ集合、C:= Cluster • NNDistSet(C)は要求された確信度を満たす期待値の分布をもつ • C is maximal. • C is connected.
4.DBCLASDのアルゴリズム • Incremental algorithm • DBCLASDは、次の条件を満たす限り、初期クラスターをその近隣の点によって増大させる。 条件:新しい点を挿入することで生じるクラスターの最近傍距離集合の分布が、距離分布の期待値に当てあまる • Candidate • まだクラスターに割り当てられていない点
4.1 候補の生成 • 新しい点pをクラスターCに挿入するとき、中心p、半径mの円クエリにより、新しい候補が選択される。 クラスターC m p NNdistc(p) N個
クラスターCの新しいメンバp各々に対して、適切な半径mの円クエリを使って、新しい候補を抽出する。クラスターCの新しいメンバp各々に対して、適切な半径mの円クエリを使って、新しい候補を抽出する。 • より大きなmは、χ^2-testでチェックする候補の数を増大させ、このアルゴリズムの効率を低下させる。 • クエリ半径mは、「クラスター内の点が均一に分布したモデル」に基づいて、算出される
半径mの必要条件 • A: クラスターCのエリアの大きさN: クラスターCの要素数
4.2 候補のテスト • テスト順による影響を最小化するための2つの特徴 • 失敗した候補集合(unsuccessful candidate)は捨てられるのではなく、後でもう一度トライできる。 • あるクラスターに既に割り当てられた点は、後で他のクラスターにスイッチしても良い。
誤ったクラスターの分割を避ける方法 • DBCLASDは候補の生成の過程で、候補が既に他のクラスターの候補になっているかをチェックしない。 • この方法はクラスターの合併には非常に良い方法だが、計算コストが高い。 • ある点は、最終的に割り当てられるクラスターが決定するまで、何度でも他のクラスターの候補になり得る(再割当の回数は平均的に小さいが・・・)
4.3 アルゴリズム • DBCLASD(database db) • retrieve_neighborhood(cluster C; point p) • update_candidates(cluster C; point p) • expand_cluster(cluster C) • retrieve_neighborhood(cluster C; point p) • update_candidates(cluster C; point p)
expand_cluster(C)に処理がうつる前の候補集合 m 29-NN-dist 期待分布を満たすならば、クラスターに点を挿入
1回目の挿入で失敗した点はunsuccessful candidateリストに保存される。 • クラスターが拡張して行くことで、1回目の挿入で失敗した点が、再トライすれば、あるクラスターへの挿入に成功するかも知れない! • unsuccessful candidateリストを候補リストとして、再びクラスターの拡張を試みることで、誤ったクラスターの分割を避けることができる!
5. 評価 • 比較対象 • CLARANS, DBSCAN • 任意の形をしたクラスターの発見 • DBCLASD, DBSCAN ⇒OK • CLARANS ⇒NG • 入力パラメータの数 • DBCLASD 0個 • DBSCAN 2個 • CLARANS クラスターの数を決定するために 相当な計算量を必要とする。
効率(実行時間) • DBCLASDはスケーラビリティーあり! • 実データへの応用 • DBCLASDOK! (カルフォルニアの地震データベースに適用)