SlideShare a Scribd company logo
データマイニング
 クラスタリング(II)
階層型クラスタリング

       瀬々 潤
 sesejun@is.ocha.ac.jp
どの観測技術の進歩により,一般に数千個の遺伝子を同時に観測することが多

         クラスタリング
いため,遺伝子は数千個並ぶが,表 4.1 では,説明の都合上,4 遺伝子のみの

•   類似した挙動を示すサンプルを見つけ,グループ化する
               サンプルの時間 10 分 20 分 30 分 40 分
    •    グループをクラスターと呼ぶ
                 遺伝子 1  0.74 0.76 1.34 1.75
         経過時間 遺伝子 2
                  10分   2.01 2.62 30分
                        20分                 40分
                                     0.87 0.69
         遺伝子1 遺伝子 30.74 0.87 0.60 1.34
                        0.76         1.83 1.90
                                            1.75
         遺伝子2 遺伝子 42.01 1.73 1.83 0.96 0.93
                        2.62      0.87      0.69
        表 4.1 発現プロファイルの例。それぞれの値は,10 分,20 分,30
                   0.87 0.60      1.83
         遺伝子340 分の 4 つの時間で,各遺伝子が 0 分のサンプルに対
              分,
                                            1.90
         遺伝子4      1.73 1.83
              して,何倍の発現を有しているかを示す. 0.96      0.93




                              2
クラスタリング(続)
•   2つの方法
    •   階層型クラスタリング
        •   クラスターに階層構造を付ける
    •   非階層的クラスタリング
        •   予めグループの数を定めておく
•   クラスタリングで注意すべき点
    •   点間の距離(サンプル間の距離)
        •   ユークリッド距離?マンハッタン距離?相関係数?
    •   グループ間の距離
        •   グループの境界を決める教師がない:教師無し学習と呼ば
            れる

                      3
階層型クラスタリング
•   クラスターを階層的に作成する
•   作成した階層図をデンドログラムと呼ぶ
•   デンドログラムの下で交わっているクラスタは類似度が高い
    (近い)ことを示す
•   デンドログラムの上から作成するトップダウン型(Top-down
    Clustering, Divisive Clustering)とデンドログラムの下から作成す
    るボトムアップ型(Bottom-up Clustering, Agglomerative Clustering)
    がある                              デンドログラム

               C                                           類似度
          B

                   A


                       F
    G      E
                   D
                           A       B   C   D   E   F   G
        (A) 点の配置                   (B) 階層型クラスタリングの結果
                               4
階層型クラスタリング(続)
•   ある類似度の閾値を用意し,作成したデンドログラムの枝を切る
•   切られた枝に属するサンプルをクラスタとする.


•   どうやって,デンドログラムを作ろう?



                                                     グループ1

                                閾値
                                                 C
                                             B

                                                     A
                                     グループ3               グループ2

                                                         F
A     B   C   D   E    F    G         G      E
                                                     D
    グループ1      グループ2       グループ3
       (C) グループの生成                    (D) 作成されたクラスタ
                                5
ボトムアップ型クラスタリング
•   デンドログラムの下側から作っていく方式
•   クラスタ間の距離を測る方式により,種類が分かれる
    •   単連結法:クラスタ間の距離を,最も近い点の距離とする
    •   完全連結法:クラスタ間の距離を,最も遠い点の距離とする
    •   群平均法:クラスタ間の距離を,全点対の距離の平均で測る
    •   ウォード法:各点の属するクラスターの重心までの距離の2乗
        和で測る




                 クラスタ間                         クラスタ間
                 の距離                           の距離


                         クラスターY       クラスターX           クラスターY
        クラスターX
          (A) 単連結法での距離            6     (B) 完全連結法での距離
単連結法
•    ボトムアップ型クラスタリングの一種

    d(x, y) : 点 x, y 間のユークリッド距離
    クラスタ Ci , Cj の距離を
     Dmin (Ci , Cj ) = min {d(x, y) | x ∈ Ci , y ∈ Cj }
で計測する

1. 全ての点が別々のクラスタに属していると仮定する
2. 最も近いクラスタの対を併合し,1つのクラスタとする
3. 2の作業を,全点が1つのクラスタになるまで,繰り返す




                             7
1   C                                       C                           C
        B                                   B                                   B

                    A                           3               A           5               A
            E                               4       E                               E
                    2
                            F                                       F                           F

G                                       G                               G
                        D                                   D                           D
(A) B,C及びD,Fの併合                 (B) 点A,Eのクラスターへの併合 (C) 大きなクラスターの生成


                                6                           (A)∼(C)中の数値(1∼5)は、
                                                            左記のクラスターの階層構造の
                        5                                   1∼5と対応している。
                4                                           (A)∼(C)中の線はクラスターの併合に
                                                            その距離を採用した事を示す
    3                               2
            1
A       B       C       E       D       F       G
(D) 単連結法で生成したデンドログラム                                    8
ボトムアップ型の手順(1/2)
   •   ボトムアップ型は全て以下の手順で実行する
4.5. 単 連実装を考慮して,手順が書かれていることに注意
         結 法
       •                                                 59



 (1) 与えられた N 点を x1 , . . . , xN とし,それぞれの点を 1 点が属するクラスター
    とみなす.x1 , . . . , xN が構成するクラスターを C1 , . . . , CN とする.  
 (2) n = N とする.n は,残っているクラスターの数を表す.  
 (3) 以下の手順を n = 1(全てが一つのクラスター)となるまで繰り返す
     (a) クラスター C1 , . . . , Cn の中で最も近いクラスターを探し Ci , Cj とする
       (i < j )
              1.       2     3   4   5  6         7
     (b) Ci と Cj を併合し,Ci を併合したものに置き換える.
     (c) 各クラスター間の距離を更新する.   
     (d) Cj = Cn とする.また,クラスターが減ったので n = n − 1 とする.

            図 4.8 ボトムアップ型クラスタリングの手順

                             9
(1) 与えられた N 点を x1 , . . . , xN とし,それぞれの点を 1 点が属するクラスター
   とみなす.x1 , . . . , xN が構成するクラスターを C1 , . . . , CN とする.  
           ボトムアップ型の手順(2/2)
(2) n = N とする.n は,残っているクラスターの数を表す.  
(3) 以下の手順を n = 1(全てが一つのクラスター)となるまで繰り返す
    (a) クラスター C1 , . . . , Cn の中で最も近いクラスターを探し Ci , Cj とする
      (i < j ).
    (b) Ci と Cj を併合し,Ci を併合したものに置き換える.
    (c) 各クラスター間の距離を更新する.   
    (d) Cj = Cn とする.また,クラスターが減ったので n = n − 1 とする.

               図 4.8 ボトムアップ型クラスタリングの手順
               1     2   3  4  5 6  7

     (a)

               1       2   3           4            5   6       7

     (b)
           1   C                            C                           C
      B        1       2   3
                           B           4            5   6       7
                                                                B
     (d)
                   A           3                A           5               A
           E                       E   10                           E
単連結法の距離行列の更新
                              (A)クラスター間の距離                     (B) 隣接クラスターと距離

                                A        B,C   D,F   E     G
                        A                1.2   2.3   1.9   4.1   B,C     1.2

                        B,C     1.2            3.2   2.0   4.0   A       1.2
                        D,F     2.3      3.2         2.2   3.5   E       2.2
            C
                        E       1.9      2.0   2.2         2.5   A       1.9
    B
                        G       4.1      4.0   3.5   2.5         E       2.5
                A
        E                                 AとB,Cの併合
                    F
                            (C)併合後のクラスター間距離                    (D) 隣接クラスターと距離
G
            D                   A,B,C          D,F   E     G
                        A,B,C                  2.3   1.9   4.0   E       1.9
                        D,F     2.3                  2.2   3.5   E       2.2
                        E       1.9            2.2         2.5   A,B,C   1.9

                        G       4.0            3.5   2.5         E       2.5


                                    11               ※灰色は更新があった所
単連結法の計算量
•   距離行列更新に伴う計算量
    •   CiとCjを併合しCi’となる場合を考える
    •   Ci’からクラスタCkへの距離
        •   CiとCkの距離か,CjとCkの距離の内,短いほうを選択
    •   クラスタ間の距離の更新
        •   クラスタは高々N個なので,O(N)回の比較
        •   空間計算量は,O(N^2)
