知能システム論 ー クラスタリング - クラスタリングとは、データ間に距離を定義し、 距離が近いデータ同士をグループ(クラスター)にまとめる作業 例 • 顧客のクラスタリング • 化学物質のクラスタリング • 遺伝子のクラスタリング 階層的クラスタリング ボトムアップ型 近いクラスター同士を融合するプロセスを繰り返す クラスターCi , Cj 間の距離に結果が依存 距離の例: Dmin (Ci , C j ) min{d ( x , y ) | x Ci , y C j } Dmax (Ci , C j ) max{d ( x , y) | x Ci , y C j } 7 5 9 8 6 3 1 2 4 1 2 3 4 5 6 Dendrogram 7 8 9 階層的クラスタリング: トップダウン分割型 与えられた集合を分割することを繰り返す 確率的モデル型クラスタリング 複数の(正規)分布が重なり全データが分布していると 仮定し、各分布を予測 k - クラスタリング (本講義で紹介) k - クラスタリング d 次元ユークリッド空間 R d 内の点集合 S を、 S を覆い S S1 S 2 S k かつ (クラスターと呼ぶ) 、互いに交わらない S1 , S 2 , , S k に分解すること。 クラスター S i の評価 : 直径 diam eter( S i ) = max x1 x 2 | x1 , x 2 S i x1 ,, x d x i 1,, d 2 i 1 2 S i の評価:重心からの距 離の分散 c( S i ) 1 Si var(S i ) x xSi 1 Si xSi x c( S i ) 2 k 個の部分集合 S1 S2 diameter(S1) = diameter(S2) var(S1) >> var(S2) 誤差二乗平均によるクラスターの評価 S の k クラスタリングを {S1 , , S k } 各クラスターの重心は 1 c( S i ) Si y yS i Sの各点 x と、 x が属するクラスターの 1 S i {1,, k } xS i x c( S i ) 重心間の距離の分散 2 を m eansquared error (誤差二乗平均) と呼ぶ 誤差二乗平均を最小化する k-クラスタリングを計算する 問題はNP困難 できるだけ小さくすると言われているアルゴリズムとして k-means 法がある k-means 法の様々な変形が広く使われている k m eans法 クラスターの代表点の 集合を T、 T の点 y を代表点とするクラス ターを S y と表現 . 1. (初期化) S から k 個の点を選択し、 Tの初期集合とする . 2. (再クラスタリング) 各代表点 y T について S y を空集合にリセット . S の各点 x に最も近い T の点 y x y min x z を計算し、 x を S y に 追加. z T 3. (代表点を再計算) S y に登録された点全体の 重心は代表点 y から 1 ずれている可能性が ある . 各代表点 y T を重心 cS y S y 4. 誤差二乗平均が改善しなくなるまで、ステッ u に更新. uS y プ2と3を繰返す . k-means 法による 2-クラスタリング 初期の選択 次ページ 重心を再計算 再クラスタリング 重心を再計算 再クラスタリング 誤差二乗平均は収束 クラスターの評価に直径を使う場合 S の k クラスタリング C {S1 , S 2 , , S k } に対して q (C ) max{diam eter( Si ) | i 1, , k } と定義 q(C ) を最小化する k クラスタリング Cを 効率的に計算できるか ? 与えられた B に対して q (C ) B となる k クラスタリングが 存在するか否かを決定 する問題はNP完全 近似的解法 opt minq (C ) | C は S の k クラスタリング q (C ) 2 opt となる k クラスタリング アルゴリズムが存在す る とおく C を生成する Gonzalez’s farthestpoint heuristics T を S のクラスターの代表元 の集合とし、空集合で 初期化 S から1点 c1 を選択し T に追加 各 j 2, , k について以下のステッ プを実行 1. x S T に最も近い T の点を neighbor( x )と記述 x は neighbor( x ) を代表元とするクラス ターに属すると定義 2. 属するクラスターの代 表元との距離が最大の 点 c j S T (farthestpoint)を T に追加 c j neighbor(c j ) max x neighbor( x ) | x S T c1 c3 c2 代表点 代表点以外の点 補題 T c1 , c2 , , c j 1 のとき、 1 h i j について neighbor(c j ) c j ch ci つまり、 T {c j } の任意の2点は neighbor(c j ) c j 以上離れている neighbor(c3 ) c2 の場合 c1 c3 c2 neighbor(c3 ) c2なので c2 c3 c2 が c3 より先に選択されたの で c1 c3 c1 c3 c1 c2 neighbor(c3 ) c1 の場合 c1 c3 c2 neighbor(c3 ) c1 なので c1 c3 c2 c3 c2 が c3 より先に選択されたの で c1 c3 c1 c2 補題 T c , c , , c のとき、 1 2 j 1 1 h i j について neighbor(c j ) c j ch ci つまり、 T {c j } の任意の2点間距離は neighbor(c j ) c j 以上 j に関する帰納法. 一 般の場合を証明 i j のとき、 Tの中で最も c j に近いのは neighbor(c j ) なので neighbor(c j ) c j ch c j neighbor(c j ) cj ch 代表点 代表点以外の点 i j のとき: j 2個の代表元を選択した 一つ前のステップでの 状態、 つまり T c1 , c2 , , c j 2 を考える。 この時点での c j 1の属するクラスターの とすれば、帰納法の仮 定より a 代表元 neighbor(c j 1 ) を a a c j 1 ch ci b この時点で c j の属する クラスターの代表元を c j 1 cj b T c , c , , c j 1個代表点を選択後に 1 2 j 1 のとき、つまり neighbor(c j ) c j a c j 1 となることを示せ ば十分 neighbor(c j ) c j 1のとき a b a b c j 1 cj c j 1 cj c j 1が代表元として選択さ れたので c j がより近い代表元 c j 1 の b c j a c j 1 クラスターに移動した ので neighbor(c j ) c j b c j neighbor(c j ) b のとき、つまりクラス ターを移動しないとき a b a b c j 1 cj c j 1 cj c j 1が代表元として選択さ れたので neighbor (c j ) c j a c j 1 定理 Gonzalez’s farthestpoint heuristicsが生成する k クラスタリングを q(C )が最小のk クラスタリングを Copt とすれば CG q(CG ) 2 q(Copt ) Gonzalez’s farthestpoint heuristicsから k 個の代表元を選び T c1 , , ck とする もう一回ステップ2を 実行して得られる ck 1 に対して D ck 1 neighbor(ck 1 ) とおく 各クラスターの直径は 2 D 以下に注意すると ci 直径 q(CG ) 2 D D ck 1 neighbor(ck 1 ) なので 任意のクラスターの直 径は 2D 以下 補題より T ck 1 の任意の2点間の距離 は D 以上である すると Coptのどれかのクラスター その2点間の距離を D'とすれば は T ck 1の2点を含む. D D' q(Copt ) q(CG ) 2 D より、 q(CG ) 2 q(Copt )
© Copyright 2024 ExpyDoc