•   各クラスタに隣接するクラスタの更新
    •   隣接するクラスタがCjの場合は,Ci’ に変更
•   以上より,1度の併合では時間計算量O(N),空間計算量O(N^2)が
    必要
•   クラスタの併合はN-1回起こり,デンドログラムは空間計算量O(N)
    で保存可能. 全体では空間計算量O(N^2), 時間計算量O(N^2)
                            12
や,細胞内のパスウエイ情報35, 48) などグラフで表されるデータの増加も見込ま
           単連結法とグラフ
れるため,最小全域木を求めるアルゴリズムであるクラスカルのアルゴリズム

•(Kruskal’s Algorithm) を導入することで,最小全域木と単連結法の関連を紹
   単連結法は,最小全域木(Minimum Spanning Tree)と関連が深い.
 介する.
• 最小全域木
定義 4.2 無向連結グラフ G = (V, E)(V は頂点集合,E は辺の集合) に対し,
T ⊆ G なる G の部分グラフ T を考える.T に閉路が無く,全頂点が結ばれ
ている(つまり,G の頂点集合 V と T の頂点集合は一致する)時,T を全域
木 (Spanning Tree) と呼ぶ.このグラフは木となる.ここで,グラフ G の各
辺 (u, v) ∈ E に重み w(u, v) が定義されているとする.全域木となる G の部分
グラフの内,辺の重みの和        (u,v)∈T   w(u, v) が最小になるような全域木 T を,
G の最小全域木 (Minimum Spanning Tree) と言う.

  図 4.13(A) に与えられたグラフを示す.このグラフは図 4.9(P. 59) において
単連結法を利用してクラスタリングを行ったものと同一の点を元に,全ての2
点間に辺を張ることで構成されている.辺の重みは辺の長さであるとする.こ
のグラフから求まる最小全域木を図 4.13(B) に示す.図 4.13(B) 上の各辺には,
距離の短い順に番号が振られている.1 と書かれた辺 BC が最も短く,6 と書
   G       全域木
かれた辺 GE が最も長い.この最小全域木と,図 4.9(D)(P. 59)のデンドロ
                   13
最小全域木



G   全域木


                辺の長さを重みとする.
                w(u,v)は点u,v間の距離


               最小全域木は,全域木の中で
               辺の距離の和が最小になるもの

          14
Kruscal(クラスカル)のアルゴリズム
72                                                           第 4 章 クラスタリング
 (1) 各辺に実数の重みが与えられた連結グラフ G = (V, E)(V は頂点集合,E は
    辺集合)を考える.
 (2) A を空集合とする.A には今後の手順で最小全域木の辺が順に入る.
 (3) V の頂点が全て別のグループに属していると考える (各グループは,1 点のみ
    が属する)
 (4) 重みの少ない辺から順に,以下を繰り返す (選択した辺を (u, v) ∈ E とする)
     (a) 異なるグループなら,A を A ∪ {(u, v)} で置き換え,u と v のグループ
        を併合する.
     (b) u と v が同じグループに属すなら,何もせず次に重みの小さい辺を選択
        する 
 (5) 全ての辺について繰り返しが終わった後で出来る A は最小全域木の辺を構成
    している.
                         C                          C                           C
                                            B                         B
           図B
            4.14      クラスカルのアルゴリズムで最小全域木 A を求める手順

                           A                         A                           A
                E                               E                         E
                          C             e               V-C
                               F                         F                           F

       G                            G                            G
                          D                         D                           D
                A={}                 A={(B,C),(D,F)}            A={(B,C),(D,F),(A,B)}
     {A}, {B}, {C}, {D}, {E}, {F}   {A}, {B,C}, {D,F}, {E}
                                      e’                         {A, B,C}, {D,F}, {E}
                                            15
C                                                C
       B
                                                        1
                                                    B

                       A
                                                            3
                                                                    A
           E                                            E       4
                           F
                                                    6           5           F
                                                                        2
   G                                       G
                       D                                            D
(A) 与えられたグラフ.全点間に辺が                    (B) (A)の最小全域木
張られ,距離に比例した重みが付いている.



                                   6
                               5
                           4                                    単連結法のデンドログラムと
               3                                                最小全域木は対応している
                                       2
                       1
           A       B       C   E   D       F        G
                   (C) 単連結法のデンドログラム



                                               16
C                                C                       C
        B                            B                         B
                A                                A                       A
      E                              E                        E
                        F                            F                       F

G                            G                            G
                D                            D                        D
(A) 全点に対し距離を計測              (B) 最も近い点Aを選択。                (C) 最も短い辺を選択(辺AB)。
                            点Eより点Aに近い点B,Cは                新たにTに含まれた点Bから
                            関連する点と距離を更新                   距離の更新
            C                                C
     B                           B
                A
                                                 A
    E                                    E                        ヒープQに含まれる
                                                                  頂点からの辺
                    F                                F
                                                                   最小全域木T
G                           G
            D                                D
(D) 点C, F をTに追加             (E) 求められた最小全域木                 フィボナッチヒープを用いると
                                                           O(E + V log V )で最小全域木が求まる.

                                                     17
完全連結法

                          クラスタ間
                          の距離


                 クラスターX           クラスターY

•    ボトムアップ型クラスタリングの一種
    d(x, y) : 点 x, y 間のユークリッド距離
    クラスタ Ci , Cj の距離を
      Dmax (Ci , Cj ) = max{d(x, y)|x ∈ Ci , y ∈ Cj }
    で計測する
1. 全ての点が別々のクラスタに属していると仮定する
2. 最も近いクラスタの対を併合し,1つのクラスタとする
3. 2の作業を,全点が1つのクラスタになるまで,繰り返す
                            18
1                                       3        C                         C
                    C
        B                                       B                              B

                    A                                            A                         A
            E                                                              5
                    2                           4
                                                                                   E
                            F                       E                F                         F
                                                                          G
G                                       G
                        D                                    D                         D
(A) B,C及びD,Fの併合                             (B) 点A,Eの併合                  (C) 点Gのクラスタへの併合


                                            5                    (A)∼(C)中の数値(1∼5)は,
                                                                 (D)のクラスタの階層構造の
                                                                 1∼5と対応している.点と点の
                                    4
                                                                 間の線は,クラスター間の距離を
    3                                                            表している.
                                2
            1

A       B       C       D           F       E       G
 (D)完全連結法で作成したクラスタ


                                                        19
クラスター併合による,隣接クラスターの変化
         (A)クラスター間の距離                   (B) 隣接クラスターと距離
           A  B,C D,F E           G
 A              1.3 3.0     1.9   4.1      B,C   1.3
 B,C      1.3         4.1   2.5   4.5      A     1.3
 D,F      3.0   4.1         2.3   4.0      E     2.3
 E        1.9   2.5 2.3           2.5      A     1.9
 G        4.1   4.5 4.0     2.5            E     2.5
          AとB,Cの併合
     (C)併合後のクラスター間距離                    (D) 隣接クラスターと距離
         A,B,C D,F E G
 A,B,C                4.1   2.5   4.5      E     2.5
 D,F      4.1               2.3   4.0      E     2.3
 E        2.5         2.3         2.5      D,F   2.3
 G        4.5         4.0   2.5            E     2.5     20
C
              C
      B                                   B

              A                                       A
          E                                   E
                          単連結法
                      F                                   F

  G                                   G
                                                  D
                  D
(A) Eに最も近いクラスターは点A               (B) AとB,Cが併合しても,Eの隣接クラス
                                    ターが点Aが属するクラスターであること
      完全連結法
                                    と,そのクラスターまでの距離に変化なし

              C
      B
                          (C) AとB,Cが併合したことでEに最も近いクラスターは
                  A          D,Fとなる(CE間よりDE間の距離が短い).クラスター
                             の併合によってEの隣接クラスターと距離が変化する
          E                  可能性がある.
                      F

  G
              D           完全連結法では,単純には,隣接クラスタの更新で
                          O(N^2)必要なので,全体として時間計算量O(N^3)が必
                                 21
                          要
ヒープでクラスタ間距離を保持することで,
                {A},1.9
                                             計算量を O(N^2 log N)に落とせる.
    {B,C}, 2.5            {D,F}, 2.3         ( 一回のヒープの挿入,削除はO(log N) )

{G}, 2.5
    (A) 点Eのクラスターの隣接
       クラスターに関するヒープ
                                       削除
                                             {A},1.9    {B,C}, 2.5

                                            (B) 併合する2つのクラスター
                 {D,F}, 2.3                     を削除


           {G}, 2.5                                    併合

           (C)併合するクラスターを 削除
              したヒープ
                                              {A, B,C}, 2.5
                                       挿入
                                            (D) 併合したクラスター
                 {D,F}, 2.3


       {G}, 2.5           {A, B,C}, 2.5

           (E) 更新したヒープ
                                             22
duces the clusters shown in Figure 12,
                                                   whereas the complete-link algorithm ob-
単連結法と完全連結法の得手不得手
 S
                                                   tains the clustering shown in Figure 13.
                                                                  Data Clustering
                                                   The clusters obtained by the complete-
                                                                                         •      277
 i
 X
m2                                                 link algorithm are more compact than
                                                      X2
 i                                                 those obtained by the single-link algo-
 l
 a                                                 rithm; the cluster labeled 1 obtained
 r                                       2       2 using the 1single-link algorithm 2is elon-
                                                              1 11                                2
 i       1 111                     2 2 22 2                                          2 2 22 2
 t          1 1 11                      2       2  gated because 1of the noisy patterns la-
                                                                1 1 1                   2
                                                                                                2
                                                                                                 2
                                    2          2                                      2
 y       11
              111 1 *** * * * * **     2   2 2     beled “*”. 1 1 1 1 single-link * algorithm 2is
                                                              11
                                                                  The * * * * * * * * 2     2
          1                         2      2                   1                      2     2
             1 1 1 1
                   1                         2     more versatile 1than the complete-link
                                                               1
                                                                 1 1 1
                                                                       1                    2
                                                                                              2
           1                               2
                                                   algorithm, otherwise. For example, the
                                                   single-link algorithm can extract the
                                                   concentric clusters shown in Figure 11,
                A B C D E F***はノイズの点           G
                                                   but the complete-link algorithm cannot.
Figure 10. The dendrogram obtained using X1 However, from a pragmatic viewpoint, it 1               X
        単連結法
the single-link algorithm.                                         完全連結法
 Figure 12. A single-link clustering of a pattern  has been observed that clustering of a pat-
                                                     Figure 13. A complete-link the complete-
        ノイズに引きずられている                                               ノイズがあっても分離
                                                     tern set containing two classes (1 and 2) con-
 set containing two classes (1 and 2) connected by link algorithm produces more useful hi-

Y
 a chain of noisy patterns (*).                    erarchies inchain of noisy patterns (*).
                                                     nected by a
                                                                    many applications than the
                          1                        single-link algorithm [Jain and Dubes
                                 1                 1988].
(3) The output of the algorithm is a well-separated, chain-like, and concen-
                    1
      nested hierarchy of graphs which tric clusters, whereas a typicalClus-
                        2     2         1             Agglomerative Single-Link              parti-
              1
                            2                           単連結法では分離できて
      can be cut at a desired dissimilarity tering Algorithm such as the k -means
                                                     tional algorithm
                      2          2
      level forming a partition (clustering) algorithm works well only on data sets
                                         1              完全連結法では分離できない例
                            2
      identified by simply connected com- (1) Place isotropic clustersits own clus-
                  1                                  having each pattern in [Nagy 1968].
      ponents in the 1   corresponding graph. On theConstruct a list of interpattern
                                 1                       ter. other hand, the time and space
                                                     complexities for all 1992] ofunordered
                                                         distances [Day distinct the parti-
Agglomerative Complete-Link Clus- 23                 tional algorithms are typically lower
                                               X         pairs of patterns, and sort this list
その他の指標
  •   計算量とクラスタ作成にかかる時間の最適化
  •   Average Group Linkage(群平均法)
      •   クラスタ間の距離は,クラスタを跨ぐ全点対の距離の平均
                             1
           D(Ci , Cj ) =            D(x1 , x2 )
                         |Ci ||Cj |
                               x1 ∈Ci x2 ∈Cj

  •   Ward’s Method
      •クラスタの中心までの距離の二乗和を最小化する
           D(Ci , Cj ) = E(Ci ∪ Cj ) − E(Ci ) − E(Cj )
                      where E(Ci ) =  (d(x, ci ))2 ,
                                      x∈Ci
                               1
                         ci =                x
                              |Ci |
                                      x∈Ci




Average Group Linkage         24
                                         Ward’s Method
単連結法の結果
完全連結法の結果
トップダウン型クラスタリング(1)
•   データ全体のばらつき具合を見て,点を再帰的に分割する
    •   全体を半分に分けて,それぞれを半分に分けて・・・
    •   ボトムアップ型に比べると「よさげ」なクラスタの生成が期
        待できる.
•   n点のクラスタリングを考えた時・・・
    •   ボトムアップアップ型は,始めの操作でn*(n-1)通りの分割方
        法がある
        •   全通りの内,一番良さそうなところから併合
    •   トップダウン型は,2^n通りの選択がある.
        •   まじめに考えたら大変・・・
トップダウン型クラスタリング(2)
•   トップダウンクラスタリングの手順
    •   初期化:全ての点を同一のクラスタに属していると考える
    •   繰り返し:存在するクラスタを(何らかの方法で)分割する
    •   終了判定:分割するクラスタが無くなったら終了
•   クラスタをどのように分割するのか?
•   DIANA法 (DIvisive ANAlysis )
    •   DIANA法では,最も離れている点を選択し,そこにどんどん
        点を追加していく手法を取る
        •   詳細は次ページ以降
DIANA法(1)
     •     クラスター分割の指標としてV(i,S)を定義する.

V:与えられたクラスタの点全体集合
S(⊂V): 分割後の新たなクラスタ候補(スプリンターグループ)
d(i, j) : 点iと点jの距離
Sに新たに点i∈V-Sを加える判断基準として,指標V(i,S)を定義する

V (i, S)
            1
         |V |−1   j∈V −{i} d(i, j)                               if S = φ
=             1
         |V −S|−1    j∈S∪{i} d(i, j)   −    1
                                           |S|   j∈S   d(i, j)   if S = φ


    V(i,S)は,点iのS内の点までの平均距離 - (V-S)内の点までの平均距
    離を表す.後ほど,実際に計算してみる.
DIANA法(2): 手順
                    C               A
               B                B   1.2    B

                     A          C   1.3    1.0   C
               E                D   3.0    4.0   4.1   D
                            F   E   1.9    2.0   2.5   2.3   E

          G                     F   2.3    3.2   3.4   1.1   2.2   F
                        D       G   4.1    4.0   4.5   3.5   2.5   4.0
         (A) クラスタリングを行う7個の点               (B) 7点の間の距離

6                                                      第 4 章 クラスタリング
(1)  初期化: S を空集合 {} とする.S をスプリンターグループと呼ぶ
(2)  V (i, S) を最大にする i ∈ V − S を発見する.
(3)  V (i, S) > 0 ならば i を S に追加し,(2) に戻る
(4)  V (i, S) ≤ 0 ならば S に近い i が取れないので,点の追加を終了し (5) へ.
(5)  分割した V ,V − S それぞれに対して再帰的にスプリンターグループを発見
    してゆく

           図 4.24 ダイアナ法によるクラスター分割の手順
DIANA法(3): 1点目の選択(1)
             C               A                                               C
        B                B   1.2 B                                    B

              A          C 1.3 1.0 C                                          A
         E               D 3.0 4.0 4.1 D                              E

                     F   E   1.9 2.0 2.5 2.3    E                                    F
                         F   2.3 3.2 3.4 1.1    2.2   F       G
   G
                 D       G 4.1 4.0 4.5 3.5      2.5   4.0                        D

  (A) クラスタリングを行う7個の点             (B) 7点の間の距離                 (C) スプリンターグループとして
                                                                 点Gを選んだ場合
  V (i, S)
           1
        |V |−1   j∈V −{i} d(i, j)                                         if S = φ
  =          1
        |V −S|−1    j∈S∪{i} d(i, j)      −      1
                                               |S|    j∈S   d(i, j)       if S = φ

V (G, {})
  = 1/6(d(G, A) + d(G, B) + d(G, C) + d(G, D) + d(G, E) + d(G, F))
  = 1/6(4.1 + 4.0 + 4.5 + 3.5 + 2.5 + 4.0) = 3.77
DIANA法(4): 1点目の選択(2)
            A
                                                                  C
        B   1.2 B                                         B
        C 1.3 1.0 C
                                                                    A
        D 3.0 4.0 4.1 D                                       E
        E   1.9 2.0 2.5 2.3   E                                           F
        F   2.3 3.2 3.4 1.1   2.2   F
                                                    G
        G 4.1 4.0 4.5 3.5     2.5   4.0                               D
                (B) 7点の間の距離                     (D) スプリンターグループとして
                                                    点Eを選んだ場合
 V (i, S)
          1
       |V |−1   j∈V −{i} d(i, j)                                              if S = φ
 =          1
       |V −S|−1    j∈S∪{i} d(i, j)        −    1
                                              |S|       j∈S   d(i, j)         if S = φ

V (E, {})
   = 1/6(d(E, A) + d(E, B) + d(E, C) + d(E, D) + d(E, F) + d(E, G))
   = 1/6(1.9 + 2.0 + 2.5 + 2.3 + 2.2 + 2.5) = 2.23
DIANA法(5): 1点目の選択(3)
  •   V(i, {})の計算を全ての点に行うと

V (A, {}) = 13.8/6 = 2.3, V (B, {}) = 15.4/6 = 2.57,
V (C, {}) = 16.8/6 = 2.8, V (D, {}) = 18.0/6 = 3.0,
V (E, {}) = 2.23, V (F, {}) = 16.2/6 = 2.7
V (G, {}) = 3.77

  •   以上から,値の最も大きいのはV(G, {}).
  •   V(G, {}) > 0 なので,点GをスプリンターグループSに追加
      •   S = {G} 
  •   更に,新しくSに追加する点を探索する.
DIANA法(6): 2点目の選択(1)
                C               A
            B               B   1.2 B

                A           C 1.3 1.0 C
           E                D 3.0 4.0 4.1 D
                    F       E   1.9 2.0 2.5 2.3     E

                 D          F   2.3 3.2 3.4 1.1     2.2   F
     G
                            G 4.1 4.0 4.5 3.5       2.5   4.0

V (i, S)
         1
      |V |−1   j∈V −{i} d(i, j)                                 if S = φ
=          1
      |V −S|−1    j∈S∪{i} d(i, j)   −    1
                                        |S|   j∈S   d(i, j)     if S = φ
V (A, {G})
   = 1/5(d(A, B) + d(A, C)+
       d(A, D) + d(A, E) + d(A, F)) − 1/1(d(A, G))
   = 1/5(1.2 + 1.3 + 3.0 + 1.9 + 2.3) − 4.1 = −2.16
DIANA法(7): 2点目の選択(2)
      •   他の全ての点について計算
V (B, {G})   =   1/5(1.2 + 1.0 + 4.0 + 2.0 + 3.2) − 4.0 = −1.72
V (C, {G})   =   1/5(1.3 + 1.0 + 4.1 + 2.5 + 3.4) − 4.5 = −2.04
V (D, {G})   =   1/5(3.0 + 4.0 + 4.1 + 2.3 + 1.1) − 3.5 = −0.6
V (E, {G})   =   1/5(1.9 + 2.0 + 2.5 + 2.3 + 2.2) − 2.5 = −0.32
V (F, {G})   =   1/5(2.3 + 3.2 + 3.4 + 1.1 + 2.2) − 4.0 = −1.56
      •   最も値の大きいものはV(D, {G})
      •   しかし,V(D, {G}) < 0なので,採用しない.
                             C
                         B

                              A
                        E
                                  F

                   G          D
DIANA法(8): 2度目の分割(1)
•   Vを{A,B,C,D,E,F,G}を{A,B,C,D,E,F}と{G}に分割
•   V = {G}は分割不可能
•   V = {A,B,C,D,E,F}に変更してクラスタ分割を行う
V (i, S)
           1
        |V |−1   j∈V −{i} d(i, j)                               if S = φ
=            1
        |V −S|−1    j∈S∪{i} d(i, j)   −    1
                                          |S|   j∈S   d(i, j)   if S = φ

    V (A, {})   =    1/5(1.2 + 1.3 + 3.0 + 1.9 + 2.3) = 1.94
    V (B, {})   =    1/5(1.2 + 1.0 + 4.0 + 2.0 + 3.2) = 2.28
    V (C, {})   =    1/5(1.3 + 1.0 + 4.1 + 2.5 + 3.4) = 2.46
    V (D, {})   =    1/5(3.0 + 4.0 + 4.1 + 2.3 + 1.1) = 2.9
    V (E, {})   =    1/5(1.9 + 2.0 + 2.5 + 2.3 + 2.2) = 2.18
    V (F, {})   =    1/5(2.3 + 3.2 + 3.4 + 1.1 + 2.2) = 2.44
    •   スプリンターグループS={D}として,新たにSに含める点を求める
DIANA法(9): 2度目の分割(2)
 •   V={A,B,C,D,E,F}, S={D}として,V(i, S)を計算
V (i, S)
            1
         |V |−1   j∈V −{i} d(i, j)                               if S = φ
=             1
         |V −S|−1    j∈S∪{i} d(i, j)   −    1
                                           |S|   j∈S   d(i, j)   if S = φ
V (A, {D})      =   1/4(1.2 + 1.3 + 1.9 + 2.3) − 3.0 = −1.325
V (B, {D})      =   1/4(1.2 + 1.0 + 2.0 + 3.2) − 4.0 = −2.15
V (C, {D})      =   1/4(1.3 + 1.0 + 2.5 + 3.4) − 4.1 = −2.05
V (E, {D})      =   1/4(1.9 + 2.0 + 2.5 + 2.2) − 2.3 = −0.15
V (F, {D})      =   1/4(2.3 + 3.2 + 3.4 + 2.2) − 1.1 = 1.675
                                                                               C
     •   Sに追加する点として,Fが選択される.                                           B

     •   V(F, {D}) > 0 なので,更にSに加える点を求める
                                                                      E
                                                                               A

                                                                                   F
                                                                           D
                                                                 G
DIANA法(9): 2度目の分割(3)
      • V={A,B,C,D,E,F}, S={D,F} として計算
V (i, S)
         1
      |V |−1   j∈V −{i} d(i, j)                                   if S = φ
=          1
      |V −S|−1    j∈S∪{i} d(i, j)   −    1
                                        |S|   j∈S   d(i, j)       if S = φ
V (A, {D, F}) = 1/3(1.2 + 1.3 + 1.9) − 1/2(3.0 + 2.3) = −1.183
V (B, {D, F}) = 1/3(1.2 + 1.0 + 2.0) − 1/2(4.0 + 3.2) = −2.2
V (C, {D, F}) = 1/3(1.3 + 1.0 + 2.5) − 1/2(4.1 + 3.4) = −2.15
V (E, {D, F}) = 1/3(1.9 + 2.0 + 2.5) − 1/2(2.3 + 2.2) = −0.117
     •   全ての値が負なので,終了.

                 C
            B

                  A
           E
                      F

     G
                  D                           G       D       F     E   A    B   C
                                                    ダイアナ法で作成したデンドログラム
DIANA法の結果

More Related Content

PDF
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
PDF
データに内在する構造をみるための埋め込み手法
PDF
Rでisomap(多様体学習のはなし)
PDF
実践 Amazon Mechanical Turk ※下記の注意点をご覧ください(回答の質の悪化・報酬額の相場の変化・仕様変更)
PDF
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
PDF
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
PDF
Variational AutoEncoder
PPTX
Chokudai search
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
データに内在する構造をみるための埋め込み手法
Rでisomap(多様体学習のはなし)
実践 Amazon Mechanical Turk ※下記の注意点をご覧ください(回答の質の悪化・報酬額の相場の変化・仕様変更)
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
Variational AutoEncoder
Chokudai search

What's hot (20)

PDF
SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~
PPTX
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
PDF
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
DOCX
マハラノビス距離とユークリッド距離の違い
PPT
メタプログラミングって何だろう
PDF
グラフニューラルネットワーク入門
PDF
目grep入門 +解説
PPTX
2014 3 13(テンソル分解の基礎)
PDF
機械学習による統計的実験計画(ベイズ最適化を中心に)
PDF
自己教師学習(Self-Supervised Learning)
PDF
[DL輪読会]GANとエネルギーベースモデル
PDF
PCAの最終形態GPLVMの解説
PDF
Deep Learningによる超解像の進歩
PDF
Rustに触れて私のPythonはどう変わったか
PDF
ドメインオブジェクトの見つけ方・作り方・育て方
PDF
DQNからRainbowまで 〜深層強化学習の最新動向〜
PDF
4 データ間の距離と類似度
PDF
明日使えないすごいビット演算
PDF
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
PPTX
【解説】 一般逆行列
SSII2019TS: Shall We GANs?​ ~GANの基礎から最近の研究まで~
協力ゲーム理論でXAI (説明可能なAI) を目指すSHAP (Shapley Additive exPlanation)
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
マハラノビス距離とユークリッド距離の違い
メタプログラミングって何だろう
グラフニューラルネットワーク入門
目grep入門 +解説
2014 3 13(テンソル分解の基礎)
機械学習による統計的実験計画(ベイズ最適化を中心に)
自己教師学習(Self-Supervised Learning)
[DL輪読会]GANとエネルギーベースモデル
PCAの最終形態GPLVMの解説
Deep Learningによる超解像の進歩
Rustに触れて私のPythonはどう変わったか
ドメインオブジェクトの見つけ方・作り方・育て方
DQNからRainbowまで 〜深層強化学習の最新動向〜
4 データ間の距離と類似度
明日使えないすごいビット演算
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
【解説】 一般逆行列
Ad

Similar to Datamining 8th Hclustering (20)

PDF
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
PDF
線形回帰と階層的クラスタリングの実装
PDF
パターン認識02 k平均法ver2.0
PPT
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
PDF
Rで実験計画法 後編
PDF
距離まとめられませんでした
PDF
Sec15 dynamic programming
PDF
Appendix document of Chapter 6 for Mining Text Data
PDF
Datamining 5th Knn
PDF
Datamining 5th knn
PDF
Way of Experiment & Evaluation
PDF
SSA-SOINN
PPTX
SEM分析の理論
PDF
Let's Go Developer 2011 - Clustering
PPTX
joi2012-sp-day2-broadcasting
PDF
行列計算を利用したデータ解析技術
PDF
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
PDF
PRML2.3.8~2.5 Slides in charge
PDF
Cluster Analysis at REQUIRE 26, 2016/10/01
PDF
Datamining 4th adaboost
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
線形回帰と階層的クラスタリングの実装
パターン認識02 k平均法ver2.0
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Rで実験計画法 後編
距離まとめられませんでした
Sec15 dynamic programming
Appendix document of Chapter 6 for Mining Text Data
Datamining 5th Knn
Datamining 5th knn
Way of Experiment & Evaluation
SSA-SOINN
SEM分析の理論
Let's Go Developer 2011 - Clustering
joi2012-sp-day2-broadcasting
行列計算を利用したデータ解析技術
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
PRML2.3.8~2.5 Slides in charge
Cluster Analysis at REQUIRE 26, 2016/10/01
Datamining 4th adaboost
Ad

More from sesejun (20)

PDF
RNAseqによる変動遺伝子抽出の統計: A Review
PDF
バイオインフォマティクスによる遺伝子発現解析
PDF
次世代シーケンサが求める機械学習
PDF
20110602labseminar pub
PDF
20110524zurichngs 2nd pub
PDF
20110524zurichngs 1st pub
PDF
20110214nips2010 read
PDF
Datamining 9th association_rule.key
PDF
Datamining 8th hclustering
PDF
Datamining r 4th
PDF
Datamining r 3rd
PDF
Datamining r 2nd
PDF
Datamining r 1st
PDF
Datamining 6th svm
PDF
Datamining 3rd naivebayes
PDF
Datamining 2nd decisiontree
PDF
Datamining 7th kmeans
PDF
100401 Bioinfoinfra
PDF
Datamining 8th Hclustering
PDF
Datamining 9th Association Rule
RNAseqによる変動遺伝子抽出の統計: A Review
バイオインフォマティクスによる遺伝子発現解析
次世代シーケンサが求める機械学習
20110602labseminar pub
20110524zurichngs 2nd pub
20110524zurichngs 1st pub
20110214nips2010 read
Datamining 9th association_rule.key
Datamining 8th hclustering
Datamining r 4th
Datamining r 3rd
Datamining r 2nd
Datamining r 1st
Datamining 6th svm
Datamining 3rd naivebayes
Datamining 2nd decisiontree
Datamining 7th kmeans
100401 Bioinfoinfra
Datamining 8th Hclustering
Datamining 9th Association Rule

Datamining 8th Hclustering

  • 2. どの観測技術の進歩により,一般に数千個の遺伝子を同時に観測することが多 クラスタリング いため,遺伝子は数千個並ぶが,表 4.1 では,説明の都合上,4 遺伝子のみの • 類似した挙動を示すサンプルを見つけ,グループ化する サンプルの時間 10 分 20 分 30 分 40 分 • グループをクラスターと呼ぶ 遺伝子 1 0.74 0.76 1.34 1.75 経過時間 遺伝子 2 10分 2.01 2.62 30分 20分 40分 0.87 0.69 遺伝子1 遺伝子 30.74 0.87 0.60 1.34 0.76 1.83 1.90 1.75 遺伝子2 遺伝子 42.01 1.73 1.83 0.96 0.93 2.62 0.87 0.69 表 4.1 発現プロファイルの例。それぞれの値は,10 分,20 分,30 0.87 0.60 1.83 遺伝子340 分の 4 つの時間で,各遺伝子が 0 分のサンプルに対 分, 1.90 遺伝子4 1.73 1.83 して,何倍の発現を有しているかを示す. 0.96 0.93 2
  • 3. クラスタリング(続) • 2つの方法 • 階層型クラスタリング • クラスターに階層構造を付ける • 非階層的クラスタリング • 予めグループの数を定めておく • クラスタリングで注意すべき点 • 点間の距離(サンプル間の距離) • ユークリッド距離?マンハッタン距離?相関係数? • グループ間の距離 • グループの境界を決める教師がない:教師無し学習と呼ば れる 3
  • 4. 階層型クラスタリング • クラスターを階層的に作成する • 作成した階層図をデンドログラムと呼ぶ • デンドログラムの下で交わっているクラスタは類似度が高い (近い)ことを示す • デンドログラムの上から作成するトップダウン型(Top-down Clustering, Divisive Clustering)とデンドログラムの下から作成す るボトムアップ型(Bottom-up Clustering, Agglomerative Clustering) がある デンドログラム C 類似度 B A F G E D A B C D E F G (A) 点の配置 (B) 階層型クラスタリングの結果 4
  • 5. 階層型クラスタリング(続) • ある類似度の閾値を用意し,作成したデンドログラムの枝を切る • 切られた枝に属するサンプルをクラスタとする. • どうやって,デンドログラムを作ろう? グループ1 閾値 C B A グループ3 グループ2 F A B C D E F G G E D グループ1 グループ2 グループ3 (C) グループの生成 (D) 作成されたクラスタ 5
  • 6. ボトムアップ型クラスタリング • デンドログラムの下側から作っていく方式 • クラスタ間の距離を測る方式により,種類が分かれる • 単連結法:クラスタ間の距離を,最も近い点の距離とする • 完全連結法:クラスタ間の距離を,最も遠い点の距離とする • 群平均法:クラスタ間の距離を,全点対の距離の平均で測る • ウォード法:各点の属するクラスターの重心までの距離の2乗 和で測る クラスタ間 クラスタ間 の距離 の距離 クラスターY クラスターX クラスターY クラスターX (A) 単連結法での距離 6 (B) 完全連結法での距離
  • 7. 単連結法 • ボトムアップ型クラスタリングの一種 d(x, y) : 点 x, y 間のユークリッド距離 クラスタ Ci , Cj の距離を Dmin (Ci , Cj ) = min {d(x, y) | x ∈ Ci , y ∈ Cj } で計測する 1. 全ての点が別々のクラスタに属していると仮定する 2. 最も近いクラスタの対を併合し,1つのクラスタとする 3. 2の作業を,全点が1つのクラスタになるまで,繰り返す 7
  • 8. 1 C C C B B B A 3 A 5 A E 4 E E 2 F F F G G G D D D (A) B,C及びD,Fの併合 (B) 点A,Eのクラスターへの併合 (C) 大きなクラスターの生成 6 (A)∼(C)中の数値(1∼5)は、 左記のクラスターの階層構造の 5 1∼5と対応している。 4 (A)∼(C)中の線はクラスターの併合に その距離を採用した事を示す 3 2 1 A B C E D F G (D) 単連結法で生成したデンドログラム 8
  • 9. ボトムアップ型の手順(1/2) • ボトムアップ型は全て以下の手順で実行する 4.5. 単 連実装を考慮して,手順が書かれていることに注意 結 法 • 59 (1) 与えられた N 点を x1 , . . . , xN とし,それぞれの点を 1 点が属するクラスター とみなす.x1 , . . . , xN が構成するクラスターを C1 , . . . , CN とする.   (2) n = N とする.n は,残っているクラスターの数を表す.   (3) 以下の手順を n = 1(全てが一つのクラスター)となるまで繰り返す (a) クラスター C1 , . . . , Cn の中で最も近いクラスターを探し Ci , Cj とする (i < j ) 1. 2 3 4 5 6 7 (b) Ci と Cj を併合し,Ci を併合したものに置き換える. (c) 各クラスター間の距離を更新する.    (d) Cj = Cn とする.また,クラスターが減ったので n = n − 1 とする. 図 4.8 ボトムアップ型クラスタリングの手順 9
  • 10. (1) 与えられた N 点を x1 , . . . , xN とし,それぞれの点を 1 点が属するクラスター とみなす.x1 , . . . , xN が構成するクラスターを C1 , . . . , CN とする.   ボトムアップ型の手順(2/2) (2) n = N とする.n は,残っているクラスターの数を表す.   (3) 以下の手順を n = 1(全てが一つのクラスター)となるまで繰り返す (a) クラスター C1 , . . . , Cn の中で最も近いクラスターを探し Ci , Cj とする (i < j ). (b) Ci と Cj を併合し,Ci を併合したものに置き換える. (c) 各クラスター間の距離を更新する.    (d) Cj = Cn とする.また,クラスターが減ったので n = n − 1 とする. 図 4.8 ボトムアップ型クラスタリングの手順 1 2 3 4 5 6 7 (a) 1 2 3 4 5 6 7 (b) 1 C C C B 1 2 3 B 4 5 6 7 B (d) A 3 A 5 A E E 10 E
  • 11. 単連結法の距離行列の更新 (A)クラスター間の距離 (B) 隣接クラスターと距離 A B,C D,F E G A 1.2 2.3 1.9 4.1 B,C 1.2 B,C 1.2 3.2 2.0 4.0 A 1.2 D,F 2.3 3.2 2.2 3.5 E 2.2 C E 1.9 2.0 2.2 2.5 A 1.9 B G 4.1 4.0 3.5 2.5 E 2.5 A E AとB,Cの併合 F (C)併合後のクラスター間距離 (D) 隣接クラスターと距離 G D A,B,C D,F E G A,B,C 2.3 1.9 4.0 E 1.9 D,F 2.3 2.2 3.5 E 2.2 E 1.9 2.2 2.5 A,B,C 1.9 G 4.0 3.5 2.5 E 2.5 11 ※灰色は更新があった所
  • 12. 単連結法の計算量 • 距離行列更新に伴う計算量 • CiとCjを併合しCi’となる場合を考える • Ci’からクラスタCkへの距離 • CiとCkの距離か,CjとCkの距離の内,短いほうを選択 • クラスタ間の距離の更新 • クラスタは高々N個なので,O(N)回の比較 • 空間計算量は,O(N^2) • 各クラスタに隣接するクラスタの更新 • 隣接するクラスタがCjの場合は,Ci’ に変更 • 以上より,1度の併合では時間計算量O(N),空間計算量O(N^2)が 必要 • クラスタの併合はN-1回起こり,デンドログラムは空間計算量O(N) で保存可能. 全体では空間計算量O(N^2), 時間計算量O(N^2) 12
  • 13. や,細胞内のパスウエイ情報35, 48) などグラフで表されるデータの増加も見込ま 単連結法とグラフ れるため,最小全域木を求めるアルゴリズムであるクラスカルのアルゴリズム •(Kruskal’s Algorithm) を導入することで,最小全域木と単連結法の関連を紹 単連結法は,最小全域木(Minimum Spanning Tree)と関連が深い. 介する. • 最小全域木 定義 4.2 無向連結グラフ G = (V, E)(V は頂点集合,E は辺の集合) に対し, T ⊆ G なる G の部分グラフ T を考える.T に閉路が無く,全頂点が結ばれ ている(つまり,G の頂点集合 V と T の頂点集合は一致する)時,T を全域 木 (Spanning Tree) と呼ぶ.このグラフは木となる.ここで,グラフ G の各 辺 (u, v) ∈ E に重み w(u, v) が定義されているとする.全域木となる G の部分 グラフの内,辺の重みの和 (u,v)∈T w(u, v) が最小になるような全域木 T を, G の最小全域木 (Minimum Spanning Tree) と言う. 図 4.13(A) に与えられたグラフを示す.このグラフは図 4.9(P. 59) において 単連結法を利用してクラスタリングを行ったものと同一の点を元に,全ての2 点間に辺を張ることで構成されている.辺の重みは辺の長さであるとする.こ のグラフから求まる最小全域木を図 4.13(B) に示す.図 4.13(B) 上の各辺には, 距離の短い順に番号が振られている.1 と書かれた辺 BC が最も短く,6 と書 G 全域木 かれた辺 GE が最も長い.この最小全域木と,図 4.9(D)(P. 59)のデンドロ 13
  • 14. 最小全域木 G 全域木 辺の長さを重みとする. w(u,v)は点u,v間の距離 最小全域木は,全域木の中で 辺の距離の和が最小になるもの 14
  • 15. Kruscal(クラスカル)のアルゴリズム 72 第 4 章 クラスタリング (1) 各辺に実数の重みが与えられた連結グラフ G = (V, E)(V は頂点集合,E は 辺集合)を考える. (2) A を空集合とする.A には今後の手順で最小全域木の辺が順に入る. (3) V の頂点が全て別のグループに属していると考える (各グループは,1 点のみ が属する) (4) 重みの少ない辺から順に,以下を繰り返す (選択した辺を (u, v) ∈ E とする) (a) 異なるグループなら,A を A ∪ {(u, v)} で置き換え,u と v のグループ を併合する. (b) u と v が同じグループに属すなら,何もせず次に重みの小さい辺を選択 する  (5) 全ての辺について繰り返しが終わった後で出来る A は最小全域木の辺を構成 している. C C C B B 図B 4.14 クラスカルのアルゴリズムで最小全域木 A を求める手順 A A A E E E C e V-C F F F G G G D D D A={} A={(B,C),(D,F)} A={(B,C),(D,F),(A,B)} {A}, {B}, {C}, {D}, {E}, {F} {A}, {B,C}, {D,F}, {E} e’ {A, B,C}, {D,F}, {E} 15
  • 16. C C B 1 B A 3 A E E 4 F 6 5 F 2 G G D D (A) 与えられたグラフ.全点間に辺が (B) (A)の最小全域木 張られ,距離に比例した重みが付いている. 6 5 4 単連結法のデンドログラムと 3 最小全域木は対応している 2 1 A B C E D F G (C) 単連結法のデンドログラム 16
  • 17. C C C B B B A A A E E E F F F G G G D D D (A) 全点に対し距離を計測 (B) 最も近い点Aを選択。 (C) 最も短い辺を選択(辺AB)。 点Eより点Aに近い点B,Cは 新たにTに含まれた点Bから 関連する点と距離を更新 距離の更新 C C B B A A E E ヒープQに含まれる 頂点からの辺 F F 最小全域木T G G D D (D) 点C, F をTに追加 (E) 求められた最小全域木 フィボナッチヒープを用いると O(E + V log V )で最小全域木が求まる. 17
  • 18. 完全連結法 クラスタ間 の距離 クラスターX クラスターY • ボトムアップ型クラスタリングの一種 d(x, y) : 点 x, y 間のユークリッド距離 クラスタ Ci , Cj の距離を Dmax (Ci , Cj ) = max{d(x, y)|x ∈ Ci , y ∈ Cj } で計測する 1. 全ての点が別々のクラスタに属していると仮定する 2. 最も近いクラスタの対を併合し,1つのクラスタとする 3. 2の作業を,全点が1つのクラスタになるまで,繰り返す 18
  • 19. 1 3 C C C B B B A A A E 5 2 4 E F E F F G G G D D D (A) B,C及びD,Fの併合 (B) 点A,Eの併合 (C) 点Gのクラスタへの併合 5 (A)∼(C)中の数値(1∼5)は, (D)のクラスタの階層構造の 1∼5と対応している.点と点の 4 間の線は,クラスター間の距離を 3 表している. 2 1 A B C D F E G (D)完全連結法で作成したクラスタ 19
  • 20. クラスター併合による,隣接クラスターの変化 (A)クラスター間の距離 (B) 隣接クラスターと距離 A B,C D,F E G A 1.3 3.0 1.9 4.1 B,C 1.3 B,C 1.3 4.1 2.5 4.5 A 1.3 D,F 3.0 4.1 2.3 4.0 E 2.3 E 1.9 2.5 2.3 2.5 A 1.9 G 4.1 4.5 4.0 2.5 E 2.5 AとB,Cの併合 (C)併合後のクラスター間距離 (D) 隣接クラスターと距離 A,B,C D,F E G A,B,C 4.1 2.5 4.5 E 2.5 D,F 4.1 2.3 4.0 E 2.3 E 2.5 2.3 2.5 D,F 2.3 G 4.5 4.0 2.5 E 2.5 20
  • 21. C C B B A A E E 単連結法 F F G G D D (A) Eに最も近いクラスターは点A (B) AとB,Cが併合しても,Eの隣接クラス ターが点Aが属するクラスターであること 完全連結法 と,そのクラスターまでの距離に変化なし C B (C) AとB,Cが併合したことでEに最も近いクラスターは A D,Fとなる(CE間よりDE間の距離が短い).クラスター の併合によってEの隣接クラスターと距離が変化する E 可能性がある. F G D 完全連結法では,単純には,隣接クラスタの更新で O(N^2)必要なので,全体として時間計算量O(N^3)が必 21 要
  • 22. ヒープでクラスタ間距離を保持することで, {A},1.9 計算量を O(N^2 log N)に落とせる. {B,C}, 2.5 {D,F}, 2.3 ( 一回のヒープの挿入,削除はO(log N) ) {G}, 2.5 (A) 点Eのクラスターの隣接    クラスターに関するヒープ 削除 {A},1.9 {B,C}, 2.5 (B) 併合する2つのクラスター {D,F}, 2.3 を削除 {G}, 2.5 併合 (C)併合するクラスターを 削除 したヒープ {A, B,C}, 2.5 挿入 (D) 併合したクラスター {D,F}, 2.3 {G}, 2.5 {A, B,C}, 2.5 (E) 更新したヒープ 22
  • 23. duces the clusters shown in Figure 12, whereas the complete-link algorithm ob- 単連結法と完全連結法の得手不得手 S tains the clustering shown in Figure 13. Data Clustering The clusters obtained by the complete- • 277 i X m2 link algorithm are more compact than X2 i those obtained by the single-link algo- l a rithm; the cluster labeled 1 obtained r 2 2 using the 1single-link algorithm 2is elon- 1 11 2 i 1 111 2 2 22 2 2 2 22 2 t 1 1 11 2 2 gated because 1of the noisy patterns la- 1 1 1 2 2 2 2 2 2 y 11 111 1 *** * * * * ** 2 2 2 beled “*”. 1 1 1 1 single-link * algorithm 2is 11 The * * * * * * * * 2 2 1 2 2 1 2 2 1 1 1 1 1 2 more versatile 1than the complete-link 1 1 1 1 1 2 2 1 2 algorithm, otherwise. For example, the single-link algorithm can extract the concentric clusters shown in Figure 11, A B C D E F***はノイズの点 G but the complete-link algorithm cannot. Figure 10. The dendrogram obtained using X1 However, from a pragmatic viewpoint, it 1 X 単連結法 the single-link algorithm. 完全連結法 Figure 12. A single-link clustering of a pattern has been observed that clustering of a pat- Figure 13. A complete-link the complete- ノイズに引きずられている ノイズがあっても分離 tern set containing two classes (1 and 2) con- set containing two classes (1 and 2) connected by link algorithm produces more useful hi- Y a chain of noisy patterns (*). erarchies inchain of noisy patterns (*). nected by a many applications than the 1 single-link algorithm [Jain and Dubes 1 1988]. (3) The output of the algorithm is a well-separated, chain-like, and concen- 1 nested hierarchy of graphs which tric clusters, whereas a typicalClus- 2 2 1 Agglomerative Single-Link parti- 1 2 単連結法では分離できて can be cut at a desired dissimilarity tering Algorithm such as the k -means tional algorithm 2 2 level forming a partition (clustering) algorithm works well only on data sets 1 完全連結法では分離できない例 2 identified by simply connected com- (1) Place isotropic clustersits own clus- 1 having each pattern in [Nagy 1968]. ponents in the 1 corresponding graph. On theConstruct a list of interpattern 1 ter. other hand, the time and space complexities for all 1992] ofunordered distances [Day distinct the parti- Agglomerative Complete-Link Clus- 23 tional algorithms are typically lower X pairs of patterns, and sort this list
  • 24. その他の指標 • 計算量とクラスタ作成にかかる時間の最適化 • Average Group Linkage(群平均法) • クラスタ間の距離は,クラスタを跨ぐ全点対の距離の平均 1 D(Ci , Cj ) = D(x1 , x2 ) |Ci ||Cj | x1 ∈Ci x2 ∈Cj • Ward’s Method •クラスタの中心までの距離の二乗和を最小化する D(Ci , Cj ) = E(Ci ∪ Cj ) − E(Ci ) − E(Cj ) where E(Ci ) = (d(x, ci ))2 , x∈Ci 1 ci = x |Ci | x∈Ci Average Group Linkage 24 Ward’s Method
  • 27. トップダウン型クラスタリング(1) • データ全体のばらつき具合を見て,点を再帰的に分割する • 全体を半分に分けて,それぞれを半分に分けて・・・ • ボトムアップ型に比べると「よさげ」なクラスタの生成が期 待できる. • n点のクラスタリングを考えた時・・・ • ボトムアップアップ型は,始めの操作でn*(n-1)通りの分割方 法がある • 全通りの内,一番良さそうなところから併合 • トップダウン型は,2^n通りの選択がある. • まじめに考えたら大変・・・
  • 28. トップダウン型クラスタリング(2) • トップダウンクラスタリングの手順 • 初期化:全ての点を同一のクラスタに属していると考える • 繰り返し:存在するクラスタを(何らかの方法で)分割する • 終了判定:分割するクラスタが無くなったら終了 • クラスタをどのように分割するのか? • DIANA法 (DIvisive ANAlysis ) • DIANA法では,最も離れている点を選択し,そこにどんどん 点を追加していく手法を取る • 詳細は次ページ以降
  • 29. DIANA法(1) • クラスター分割の指標としてV(i,S)を定義する. V:与えられたクラスタの点全体集合 S(⊂V): 分割後の新たなクラスタ候補(スプリンターグループ) d(i, j) : 点iと点jの距離 Sに新たに点i∈V-Sを加える判断基準として,指標V(i,S)を定義する V (i, S) 1 |V |−1 j∈V −{i} d(i, j) if S = φ = 1 |V −S|−1 j∈S∪{i} d(i, j) − 1 |S| j∈S d(i, j) if S = φ V(i,S)は,点iのS内の点までの平均距離 - (V-S)内の点までの平均距 離を表す.後ほど,実際に計算してみる.
  • 30. DIANA法(2): 手順 C A B B 1.2 B A C 1.3 1.0 C E D 3.0 4.0 4.1 D F E 1.9 2.0 2.5 2.3 E G F 2.3 3.2 3.4 1.1 2.2 F D G 4.1 4.0 4.5 3.5 2.5 4.0 (A) クラスタリングを行う7個の点 (B) 7点の間の距離 6 第 4 章 クラスタリング (1) 初期化: S を空集合 {} とする.S をスプリンターグループと呼ぶ (2) V (i, S) を最大にする i ∈ V − S を発見する. (3) V (i, S) > 0 ならば i を S に追加し,(2) に戻る (4) V (i, S) ≤ 0 ならば S に近い i が取れないので,点の追加を終了し (5) へ. (5) 分割した V ,V − S それぞれに対して再帰的にスプリンターグループを発見 してゆく 図 4.24 ダイアナ法によるクラスター分割の手順
  • 31. DIANA法(3): 1点目の選択(1) C A C B B 1.2 B B A C 1.3 1.0 C A E D 3.0 4.0 4.1 D E F E 1.9 2.0 2.5 2.3 E F F 2.3 3.2 3.4 1.1 2.2 F G G D G 4.1 4.0 4.5 3.5 2.5 4.0 D (A) クラスタリングを行う7個の点 (B) 7点の間の距離 (C) スプリンターグループとして 点Gを選んだ場合 V (i, S) 1 |V |−1 j∈V −{i} d(i, j) if S = φ = 1 |V −S|−1 j∈S∪{i} d(i, j) − 1 |S| j∈S d(i, j) if S = φ V (G, {}) = 1/6(d(G, A) + d(G, B) + d(G, C) + d(G, D) + d(G, E) + d(G, F)) = 1/6(4.1 + 4.0 + 4.5 + 3.5 + 2.5 + 4.0) = 3.77
  • 32. DIANA法(4): 1点目の選択(2) A C B 1.2 B B C 1.3 1.0 C A D 3.0 4.0 4.1 D E E 1.9 2.0 2.5 2.3 E F F 2.3 3.2 3.4 1.1 2.2 F G G 4.1 4.0 4.5 3.5 2.5 4.0 D (B) 7点の間の距離 (D) スプリンターグループとして 点Eを選んだ場合 V (i, S) 1 |V |−1 j∈V −{i} d(i, j) if S = φ = 1 |V −S|−1 j∈S∪{i} d(i, j) − 1 |S| j∈S d(i, j) if S = φ V (E, {}) = 1/6(d(E, A) + d(E, B) + d(E, C) + d(E, D) + d(E, F) + d(E, G)) = 1/6(1.9 + 2.0 + 2.5 + 2.3 + 2.2 + 2.5) = 2.23
  • 33. DIANA法(5): 1点目の選択(3) • V(i, {})の計算を全ての点に行うと V (A, {}) = 13.8/6 = 2.3, V (B, {}) = 15.4/6 = 2.57, V (C, {}) = 16.8/6 = 2.8, V (D, {}) = 18.0/6 = 3.0, V (E, {}) = 2.23, V (F, {}) = 16.2/6 = 2.7 V (G, {}) = 3.77 • 以上から,値の最も大きいのはV(G, {}). • V(G, {}) > 0 なので,点GをスプリンターグループSに追加 • S = {G}  • 更に,新しくSに追加する点を探索する.
  • 34. DIANA法(6): 2点目の選択(1) C A B B 1.2 B A C 1.3 1.0 C E D 3.0 4.0 4.1 D F E 1.9 2.0 2.5 2.3 E D F 2.3 3.2 3.4 1.1 2.2 F G G 4.1 4.0 4.5 3.5 2.5 4.0 V (i, S) 1 |V |−1 j∈V −{i} d(i, j) if S = φ = 1 |V −S|−1 j∈S∪{i} d(i, j) − 1 |S| j∈S d(i, j) if S = φ V (A, {G}) = 1/5(d(A, B) + d(A, C)+ d(A, D) + d(A, E) + d(A, F)) − 1/1(d(A, G)) = 1/5(1.2 + 1.3 + 3.0 + 1.9 + 2.3) − 4.1 = −2.16
  • 35. DIANA法(7): 2点目の選択(2) • 他の全ての点について計算 V (B, {G}) = 1/5(1.2 + 1.0 + 4.0 + 2.0 + 3.2) − 4.0 = −1.72 V (C, {G}) = 1/5(1.3 + 1.0 + 4.1 + 2.5 + 3.4) − 4.5 = −2.04 V (D, {G}) = 1/5(3.0 + 4.0 + 4.1 + 2.3 + 1.1) − 3.5 = −0.6 V (E, {G}) = 1/5(1.9 + 2.0 + 2.5 + 2.3 + 2.2) − 2.5 = −0.32 V (F, {G}) = 1/5(2.3 + 3.2 + 3.4 + 1.1 + 2.2) − 4.0 = −1.56 • 最も値の大きいものはV(D, {G}) • しかし,V(D, {G}) < 0なので,採用しない. C B A E F G D
  • 36. DIANA法(8): 2度目の分割(1) • Vを{A,B,C,D,E,F,G}を{A,B,C,D,E,F}と{G}に分割 • V = {G}は分割不可能 • V = {A,B,C,D,E,F}に変更してクラスタ分割を行う V (i, S) 1 |V |−1 j∈V −{i} d(i, j) if S = φ = 1 |V −S|−1 j∈S∪{i} d(i, j) − 1 |S| j∈S d(i, j) if S = φ V (A, {}) = 1/5(1.2 + 1.3 + 3.0 + 1.9 + 2.3) = 1.94 V (B, {}) = 1/5(1.2 + 1.0 + 4.0 + 2.0 + 3.2) = 2.28 V (C, {}) = 1/5(1.3 + 1.0 + 4.1 + 2.5 + 3.4) = 2.46 V (D, {}) = 1/5(3.0 + 4.0 + 4.1 + 2.3 + 1.1) = 2.9 V (E, {}) = 1/5(1.9 + 2.0 + 2.5 + 2.3 + 2.2) = 2.18 V (F, {}) = 1/5(2.3 + 3.2 + 3.4 + 1.1 + 2.2) = 2.44 • スプリンターグループS={D}として,新たにSに含める点を求める
  • 37. DIANA法(9): 2度目の分割(2) • V={A,B,C,D,E,F}, S={D}として,V(i, S)を計算 V (i, S) 1 |V |−1 j∈V −{i} d(i, j) if S = φ = 1 |V −S|−1 j∈S∪{i} d(i, j) − 1 |S| j∈S d(i, j) if S = φ V (A, {D}) = 1/4(1.2 + 1.3 + 1.9 + 2.3) − 3.0 = −1.325 V (B, {D}) = 1/4(1.2 + 1.0 + 2.0 + 3.2) − 4.0 = −2.15 V (C, {D}) = 1/4(1.3 + 1.0 + 2.5 + 3.4) − 4.1 = −2.05 V (E, {D}) = 1/4(1.9 + 2.0 + 2.5 + 2.2) − 2.3 = −0.15 V (F, {D}) = 1/4(2.3 + 3.2 + 3.4 + 2.2) − 1.1 = 1.675 C • Sに追加する点として,Fが選択される. B • V(F, {D}) > 0 なので,更にSに加える点を求める E A F D G
  • 38. DIANA法(9): 2度目の分割(3) • V={A,B,C,D,E,F}, S={D,F} として計算 V (i, S) 1 |V |−1 j∈V −{i} d(i, j) if S = φ = 1 |V −S|−1 j∈S∪{i} d(i, j) − 1 |S| j∈S d(i, j) if S = φ V (A, {D, F}) = 1/3(1.2 + 1.3 + 1.9) − 1/2(3.0 + 2.3) = −1.183 V (B, {D, F}) = 1/3(1.2 + 1.0 + 2.0) − 1/2(4.0 + 3.2) = −2.2 V (C, {D, F}) = 1/3(1.3 + 1.0 + 2.5) − 1/2(4.1 + 3.4) = −2.15 V (E, {D, F}) = 1/3(1.9 + 2.0 + 2.5) − 1/2(2.3 + 2.2) = −0.117 • 全ての値が負なので,終了. C B A E F G D G D F E A B C ダイアナ法で作成したデンドログラム