SlideShare a Scribd company logo
データマイニング+WEB勉強会@東京 第3回
         Talk 1


R言語によるクラスター分析
      -活用編-

      hamadakoichi
        濱田 晃一
       2010/04/17
データマイニング+WEB勉強会@東京
       データマイニングの方法論を用い
   蓄積されたデータを有効活用していく方法を学ぶ
                                            統計解析
                Web API
                                          データマイニング
              Amazon Web Service
                楽天 Web Service          対応分析     時系列分析
     Twitter API Recruit Web Service      回帰分析
                   Yahoo! Web Service             クラスター分析
     はてな Web Service                                判別分析
                                        主成分分析 因子分析
     (Bookmark/Graph/Keyword,…)
                                           カーネル法
        Google Data API                         樹木モデル
        (Calendar/Maps/BookSearch/
         FinancePortfolioData,…)             ニューラルネットワーク
                                           サポートベクターマシン
                  …        免疫型最適化 Particle Swam    …
                          Memetic      Ant Colony
                           遺伝的     熱力学的
                                  シミュレーテドアニーリング
                                   力学モデルによる最適化
                          タブーサーチ       グラフ
                                           …
                                 最適解探索
                                 アルゴリズム
                                                            2
データマイニング+WEB勉強会@東京

                           クラスター分析

                                            統計解析
                Web API
                                          データマイニング
              Amazon Web Service
                楽天 Web Service          対応分析     時系列分析      Talk1
     Twitter API Recruit Web Service      回帰分析
                   Yahoo! Web Service             クラスター分析   Talk2
     はてな Web Service                                判別分析
                                        主成分分析 因子分析          Talk3
     (Bookmark/Graph/Keyword,…)
                                           カーネル法
        Google Data API                         樹木モデル
        (Calendar/Maps/BookSearch/
         FinancePortfolioData,…)             ニューラルネットワーク
                                           サポートベクターマシン
                  …        免疫型最適化 Particle Swam    …
                          Memetic      Ant Colony
                           遺伝的     熱力学的
                                  シミュレーテドアニーリング
                                   力学モデルによる最適化
                          タブーサーチ       グラフ
                                           …
                                 最適解探索
                                 アルゴリズム
                                                                    3
AGENDA
 ◆自己紹介
 ◆階層的クラスタリング おさらい
 ◆非階層的クラスタリング
   ◆各手法の特徴
   ◆k-means法
   ◆混合分布モデル
 ◆最後に
AGENDA
 ◆自己紹介
 ◆階層的クラスタリング おさらい
 ◆非階層的クラスタリング
   ◆各手法の特徴
   ◆k-means法
   ◆混合分布モデル
 ◆最後に
hamadakoichi
   濱田晃一
http://iddy.jp/profile/hamadakoichi




                                      6
自己紹介:hamadakoichi 濱田晃一




                         7
自己紹介:hamadakoichi 濱田晃一




データマイニング+WEB勉強会@東京

              主催者です



                         8
自己紹介:hamadakoichi 濱田晃一
                            理論物理 博士
                           量子統計場の理論
Statistical Field Theory                        Spontaneously
                                        Time-Reversal Symmetry Breaking




                                       Anisotropic Massless Dirac Fermions




博士論文(2004/03): http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf
                                                                             9
自己紹介:hamadakoichi 濱田晃一

            文部大臣に褒められた
   元 文部大臣・法務大臣      六法全書著者・元法学政治学研究科長
      森山眞弓さん             菅野和夫さん




                                        10
自己紹介:hamadakoichi 濱田晃一

         Los Angelesでプロダンサーに褒められた




 ・HIP HOP/House ダンス歴13年
 ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる

  Youtube Channel: http://www.youtube.com/hamadakoichi
                                                         11
自己紹介:hamadakoichi 濱田晃一

            東京と京都で 物理ダンス部を創設




         駒場物理ダンス部                 京都大学基礎物理学研究所ダンス部
          部長兼コーチ                       部長兼コーチ


  現在: 毎週末 3時間ダンスコーチ
  Youtube Channel: http://www.youtube.com/hamadakoichi
                                                         12
数理解析手法の実ビジネス適用
     数理解析手法を実ビジネス適用する
     方法論・システムを作り上げてきました




                          13
数理解析手法の実ビジネス適用
                 数理解析手法を実ビジネス適用する
                 方法論・システムを作り上げてきました
主な領域
◆活動の数理モデル化・解析手法
◆業務プロセス分析手法・再構築手法
◆業務プロセス実行制御・実績解析システム
…




 K. Hamada, F.Kimura,
                                              M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada,
 "Unified graph representation of processes
                                              “Decoupling Executions in Navigating Manufacturing
 for scheduling with flexible resource
                                              Processes for Shortening Lead Time and Its Implementation
 assignment",
                                              to an Unmanned Machine Shop”,
 to be published in CIRP ICMS (2010).
                                              CIRP Annals - Manufacturing Technology Volume 56, Issue 1,
                                              Pages 171-174 (2007)                                       14
数理解析手法の実ビジネス適用
                                     数理解析手法を実ビジネス適用する
                                     方法論・システムを作り上げてきました
活動実績例:
  一品一様の業務プロセスの動的なプロセス制御数理体系
  全体生産リードタイム中央値を                                                                                                                                                                                   1/2.7に短縮
     設計開始~頭だし出荷リードタイム開 始 日 時 の 箱 ひ げ 図
        設 計 開 始 ~ 頭 だ し出 荷 CT対 週 集 計 体系適用
                          500

                                                                                                                                                                                                                                              適用後
   設計開始~頭だし出荷CT




                          400


                                                                                                                                360.4h(15.0日)
                                                                                                                                                                                                                                                                      1/2.7
                          300




                          200




                          100

                                             0   0         0   0            0   0             0   0             0   0         0   0            0   0             0   0             0   0         0   0            0   0             0   0
                                                                                                                                                                                                                                            141.6h(5.9日)
                                                                                                                                                                                                                                              00 00
                                          9:            9:               9:                9:                9:            9:               9:                9:                9:            9:               9:                9:                9:            9:
                                      0             7                4                 1                 8             5                1                 8                 5             2                9                 6                 3             0
                                   /2            /2               /0                /1                /1            /2               /0                /0                /1            /2               /2                /0                /1            /2
                          /   09        /   09           /   10           /   10         /   10            /   10           /   11           /   11         /   11            /   11           /   11           /   12         /   12            /   12
                       04            04               04               04             04                04               04               04             04                04               04               04             04                04
                  20           20                20               20            20                20                20               20            20                20                20               20            20                20
                                                                                                                                     週 集 計 開 始 日 時

                                                                                                                                                                                                                                                                              15
数理解析手法の実ビジネス適用
                   数理解析手法を実ビジネス適用する
                   方法論・システムを作り上げてきました
変動性から生じる動的な課題
     ・リソースの競合 ・滞留 ・納期遅延                             …

一品一様な業務プロセスを含む
統計解析・制御数理モデル
     ・統計的な有効変数算出
     ・統計数理モデル化
        -優先順位制御
        -実行タイミング制御
        -統計フィードバック
        -適正リソース量算出
     ・予測数理体系
論文(体系の一部)
M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada,
“Decoupling Executions in Navigating Manufacturing Processes for Shortening Lead Time and Its Implementation
to an Unmanned Machine Shop”,
CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007)                             16
4月・5月の
講演/トーク予定




           17
2010年4月・5月の講演・トーク予定

                 ぜひお越しください



日               コミュニティ           会情報
2010/04/24(土)   Tokyo.R          Tokyo.R #4

2010/05/07(金)   Linux Business   2010年度総会および
                Initiative       LBIビジネス講演会
2010/05/09(日)   Tsukuba.R        Tsukuba.R #7




                                                18
講演:2010/04/24(土)
                      Tokyo.R #4
                  「R言語による時系列解析」

                                           時系列データの各種解析




Tokyo.R #4   http://atnd.org/events/3930
                                                     19
講演:2010/05/07(金)
Linux Business Initiative 2010年度総会・ビジネス講演会
         「業務プロセス改革とデータマイニング」

                                     蓄積データの有効活用




LBIビジネス講演会 http://www.lbi.gr.jp/modules/eguide/event.php?eid=31
                                                                  20
講演:2010/05/09(日)
                    Tsukuba.R #7
               「はじめてでも分かる 回帰分析」
                                           事象発生の関数形の推測
                                            ・線形回帰(単・重)
                                            ・非線形回帰




Tokyo.R #4   http://atnd.org/events/3930
                                                     21
参加者
  自己紹介Time

(1分以内ずつ:計30分程度)



                  22
AGENDA
 ◆自己紹介
 ◆階層的クラスタリング おさらい
 ◆非階層的クラスタリング
   ◆各手法の特徴
   ◆k-means法
   ◆混合分布モデル
 ◆最後に

                    23
クラスタリングとは

            データを類似度に従い
            グループに分けること




                         24
クラスタリングとは

            データを類似度に従い
            グループに分けること




              クラスタリングA




                         25
クラスタリングとは

            データを類似度に従い
            グループに分けること




              クラスタリングA




              クラスタリングB

                         26
クラスタリングとは

            データを類似度に従い
            グループに分けること




              クラスタリングA




              クラスタリングB

                         27
クラスタリング手法の種類


                手法と帰属度の分類軸がある

 分類        種類                 内容
手法    階層的手法      ①各データそれぞれを一つのクラスタとする
                 ②状態を初期状態とするクラスタの距離、類似度で2つのクラ
                 スタを逐次的に併合していく
                 ③目的のクラスタ数まで併合が行われたときに処理を終了す
                 る

      非階層的手法     ①データの良さを表す評価関数を設定する
      (分割最適化)    ②評価関数に対する最適解(最適分割)を探索する

帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
      ング
      ソフトクラスタリ   各データが複数のクラスタリングに所属することを許す
      ング         (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ
                 ングとなる)
                                                 28
クラスタリング手法の種類


                手法と帰属度の分類軸がある

 分類        種類                 内容
手法    階層的手法      ①各データそれぞれを一つのクラスタとする
                 ②状態を初期状態とするクラスタの距離、類似度で2つのクラ
                 スタを逐次的に併合していく
                 ③目的のクラスタ数まで併合が行われたときに処理を終了す
                 る

      非階層的手法     ①データの良さを表す評価関数を設定する
      (分割最適化)    ②評価関数に対する最適解(最適分割)を探索する

帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
      ング
      ソフトクラスタリ   各データが複数のクラスタリングに所属することを許す
      ング         (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ
                 ングとなる)
                                                 29
クラスタリング手法の種類


                手法と帰属度の分類軸がある

 分類        種類                 内容
手法    階層的手法      ①各データそれぞれを一つのクラスタとする
                 ②状態を初期状態とするクラスタの距離、類似度で2つのクラ
                 スタを逐次的に併合していく
                 ③目的のクラスタ数まで併合が行われたときに処理を終了す
                 る

      非階層的手法     ①データの良さを表す評価関数を設定する
      (分割最適化)    ②評価関数に対する最適解(最適分割)を探索する

帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
      ング
      ソフトクラスタリ   各データが複数のクラスタリングに所属することを許す
      ング         (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ
                 ングとなる)
                                                 30
クラスタリング手法の種類


               各クラスタリング手法

  種類           ハード          ソフト
階層的




非階層的




                                  31
クラスタリング手法の種類


                各クラスタリング手法

  種類            ハード          ソフト
階層的    ・群平均法
       ・単連結法
       ・完全連結法
       ・ウォード法
       ・重心法
       ・メディアン法
非階層的




                                   32
クラスタリング手法の種類


                  各クラスタリング手法

  種類              ハード          ソフト
階層的    ・群平均法
       ・単連結法
       ・完全連結法
       ・ウォード法
       ・重心法
       ・メディアン法
非階層的   ・k-means
       ・スペクトラルクラスタリング




                                     33
クラスタリング手法の種類


                              各クラスタリング手法

     種類                        ハード                                     ソフト
 階層的            ・群平均法
                ・単連結法
                ・完全連結法
                ・ウォード法
                ・重心法
                ・メディアン法
 非階層的           ・k-means                               ・混合分布モデル
                ・スペクトラルクラスタリング                         ・次元縮約
                                                        (LSI/pLSI/NMF)
                                                       ・Fuzzy c-means
※LSI: Latent Semantic Indexing, pLSI: Probabilistic LSI, NMF: Non-Negative Matrix Factorization

                                                                                             34
クラスタリング手法の種類


                              各クラスタリング手法

     種類                        ハード                                     ソフト
 階層的            ・群平均法
                ・単連結法
                ・完全連結法
                ・ウォード法
                ・重心法
                ・メディアン法
 非階層的           ・k-means                               ・混合分布モデル
                ・スペクトラルクラスタリング                         ・次元縮約
                                                        (LSI/pLSI/NMF)
                                                       ・Fuzzy c-means
※LSI: Latent Semantic Indexing, pLSI: Probabilistic LSI, NMF: Non-Negative Matrix Factorization

                                                                                             35
クラスタリングの評価

                      評価指標例
                (正解が存在し、クラスタ数が既知の場合)


    指標                         内容
エントロピー        最も標準的に用いられる評価尺度。結果クラスタと解答クラスタの重なり
(Entropy)     具合を表す。値が小さいほどクラスタリング結果が良好。

純度            標準的な評価尺度。結果クラスタと解答クラスタの重なり具合を表す。
(Purity)      値が大きいほどクラスタリング結果が良好。
F尺度           情報検索における標準的な評価法を応用。再現率と精度の重み付き平均。
(F-measure)
精度            正答率。最も厳密な評価尺度。
(Accuracy)




                                                  36
クロス表

            クラスタリング結果と
        正解クラスタに共通するデータ個数の表


       成分




       結果クラスタ

       解答クラスタ




                             37
エントロピー (Entropy)

           最も標準的に用いられる評価尺度
        重なり具合を表す。値が小さいほど結果が良好。

 全体


 クラスタ Ci


           確率

 Rプログラム例




                                 38
純度 (Purity)

              標準的な評価尺度
    正解クラスタをどの程度含むか。値が大きいほど結果が良好

 全体


 クラスタ Ci




 Rプログラム例




                                  39
F尺度 (F-measure)

            情報検索における標準的な評価法を応用
              再現率と精度の重み付き平均

 全体


 AhとCkに対する F尺度




                  再現率



                  精度



                                 40
データ

         iris(アヤメ)データ
      よい性質を持ち よく使用される




            Iris Sanguinea

       花葉               花びら   種




                                  41
クラスタリング手法の種類


                    階層的手法

 分類        種類                 内容
手法    階層的手法      ①各データそれぞれを一つのクラスタとする
                 ②状態を初期状態とするクラスタの距離、類似度で2つのクラ
                 スタを逐次的に併合していく
                 ③目的のクラスタ数まで併合が行われたときに処理を終了す
                 る

      非階層的手法     ①データの良さを表す評価関数を設定する
      (分割最適化)    ②評価関数に対する最適解(最適分割)を探索する

帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
      ング
      ソフトクラスタリ   各データが複数のクラスタリングに所属することを許す
      ング         (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ
                 ングとなる)
                                                 42
階層的手法:特徴

        古典的で直感的にも自然な手法
       最終的に一つのクラスタにまとまる




                          43
階層的手法:アルゴリズム




  ①各データが自身をクラスターと考え
   データ数のクラスターを作る

  ②クラスタ間の距離を測り
   クラスタ間の距離行列を作成する

  ③最も距離の近いクラスタを併合する



  ④クラスタ間の距離行列を作成する

  ⑤最も短い距離のクラスタを併合する

  ※ひとつのクラスタになるまで繰り返し


                       44
階層的手法:アルゴリズム




  ①各データが自身をクラスターと考え
   データ数のクラスターを作る

  ②クラスタ間の距離を測り
   クラスタ間の距離行列を作成する

  ③最も距離の近いクラスタを併合する



  ④クラスタ間の距離行列を作成する

  ⑤最も短い距離のクラスタを併合する

  ※ひとつのクラスタになるまで繰り返し


                       45
階層的手法:手法とクラスタ間距離


       クラスタリング手法                     クラスタ間距離
 群平均法                        クラスタ間の全てのデータ組合せの距離の平均値
 (Group Average method )
 単連結法                        クラスタ間の最小距離を与えるデータ対の距離
 (Single Linkage Method )
 完全連結法                       クラスタの最大距離を与えるデータ対の距離
 (Complete Linkage Method)
 ウォード法                       クラスタ内の平方和の増加分
 (Ward Method)
 重心法                         クラスタの重心間の距離の自乗
 (Centroid Method)
 メディアン法                      重心法と同じ。クラスタ併合時に、新たな重心を元の
 (Median Method)             重心の中点にとる。




                                                        46
階層的手法:テンドログラム

            クラスタ構造を表す
        横棒の縦軸の目盛りがクラスタ間距離




                       クラスタ間距離




                                 47
階層的手法: Rによる解析

            階層的クラスタリングの関数
                Hierarchical Clustering

  hclust(d, method=“complete”, member =NULL, ...)


  d:距離行列
  method: 階層的クラスタリング手法を指定
  members: 通常は指定しない。
           ※テンドログラムの途中から
            クラスタリングを行いたい場合に用いる




                                                    48
階層的手法:手法とクラスタ間距離


    クラスタリング手法               クラスタ間距離                  method
 群平均法                    クラスタ間の全てのデータ組合せの距離      “average“
 (Group Average method ) の平均値
 単連結法                     クラスタ間の最小距離を与えるデータ対の “single”
 (Single Linkage Method ) 距離
 完全連結法               クラスタの最大距離を与えるデータ対の距 “complete”
 (Complete Linkage   離                   (Default)
 Method)
 ウォード法               クラスタ内の平方和の増加分               “ward”
 (Ward Method)
 重心法                 クラスタの重心間の距離の自乗              “centroid”
 (Centroid Method)
 メディアン法              重心法と同じ。クラスタ併合時に、新たな         “median”
 (Median Method)     重心を元の重心の中点にとる。



                                                              49
階層的手法:Rプログラム例

ソースコード




                50
階層的手法:Rプログラム例

ソースコード




                51
階層的手法:Rプログラム例

実行結果




                52
階層的手法:Rプログラム例 (クラスター比較)

ソースコード




                          53
階層的手法:Rプログラム例 (クラスター比較)

実行結果




                          54
階層的手法:Rプログラム例 (エントロピー・純度 比較)

ソースコード




                               55
階層的手法:Rプログラム例 (エントロピー・純度 比較)

ソースコード




                               56
階層的手法:Rプログラム例 (手法比較)

実行結果




                       57
AGENDA
 ◆自己紹介
 ◆階層的クラスタリング おさらい
 ◆非階層的クラスタリング
   ◆各手法の特徴
   ◆k-means法
   ◆混合分布モデル
 ◆最後に
AGENDA
 ◆自己紹介
 ◆階層的クラスタリング おさらい
 ◆非階層的クラスタリング
   ◆各手法の特徴
   ◆k-means法
   ◆混合分布モデル
 ◆最後に
クラスタリング手法の種類


                   非階層的手法

 分類        種類                 内容
手法    階層的手法      ①各データそれぞれを一つのクラスタとする
                 ②状態を初期状態とするクラスタの距離、類似度で2つのクラ
                 スタを逐次的に併合していく
                 ③目的のクラスタ数まで併合が行われたときに処理を終了す
                 る

      非階層的手法     ①データの良さを表す評価関数を設定する
      (分割最適化)    ②評価関数に対する最適解(最適分割)を探索する

帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
      ング
      ソフトクラスタリ   各データが複数のクラスタリングに所属することを許す
      ング         (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ
                 ングとなる)
                                                 60
クラスタリング手法の種類


                              各クラスタリング手法

     種類                        ハード                                     ソフト
 階層的            ・群平均法
                ・単連結法
                ・完全連結法
                ・ウォード法
                ・重心法
                ・メディアン法
 非階層的           ・k-means                               ・混合分布モデル
                ・スペクトラルクラスタリング                         ・次元縮約
                                                        (LSI/pLSI/NMF)
                                                       ・Fuzzy c-means
※LSI: Latent Semantic Indexing, pLSI: Probabilistic LSI, NMF: Non-Negative Matrix Factorization

                                                                                             61
クラスタリング手法の種類


                              非階層的手法
         クラスタリング手法                         特徴
 k-means                          クラスタをクラスタ数の平均値で特徴づける
                                  方法。非階層的手法で最も代表的な手法。現
                                  実のクラスタリングでも使われることが多く、
                                  実用的な手法。
 混合分布モデル                          クラスタリング問題を確率モデルで解く方法。
                                  観測データが異なる確率分布の混合分布であ
                                  ると仮定。固体が属するクラスを隠れ変数を
                                  して推定する。データの発生メカニズムが確
                                  率モデルでうまくモデル化できるとき、強力
                                  な手法。
 スペクトラルクラスタリング                    グラフ分割問題によるクラスタリング
 次元縮約                             特異値分解を用いる。高次元ベクトル間の位
 ・LSI (Latent Sematic Indexing)   置関係をできるだけ保存した形で、低次元ベ
                                  クトルに変換
 ・pLSI (Probabilistic LSI)
 ・NMF (Non-Nagatice Matrix
 Factorization)
                                                         62
クラスタリング手法の種類


                              非階層的手法
         クラスタリング手法                         特徴
 k-means                          クラスタをクラスタ数の平均値で特徴づける
                                  方法。非階層的手法で最も代表的な手法。現
                                  実のクラスタリングでも使われることが多く、
                                  実用的な手法。
 混合分布モデル                          クラスタリング問題を確率モデルで解く方法。
                                  観測データが異なる確率分布の混合分布であ
                                  ると仮定。固体が属するクラスを隠れ変数を
                                  して推定する。データの発生メカニズムが確
                                  率モデルでうまくモデル化できるとき、強力
                                  な手法。
 スペクトラルクラスタリング                    グラフ分割問題によるクラスタリング
 次元縮約                             特異値分解を用いる。高次元ベクトル間の位
 ・LSI (Latent Sematic Indexing)   置関係をできるだけ保存した形で、低次元ベ
                                  クトルに変換
 ・pLSI (Probabilistic LSI)
 ・NMF (Non-Nagatice Matrix
 Factorization)
                                                         63
AGENDA
 ◆自己紹介
 ◆階層的クラスタリング おさらい
 ◆非階層的クラスタリング
   ◆各手法の特徴
   ◆k-means法
   ◆混合分布モデル
 ◆最後に
クラスタリング手法の種類


                              非階層的手法
         クラスタリング手法                      クラスタ間距離
 k-means                          クラスタをクラスタ数の平均値で特徴づける
                                  方法。非階層的手法で最も代表的な手法。現
                                  実のクラスタリングでも使われることが多く、
                                  実用的な手法。
 混合分布モデル                          クラスタリング問題を確率モデルで解く方法。
                                  観測データが異なる確率分布の混合分布であ
                                  ると仮定。固体が属するクラスを隠れ変数を
                                  して推定する。データの発生メカニズムが確
                                  率モデルでうまくモデル化できるとき、強力
                                  な手法。
 スペクトラルクラスタリング                    グラフ分割問題によるクラスタリング
 次元縮約                             特異値分解を用いる。高次元ベクトル間の位
 ・LSI (Latent Sematic Indexing)   置関係をできるだけ保存した形で、低次元ベ
                                  クトルに変換
 ・pLSI (Probabilistic LSI)
 ・NMF (Non-Nagatice Matrix
 Factorization)
                                                         65
k-means: 最も単純なアルゴリズム (E.W. Forgy 1965)

①データセットの中からK個のクラスタの
 代表点 c1,c2,…,cKをランダムに選ぶ




                                         66
k-means: 最も単純なアルゴリズム (E.W. Forgy 1965)

①データセットの中からK個のクラスタの
 代表点 c1,c2,…,cKをランダムに選ぶ


②各データ x に対し、 ciとの距離を測り
 最も距離の短い ci に対するに対する
 クラスタを Xのクラスタに設定する




                                         67
k-means: 最も単純なアルゴリズム (E.W. Forgy 1965)

①データセットの中からK個のクラスタの
 代表点 c1,c2,…,cKをランダムに選ぶ


②各データ x に対し、 ciとの距離を測り            ③各クラスタの平均値(重心)を
 最も距離の短い ci に対するに対する               クラスタの代表点とする。
 クラスタを Xのクラスタに設定する                 (K個の平均値がクラスタを代表)
              ※各データ x のクラスタが変化しなくなるまで繰り返す




                                                  68
k-means: 最も単純なアルゴリズム (E.W. Forgy 1965)

①データセットの中からK個のクラスタの
 代表点 c1,c2,…,cKをランダムに選ぶ


②各データ x に対し、 ciとの距離を測り            ③各クラスタの平均値(重心)を
 最も距離の短い ci に対するに対する               クラスタの代表点とする。
 クラスタを Xのクラスタに設定する                 (K個の平均値がクラスタを代表)
              ※各データ x のクラスタが変化しなくなるまで繰り返す

 評価関数(最小化問題)




                                                  69
k-means: 最も単純なアルゴリズム (E.W. Forgy 1965)

①データセットの中からK個のクラスタの
 代表点 c1,c2,…,cKをランダムに選ぶ


②各データ x に対し、 ciとの距離を測り                ③各クラスタの平均値(重心)を
 最も距離の短い ci に対するに対する                   クラスタの代表点とする。
 クラスタを Xのクラスタに設定する                     (K個の平均値がクラスタを代表)
                         ※各データ x のクラスタが変化しなくなるまで繰り返す

 評価関数(最小化問題)


 例) データ数 N=5,クラスタ数 K=2

        3
                 4
   c2
  ×         c1
                     5
  2     1   ×
                                                       70
k-means: 最も単純なアルゴリズム (E.W. Forgy 1965)

①データセットの中からK個のクラスタの
 代表点 c1,c2,…,cKをランダムに選ぶ


②各データ x に対し、 ciとの距離を測り                            ③各クラスタの平均値(重心)を
 最も距離の短い ci に対するに対する                               クラスタの代表点とする。
 クラスタを Xのクラスタに設定する                                 (K個の平均値がクラスタを代表)
                         ※各データ x のクラスタが変化しなくなるまで繰り返す

 評価関数(最小化問題)


 例) データ数 N=5,クラスタ数 K=2

        3                            3
                 4           c2               4
   c2                            ×
  ×         c1
                     5
                                         c1
                                                  5
  2     1   ×                2       1   ×
                                                                  71
k-means: 最も単純なアルゴリズム (E.W. Forgy 1965)

①データセットの中からK個のクラスタの
 代表点 c1,c2,…,cKをランダムに選ぶ


②各データ x に対し、 ciとの距離を測り                            ③各クラスタの平均値(重心)を
 最も距離の短い ci に対するに対する                               クラスタの代表点とする。
 クラスタを Xのクラスタに設定する                                 (K個の平均値がクラスタを代表)
                         ※各データ x のクラスタが変化しなくなるまで繰り返す

 評価関数(最小化問題)


 例) データ数 N=5,クラスタ数 K=2

        3                            3                         3
                 4           c2               4        c2               4
   c2                            ×                         ×       c1
  ×         c1
                     5
                                         c1
                                                  5
                                                                    ×       5
  2     1   ×                2       1   ×             2       1
                                                                                72
k-means: 関数


                       関数 kmeans
kmeans(x, centers, iter.max = 10, nstart = 1,
 algorithm = c("Hartigan-Wong", "Lloyd", "Forgy", "MacQueen"))
引数 ・x : データセットを表す行列
   ・centers : 1) クラスタ数Kを指定する場合:
               初期値の代表点はデータセットからランダム抽出。
              2) クラスタの代表点ベクトルを指定する場合:
               クラスタ数 K はこの代表点の個数から算出される。
任意引数(省略可能)
   ・iter.max : 繰り返しの最大回数(デフォルト:10)
   ・nstart : ランダムに初期値を設定する場合のパラメータ。
               初期値を変更したい場合に用いる。
   ・algorithm: 使用するアルゴリズムを指定。
      “Hartigan-Wong“, ”Lloyd“, ”Forgy“, ”MacQueen“から。
    (デフォルト:“Hartigan-Wong”(最良結果を出すといわれてい
       る))                                                   73
k-means :Rプログラム例

ソースコード




                   74
k-means :Rプログラム例

実行結果




               Ward法の結果と同程度の結果を得られる
                            Ward法の結果



                                       75
AGENDA
 ◆自己紹介
 ◆階層的クラスタリング おさらい
 ◆非階層的クラスタリング
   ◆各手法の特徴
   ◆k-means法
   ◆混合分布モデル
 ◆最後に
クラスタリング手法の種類


                              非階層的手法
         クラスタリング手法                      クラスタ間距離
 k-means                          クラスタをクラスタ数の平均値で特徴づける
                                  方法。非階層的手法で最も代表的な手法。現
                                  実のクラスタリングでも使われることが多く、
                                  実用的な手法。
 混合分布モデル                          クラスタリング問題を確率モデルで解く方法。
                                  観測データが異なる確率分布の混合分布であ
                                  ると仮定。固体が属するクラスを隠れ変数を
                                  して推定する。データの発生メカニズムが確
                                  率モデルでうまくモデル化できるとき、強力
                                  な手法。
 スペクトラルクラスタリング                    グラフ分割問題によるクラスタリング
 次元縮約                             特異値分解を用いる。高次元ベクトル間の位
 ・LSI (Latent Sematic Indexing)   置関係をできるだけ保存した形で、低次元ベ
                                  クトルに変換
 ・pLSI (Probabilistic LSI)
 ・NMF (Non-Nagatice Matrix
 Factorization)
                                                         77
混合分布モデル

 混合分布


   係数ベクトル

          規格化条件       ,

   各分布

          n次元平均ベクトル

          分散共分散行列




                          78
混合分布モデル

 混合分布
                          推定パラメータ
   係数ベクトル

          規格化条件       ,

   各分布

          n次元平均ベクトル

          分散共分散行列




                                    79
混合分布モデル: EMアルゴリズム

       Expectation Maximize (EM) Algorithm
                    エッセンス
 推定パラメータ



 最尤法
    次の対数尤度関数 L(θ)を最大化するθを求める。
    ⇒漸化計算を行う(θの変分法から漸化式算出)




                                             80
混合分布モデル: 関数

                              関数 Mclust
                          (Model-based Clustering)
Mclust(x, G,
 modelNames= c(“E”, “V”, “EII”, “VII”, “EEI”, “VEI”,..))
引数    x : データセットを表す行列
      G : クラスタ数Kを指定
      modelName : 分散共分散行列のモデル指定
              modelName            分散共分散行列の特徴
        E                   1次元 等分散
        V                   1次元 可変分散
        EII                 Σc が単位行列。全クラスタで同一。
        VII                 Σc が単位行列。クラスタごとに可変
        EEI                 Σcが対角行列。全クラスタで同一。
        VEI                 Σcが対角行列。クラスタごとに可変。
        VVV                 Σcが任意。
                                                           81
混合分布モデル:Rプログラム例

ソースコード




                  82
混合分布モデル:Rプログラム例

実行結果




                  83
混合分布モデル:Rプログラム例 (パラメータ値)

ソースコード




                           84
混合分布モデル:Rプログラム例 (パラメータ値)

実行結果




                           85
混合分布モデル:Rプログラム例 (パラメータ値)

実行結果




                           86
混合分布モデル:Rプログラム例 (多次元モデル比較)




   modelName       分散共分散行列の特徴
 E             1次元 等分散
 V             1次元 可変分散
 EII           Σc が単位行列。全クラスタで同一。
 VII           Σc が単位行列。クラスタごとに可変
 EEI           Σcが対角行列。全クラスタで同一。
 VEI           Σcが対角行列。クラスタごとに可変。
 VVV           Σcが任意




                                    87
混合分布モデル:Rプログラム例 (多次元モデル比較)

ソースコード




                             88
混合分布モデル:Rプログラム例

実行結果              より広い変数領域での推定のほうが
                  クラスタリングの結果が良い




                               良い
                                     89
AGENDA
 ◆自己紹介
 ◆階層的クラスタリング おさらい
 ◆非階層的クラスタリング
   ◆各手法の特徴
   ◆k-means法
   ◆混合分布モデル
 ◆最後に
最後に

      蓄積されたデータを有効活用してきたい




                           91
最後に

      蓄積されたデータを有効活用してきたい




  Google Group: http://groups.google.com/group/webmining-tokyo

                                                                 92
最後に
               データマイニング+WEB勉強会
                発表者を募集しています




 連絡
  Google Group: http://groups.google.com/group/webmining-tokyo
  Twitter     : http://twitter.com/hamadakoichi
                                                                 93
推薦文献
推薦文献リンク



          Rで学ぶクラスタ解析




          クラスター分析入門
          ―ファジィクラスタリングの理論と応用




          Rによるデータサイエンス
          ~データ解析の基礎から最新手法まで ~
ご清聴ありがとうございました




                 96
AGENDA
 ◆自己紹介
 ◆階層的クラスタリング おさらい
 ◆非階層的クラスタリング
   ◆各手法の特徴
   ◆k-means法
   ◆混合分布モデル
 ◆最後に
目的: データマイニング+WEB勉強会@東京

         データマイニングの方法論を用い
      蓄積されたデータを有効活用していく方法を学ぶ
                                               統計解析
                 Web API
                                             データマイニング
              Amazon Web Service
                楽天 Web Service            対応分析        時系列分析
     Twitter API Recruit Web Service         回帰分析
                   Yahoo! Web Service                   クラスター分析
      はてな Web Service                                      判別分析
                                          主成分分析 因子分析
      (Bookmark/Graph/Keyword,…)
                                               カーネル法
         Google Data API                            樹木モデル
         (Calendar/Maps/BookSearch/
          FinancePortfolioData,…)                  ニューラルネットワーク
                                                  サポートベクターマシン
                   …        免疫型最適化      Particle Swam    …
                           Memetic          Ant Colony
                           遺伝的   熱力学的
                                シミュレーテドアニーリング
                                 力学モデルによる最適化
                           タブーサーチ    グラフ
                                                …
                                      最適解探索
                                      アルゴリズム
                                                                  98

More Related Content

[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編

  • 1. データマイニング+WEB勉強会@東京 第3回 Talk 1 R言語によるクラスター分析 -活用編- hamadakoichi 濱田 晃一 2010/04/17
  • 2. データマイニング+WEB勉強会@東京 データマイニングの方法論を用い 蓄積されたデータを有効活用していく方法を学ぶ 統計解析 Web API データマイニング Amazon Web Service 楽天 Web Service 対応分析 時系列分析 Twitter API Recruit Web Service 回帰分析 Yahoo! Web Service クラスター分析 はてな Web Service 判別分析 主成分分析 因子分析 (Bookmark/Graph/Keyword,…) カーネル法 Google Data API 樹木モデル (Calendar/Maps/BookSearch/ FinancePortfolioData,…) ニューラルネットワーク サポートベクターマシン … 免疫型最適化 Particle Swam … Memetic Ant Colony 遺伝的 熱力学的 シミュレーテドアニーリング 力学モデルによる最適化 タブーサーチ グラフ … 最適解探索 アルゴリズム 2
  • 3. データマイニング+WEB勉強会@東京 クラスター分析 統計解析 Web API データマイニング Amazon Web Service 楽天 Web Service 対応分析 時系列分析 Talk1 Twitter API Recruit Web Service 回帰分析 Yahoo! Web Service クラスター分析 Talk2 はてな Web Service 判別分析 主成分分析 因子分析 Talk3 (Bookmark/Graph/Keyword,…) カーネル法 Google Data API 樹木モデル (Calendar/Maps/BookSearch/ FinancePortfolioData,…) ニューラルネットワーク サポートベクターマシン … 免疫型最適化 Particle Swam … Memetic Ant Colony 遺伝的 熱力学的 シミュレーテドアニーリング 力学モデルによる最適化 タブーサーチ グラフ … 最適解探索 アルゴリズム 3
  • 4. AGENDA ◆自己紹介 ◆階層的クラスタリング おさらい ◆非階層的クラスタリング ◆各手法の特徴 ◆k-means法 ◆混合分布モデル ◆最後に
  • 5. AGENDA ◆自己紹介 ◆階層的クラスタリング おさらい ◆非階層的クラスタリング ◆各手法の特徴 ◆k-means法 ◆混合分布モデル ◆最後に
  • 6. hamadakoichi 濱田晃一 http://iddy.jp/profile/hamadakoichi 6
  • 9. 自己紹介:hamadakoichi 濱田晃一 理論物理 博士 量子統計場の理論 Statistical Field Theory Spontaneously Time-Reversal Symmetry Breaking Anisotropic Massless Dirac Fermions 博士論文(2004/03): http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf 9
  • 10. 自己紹介:hamadakoichi 濱田晃一 文部大臣に褒められた 元 文部大臣・法務大臣 六法全書著者・元法学政治学研究科長 森山眞弓さん 菅野和夫さん 10
  • 11. 自己紹介:hamadakoichi 濱田晃一 Los Angelesでプロダンサーに褒められた ・HIP HOP/House ダンス歴13年 ・ダンス開始後 1年半でL.A.でプロダンサーに褒められる Youtube Channel: http://www.youtube.com/hamadakoichi 11
  • 12. 自己紹介:hamadakoichi 濱田晃一 東京と京都で 物理ダンス部を創設 駒場物理ダンス部 京都大学基礎物理学研究所ダンス部 部長兼コーチ 部長兼コーチ 現在: 毎週末 3時間ダンスコーチ Youtube Channel: http://www.youtube.com/hamadakoichi 12
  • 13. 数理解析手法の実ビジネス適用 数理解析手法を実ビジネス適用する 方法論・システムを作り上げてきました 13
  • 14. 数理解析手法の実ビジネス適用 数理解析手法を実ビジネス適用する 方法論・システムを作り上げてきました 主な領域 ◆活動の数理モデル化・解析手法 ◆業務プロセス分析手法・再構築手法 ◆業務プロセス実行制御・実績解析システム … K. Hamada, F.Kimura, M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada, "Unified graph representation of processes “Decoupling Executions in Navigating Manufacturing for scheduling with flexible resource Processes for Shortening Lead Time and Its Implementation assignment", to an Unmanned Machine Shop”, to be published in CIRP ICMS (2010). CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007) 14
  • 15. 数理解析手法の実ビジネス適用 数理解析手法を実ビジネス適用する 方法論・システムを作り上げてきました 活動実績例: 一品一様の業務プロセスの動的なプロセス制御数理体系 全体生産リードタイム中央値を 1/2.7に短縮 設計開始~頭だし出荷リードタイム開 始 日 時 の 箱 ひ げ 図 設 計 開 始 ~ 頭 だ し出 荷 CT対 週 集 計 体系適用 500 適用後 設計開始~頭だし出荷CT 400 360.4h(15.0日) 1/2.7 300 200 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 141.6h(5.9日) 00 00 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 9: 0 7 4 1 8 5 1 8 5 2 9 6 3 0 /2 /2 /0 /1 /1 /2 /0 /0 /1 /2 /2 /0 /1 /2 / 09 / 09 / 10 / 10 / 10 / 10 / 11 / 11 / 11 / 11 / 11 / 12 / 12 / 12 04 04 04 04 04 04 04 04 04 04 04 04 04 04 20 20 20 20 20 20 20 20 20 20 20 20 20 20 週 集 計 開 始 日 時 15
  • 16. 数理解析手法の実ビジネス適用 数理解析手法を実ビジネス適用する 方法論・システムを作り上げてきました 変動性から生じる動的な課題 ・リソースの競合 ・滞留 ・納期遅延 … 一品一様な業務プロセスを含む 統計解析・制御数理モデル ・統計的な有効変数算出 ・統計数理モデル化 -優先順位制御 -実行タイミング制御 -統計フィードバック -適正リソース量算出 ・予測数理体系 論文(体系の一部) M.Nakao, N. Kobayashi, K.Hamada, T.Totsuka, S.Yamada, “Decoupling Executions in Navigating Manufacturing Processes for Shortening Lead Time and Its Implementation to an Unmanned Machine Shop”, CIRP Annals - Manufacturing Technology Volume 56, Issue 1, Pages 171-174 (2007) 16
  • 18. 2010年4月・5月の講演・トーク予定 ぜひお越しください 日 コミュニティ 会情報 2010/04/24(土) Tokyo.R Tokyo.R #4 2010/05/07(金) Linux Business 2010年度総会および Initiative LBIビジネス講演会 2010/05/09(日) Tsukuba.R Tsukuba.R #7 18
  • 19. 講演:2010/04/24(土) Tokyo.R #4 「R言語による時系列解析」 時系列データの各種解析 Tokyo.R #4 http://atnd.org/events/3930 19
  • 20. 講演:2010/05/07(金) Linux Business Initiative 2010年度総会・ビジネス講演会 「業務プロセス改革とデータマイニング」 蓄積データの有効活用 LBIビジネス講演会 http://www.lbi.gr.jp/modules/eguide/event.php?eid=31 20
  • 21. 講演:2010/05/09(日) Tsukuba.R #7 「はじめてでも分かる 回帰分析」 事象発生の関数形の推測 ・線形回帰(単・重) ・非線形回帰 Tokyo.R #4 http://atnd.org/events/3930 21
  • 23. AGENDA ◆自己紹介 ◆階層的クラスタリング おさらい ◆非階層的クラスタリング ◆各手法の特徴 ◆k-means法 ◆混合分布モデル ◆最後に 23
  • 24. クラスタリングとは データを類似度に従い グループに分けること 24
  • 25. クラスタリングとは データを類似度に従い グループに分けること クラスタリングA 25
  • 26. クラスタリングとは データを類似度に従い グループに分けること クラスタリングA クラスタリングB 26
  • 27. クラスタリングとは データを類似度に従い グループに分けること クラスタリングA クラスタリングB 27
  • 28. クラスタリング手法の種類 手法と帰属度の分類軸がある 分類 種類 内容 手法 階層的手法 ①各データそれぞれを一つのクラスタとする ②状態を初期状態とするクラスタの距離、類似度で2つのクラ スタを逐次的に併合していく ③目的のクラスタ数まで併合が行われたときに処理を終了す る 非階層的手法 ①データの良さを表す評価関数を設定する (分割最適化) ②評価関数に対する最適解(最適分割)を探索する 帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する ング ソフトクラスタリ 各データが複数のクラスタリングに所属することを許す ング (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ ングとなる) 28
  • 29. クラスタリング手法の種類 手法と帰属度の分類軸がある 分類 種類 内容 手法 階層的手法 ①各データそれぞれを一つのクラスタとする ②状態を初期状態とするクラスタの距離、類似度で2つのクラ スタを逐次的に併合していく ③目的のクラスタ数まで併合が行われたときに処理を終了す る 非階層的手法 ①データの良さを表す評価関数を設定する (分割最適化) ②評価関数に対する最適解(最適分割)を探索する 帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する ング ソフトクラスタリ 各データが複数のクラスタリングに所属することを許す ング (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ ングとなる) 29
  • 30. クラスタリング手法の種類 手法と帰属度の分類軸がある 分類 種類 内容 手法 階層的手法 ①各データそれぞれを一つのクラスタとする ②状態を初期状態とするクラスタの距離、類似度で2つのクラ スタを逐次的に併合していく ③目的のクラスタ数まで併合が行われたときに処理を終了す る 非階層的手法 ①データの良さを表す評価関数を設定する (分割最適化) ②評価関数に対する最適解(最適分割)を探索する 帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する ング ソフトクラスタリ 各データが複数のクラスタリングに所属することを許す ング (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ ングとなる) 30
  • 31. クラスタリング手法の種類 各クラスタリング手法 種類 ハード ソフト 階層的 非階層的 31
  • 32. クラスタリング手法の種類 各クラスタリング手法 種類 ハード ソフト 階層的 ・群平均法 ・単連結法 ・完全連結法 ・ウォード法 ・重心法 ・メディアン法 非階層的 32
  • 33. クラスタリング手法の種類 各クラスタリング手法 種類 ハード ソフト 階層的 ・群平均法 ・単連結法 ・完全連結法 ・ウォード法 ・重心法 ・メディアン法 非階層的 ・k-means ・スペクトラルクラスタリング 33
  • 34. クラスタリング手法の種類 各クラスタリング手法 種類 ハード ソフト 階層的 ・群平均法 ・単連結法 ・完全連結法 ・ウォード法 ・重心法 ・メディアン法 非階層的 ・k-means ・混合分布モデル ・スペクトラルクラスタリング ・次元縮約 (LSI/pLSI/NMF) ・Fuzzy c-means ※LSI: Latent Semantic Indexing, pLSI: Probabilistic LSI, NMF: Non-Negative Matrix Factorization 34
  • 35. クラスタリング手法の種類 各クラスタリング手法 種類 ハード ソフト 階層的 ・群平均法 ・単連結法 ・完全連結法 ・ウォード法 ・重心法 ・メディアン法 非階層的 ・k-means ・混合分布モデル ・スペクトラルクラスタリング ・次元縮約 (LSI/pLSI/NMF) ・Fuzzy c-means ※LSI: Latent Semantic Indexing, pLSI: Probabilistic LSI, NMF: Non-Negative Matrix Factorization 35
  • 36. クラスタリングの評価 評価指標例 (正解が存在し、クラスタ数が既知の場合) 指標 内容 エントロピー 最も標準的に用いられる評価尺度。結果クラスタと解答クラスタの重なり (Entropy) 具合を表す。値が小さいほどクラスタリング結果が良好。 純度 標準的な評価尺度。結果クラスタと解答クラスタの重なり具合を表す。 (Purity) 値が大きいほどクラスタリング結果が良好。 F尺度 情報検索における標準的な評価法を応用。再現率と精度の重み付き平均。 (F-measure) 精度 正答率。最も厳密な評価尺度。 (Accuracy) 36
  • 37. クロス表 クラスタリング結果と 正解クラスタに共通するデータ個数の表 成分 結果クラスタ 解答クラスタ 37
  • 38. エントロピー (Entropy) 最も標準的に用いられる評価尺度 重なり具合を表す。値が小さいほど結果が良好。 全体 クラスタ Ci 確率 Rプログラム例 38
  • 39. 純度 (Purity) 標準的な評価尺度 正解クラスタをどの程度含むか。値が大きいほど結果が良好 全体 クラスタ Ci Rプログラム例 39
  • 40. F尺度 (F-measure) 情報検索における標準的な評価法を応用 再現率と精度の重み付き平均 全体 AhとCkに対する F尺度 再現率 精度 40
  • 41. データ iris(アヤメ)データ よい性質を持ち よく使用される Iris Sanguinea 花葉 花びら 種 41
  • 42. クラスタリング手法の種類 階層的手法 分類 種類 内容 手法 階層的手法 ①各データそれぞれを一つのクラスタとする ②状態を初期状態とするクラスタの距離、類似度で2つのクラ スタを逐次的に併合していく ③目的のクラスタ数まで併合が行われたときに処理を終了す る 非階層的手法 ①データの良さを表す評価関数を設定する (分割最適化) ②評価関数に対する最適解(最適分割)を探索する 帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する ング ソフトクラスタリ 各データが複数のクラスタリングに所属することを許す ング (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ ングとなる) 42
  • 43. 階層的手法:特徴 古典的で直感的にも自然な手法 最終的に一つのクラスタにまとまる 43
  • 44. 階層的手法:アルゴリズム ①各データが自身をクラスターと考え データ数のクラスターを作る ②クラスタ間の距離を測り クラスタ間の距離行列を作成する ③最も距離の近いクラスタを併合する ④クラスタ間の距離行列を作成する ⑤最も短い距離のクラスタを併合する ※ひとつのクラスタになるまで繰り返し 44
  • 45. 階層的手法:アルゴリズム ①各データが自身をクラスターと考え データ数のクラスターを作る ②クラスタ間の距離を測り クラスタ間の距離行列を作成する ③最も距離の近いクラスタを併合する ④クラスタ間の距離行列を作成する ⑤最も短い距離のクラスタを併合する ※ひとつのクラスタになるまで繰り返し 45
  • 46. 階層的手法:手法とクラスタ間距離 クラスタリング手法 クラスタ間距離 群平均法 クラスタ間の全てのデータ組合せの距離の平均値 (Group Average method ) 単連結法 クラスタ間の最小距離を与えるデータ対の距離 (Single Linkage Method ) 完全連結法 クラスタの最大距離を与えるデータ対の距離 (Complete Linkage Method) ウォード法 クラスタ内の平方和の増加分 (Ward Method) 重心法 クラスタの重心間の距離の自乗 (Centroid Method) メディアン法 重心法と同じ。クラスタ併合時に、新たな重心を元の (Median Method) 重心の中点にとる。 46
  • 47. 階層的手法:テンドログラム クラスタ構造を表す 横棒の縦軸の目盛りがクラスタ間距離 クラスタ間距離 47
  • 48. 階層的手法: Rによる解析 階層的クラスタリングの関数 Hierarchical Clustering hclust(d, method=“complete”, member =NULL, ...) d:距離行列 method: 階層的クラスタリング手法を指定 members: 通常は指定しない。 ※テンドログラムの途中から クラスタリングを行いたい場合に用いる 48
  • 49. 階層的手法:手法とクラスタ間距離 クラスタリング手法 クラスタ間距離 method 群平均法 クラスタ間の全てのデータ組合せの距離 “average“ (Group Average method ) の平均値 単連結法 クラスタ間の最小距離を与えるデータ対の “single” (Single Linkage Method ) 距離 完全連結法 クラスタの最大距離を与えるデータ対の距 “complete” (Complete Linkage 離 (Default) Method) ウォード法 クラスタ内の平方和の増加分 “ward” (Ward Method) 重心法 クラスタの重心間の距離の自乗 “centroid” (Centroid Method) メディアン法 重心法と同じ。クラスタ併合時に、新たな “median” (Median Method) 重心を元の重心の中点にとる。 49
  • 58. AGENDA ◆自己紹介 ◆階層的クラスタリング おさらい ◆非階層的クラスタリング ◆各手法の特徴 ◆k-means法 ◆混合分布モデル ◆最後に
  • 59. AGENDA ◆自己紹介 ◆階層的クラスタリング おさらい ◆非階層的クラスタリング ◆各手法の特徴 ◆k-means法 ◆混合分布モデル ◆最後に
  • 60. クラスタリング手法の種類 非階層的手法 分類 種類 内容 手法 階層的手法 ①各データそれぞれを一つのクラスタとする ②状態を初期状態とするクラスタの距離、類似度で2つのクラ スタを逐次的に併合していく ③目的のクラスタ数まで併合が行われたときに処理を終了す る 非階層的手法 ①データの良さを表す評価関数を設定する (分割最適化) ②評価関数に対する最適解(最適分割)を探索する 帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する ング ソフトクラスタリ 各データが複数のクラスタリングに所属することを許す ング (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリ ングとなる) 60
  • 61. クラスタリング手法の種類 各クラスタリング手法 種類 ハード ソフト 階層的 ・群平均法 ・単連結法 ・完全連結法 ・ウォード法 ・重心法 ・メディアン法 非階層的 ・k-means ・混合分布モデル ・スペクトラルクラスタリング ・次元縮約 (LSI/pLSI/NMF) ・Fuzzy c-means ※LSI: Latent Semantic Indexing, pLSI: Probabilistic LSI, NMF: Non-Negative Matrix Factorization 61
  • 62. クラスタリング手法の種類 非階層的手法 クラスタリング手法 特徴 k-means クラスタをクラスタ数の平均値で特徴づける 方法。非階層的手法で最も代表的な手法。現 実のクラスタリングでも使われることが多く、 実用的な手法。 混合分布モデル クラスタリング問題を確率モデルで解く方法。 観測データが異なる確率分布の混合分布であ ると仮定。固体が属するクラスを隠れ変数を して推定する。データの発生メカニズムが確 率モデルでうまくモデル化できるとき、強力 な手法。 スペクトラルクラスタリング グラフ分割問題によるクラスタリング 次元縮約 特異値分解を用いる。高次元ベクトル間の位 ・LSI (Latent Sematic Indexing) 置関係をできるだけ保存した形で、低次元ベ クトルに変換 ・pLSI (Probabilistic LSI) ・NMF (Non-Nagatice Matrix Factorization) 62
  • 63. クラスタリング手法の種類 非階層的手法 クラスタリング手法 特徴 k-means クラスタをクラスタ数の平均値で特徴づける 方法。非階層的手法で最も代表的な手法。現 実のクラスタリングでも使われることが多く、 実用的な手法。 混合分布モデル クラスタリング問題を確率モデルで解く方法。 観測データが異なる確率分布の混合分布であ ると仮定。固体が属するクラスを隠れ変数を して推定する。データの発生メカニズムが確 率モデルでうまくモデル化できるとき、強力 な手法。 スペクトラルクラスタリング グラフ分割問題によるクラスタリング 次元縮約 特異値分解を用いる。高次元ベクトル間の位 ・LSI (Latent Sematic Indexing) 置関係をできるだけ保存した形で、低次元ベ クトルに変換 ・pLSI (Probabilistic LSI) ・NMF (Non-Nagatice Matrix Factorization) 63
  • 64. AGENDA ◆自己紹介 ◆階層的クラスタリング おさらい ◆非階層的クラスタリング ◆各手法の特徴 ◆k-means法 ◆混合分布モデル ◆最後に
  • 65. クラスタリング手法の種類 非階層的手法 クラスタリング手法 クラスタ間距離 k-means クラスタをクラスタ数の平均値で特徴づける 方法。非階層的手法で最も代表的な手法。現 実のクラスタリングでも使われることが多く、 実用的な手法。 混合分布モデル クラスタリング問題を確率モデルで解く方法。 観測データが異なる確率分布の混合分布であ ると仮定。固体が属するクラスを隠れ変数を して推定する。データの発生メカニズムが確 率モデルでうまくモデル化できるとき、強力 な手法。 スペクトラルクラスタリング グラフ分割問題によるクラスタリング 次元縮約 特異値分解を用いる。高次元ベクトル間の位 ・LSI (Latent Sematic Indexing) 置関係をできるだけ保存した形で、低次元ベ クトルに変換 ・pLSI (Probabilistic LSI) ・NMF (Non-Nagatice Matrix Factorization) 65
  • 66. k-means: 最も単純なアルゴリズム (E.W. Forgy 1965) ①データセットの中からK個のクラスタの 代表点 c1,c2,…,cKをランダムに選ぶ 66
  • 67. k-means: 最も単純なアルゴリズム (E.W. Forgy 1965) ①データセットの中からK個のクラスタの 代表点 c1,c2,…,cKをランダムに選ぶ ②各データ x に対し、 ciとの距離を測り 最も距離の短い ci に対するに対する クラスタを Xのクラスタに設定する 67
  • 68. k-means: 最も単純なアルゴリズム (E.W. Forgy 1965) ①データセットの中からK個のクラスタの 代表点 c1,c2,…,cKをランダムに選ぶ ②各データ x に対し、 ciとの距離を測り ③各クラスタの平均値(重心)を 最も距離の短い ci に対するに対する クラスタの代表点とする。 クラスタを Xのクラスタに設定する (K個の平均値がクラスタを代表) ※各データ x のクラスタが変化しなくなるまで繰り返す 68
  • 69. k-means: 最も単純なアルゴリズム (E.W. Forgy 1965) ①データセットの中からK個のクラスタの 代表点 c1,c2,…,cKをランダムに選ぶ ②各データ x に対し、 ciとの距離を測り ③各クラスタの平均値(重心)を 最も距離の短い ci に対するに対する クラスタの代表点とする。 クラスタを Xのクラスタに設定する (K個の平均値がクラスタを代表) ※各データ x のクラスタが変化しなくなるまで繰り返す 評価関数(最小化問題) 69
  • 70. k-means: 最も単純なアルゴリズム (E.W. Forgy 1965) ①データセットの中からK個のクラスタの 代表点 c1,c2,…,cKをランダムに選ぶ ②各データ x に対し、 ciとの距離を測り ③各クラスタの平均値(重心)を 最も距離の短い ci に対するに対する クラスタの代表点とする。 クラスタを Xのクラスタに設定する (K個の平均値がクラスタを代表) ※各データ x のクラスタが変化しなくなるまで繰り返す 評価関数(最小化問題) 例) データ数 N=5,クラスタ数 K=2 3 4 c2 × c1 5 2 1 × 70
  • 71. k-means: 最も単純なアルゴリズム (E.W. Forgy 1965) ①データセットの中からK個のクラスタの 代表点 c1,c2,…,cKをランダムに選ぶ ②各データ x に対し、 ciとの距離を測り ③各クラスタの平均値(重心)を 最も距離の短い ci に対するに対する クラスタの代表点とする。 クラスタを Xのクラスタに設定する (K個の平均値がクラスタを代表) ※各データ x のクラスタが変化しなくなるまで繰り返す 評価関数(最小化問題) 例) データ数 N=5,クラスタ数 K=2 3 3 4 c2 4 c2 × × c1 5 c1 5 2 1 × 2 1 × 71
  • 72. k-means: 最も単純なアルゴリズム (E.W. Forgy 1965) ①データセットの中からK個のクラスタの 代表点 c1,c2,…,cKをランダムに選ぶ ②各データ x に対し、 ciとの距離を測り ③各クラスタの平均値(重心)を 最も距離の短い ci に対するに対する クラスタの代表点とする。 クラスタを Xのクラスタに設定する (K個の平均値がクラスタを代表) ※各データ x のクラスタが変化しなくなるまで繰り返す 評価関数(最小化問題) 例) データ数 N=5,クラスタ数 K=2 3 3 3 4 c2 4 c2 4 c2 × × c1 × c1 5 c1 5 × 5 2 1 × 2 1 × 2 1 72
  • 73. k-means: 関数 関数 kmeans kmeans(x, centers, iter.max = 10, nstart = 1, algorithm = c("Hartigan-Wong", "Lloyd", "Forgy", "MacQueen")) 引数 ・x : データセットを表す行列 ・centers : 1) クラスタ数Kを指定する場合: 初期値の代表点はデータセットからランダム抽出。 2) クラスタの代表点ベクトルを指定する場合: クラスタ数 K はこの代表点の個数から算出される。 任意引数(省略可能) ・iter.max : 繰り返しの最大回数(デフォルト:10) ・nstart : ランダムに初期値を設定する場合のパラメータ。 初期値を変更したい場合に用いる。 ・algorithm: 使用するアルゴリズムを指定。 “Hartigan-Wong“, ”Lloyd“, ”Forgy“, ”MacQueen“から。 (デフォルト:“Hartigan-Wong”(最良結果を出すといわれてい る)) 73
  • 75. k-means :Rプログラム例 実行結果 Ward法の結果と同程度の結果を得られる Ward法の結果 75
  • 76. AGENDA ◆自己紹介 ◆階層的クラスタリング おさらい ◆非階層的クラスタリング ◆各手法の特徴 ◆k-means法 ◆混合分布モデル ◆最後に
  • 77. クラスタリング手法の種類 非階層的手法 クラスタリング手法 クラスタ間距離 k-means クラスタをクラスタ数の平均値で特徴づける 方法。非階層的手法で最も代表的な手法。現 実のクラスタリングでも使われることが多く、 実用的な手法。 混合分布モデル クラスタリング問題を確率モデルで解く方法。 観測データが異なる確率分布の混合分布であ ると仮定。固体が属するクラスを隠れ変数を して推定する。データの発生メカニズムが確 率モデルでうまくモデル化できるとき、強力 な手法。 スペクトラルクラスタリング グラフ分割問題によるクラスタリング 次元縮約 特異値分解を用いる。高次元ベクトル間の位 ・LSI (Latent Sematic Indexing) 置関係をできるだけ保存した形で、低次元ベ クトルに変換 ・pLSI (Probabilistic LSI) ・NMF (Non-Nagatice Matrix Factorization) 77
  • 78. 混合分布モデル 混合分布 係数ベクトル 規格化条件 , 各分布 n次元平均ベクトル 分散共分散行列 78
  • 79. 混合分布モデル 混合分布 推定パラメータ 係数ベクトル 規格化条件 , 各分布 n次元平均ベクトル 分散共分散行列 79
  • 80. 混合分布モデル: EMアルゴリズム Expectation Maximize (EM) Algorithm エッセンス 推定パラメータ 最尤法 次の対数尤度関数 L(θ)を最大化するθを求める。 ⇒漸化計算を行う(θの変分法から漸化式算出) 80
  • 81. 混合分布モデル: 関数 関数 Mclust (Model-based Clustering) Mclust(x, G, modelNames= c(“E”, “V”, “EII”, “VII”, “EEI”, “VEI”,..)) 引数 x : データセットを表す行列 G : クラスタ数Kを指定 modelName : 分散共分散行列のモデル指定 modelName 分散共分散行列の特徴 E 1次元 等分散 V 1次元 可変分散 EII Σc が単位行列。全クラスタで同一。 VII Σc が単位行列。クラスタごとに可変 EEI Σcが対角行列。全クラスタで同一。 VEI Σcが対角行列。クラスタごとに可変。 VVV Σcが任意。 81
  • 87. 混合分布モデル:Rプログラム例 (多次元モデル比較) modelName 分散共分散行列の特徴 E 1次元 等分散 V 1次元 可変分散 EII Σc が単位行列。全クラスタで同一。 VII Σc が単位行列。クラスタごとに可変 EEI Σcが対角行列。全クラスタで同一。 VEI Σcが対角行列。クラスタごとに可変。 VVV Σcが任意 87
  • 89. 混合分布モデル:Rプログラム例 実行結果 より広い変数領域での推定のほうが クラスタリングの結果が良い 良い 89
  • 90. AGENDA ◆自己紹介 ◆階層的クラスタリング おさらい ◆非階層的クラスタリング ◆各手法の特徴 ◆k-means法 ◆混合分布モデル ◆最後に
  • 91. 最後に 蓄積されたデータを有効活用してきたい 91
  • 92. 最後に 蓄積されたデータを有効活用してきたい Google Group: http://groups.google.com/group/webmining-tokyo 92
  • 93. 最後に データマイニング+WEB勉強会 発表者を募集しています 連絡 Google Group: http://groups.google.com/group/webmining-tokyo Twitter : http://twitter.com/hamadakoichi 93
  • 95. 推薦文献リンク Rで学ぶクラスタ解析 クラスター分析入門 ―ファジィクラスタリングの理論と応用 Rによるデータサイエンス ~データ解析の基礎から最新手法まで ~
  • 97. AGENDA ◆自己紹介 ◆階層的クラスタリング おさらい ◆非階層的クラスタリング ◆各手法の特徴 ◆k-means法 ◆混合分布モデル ◆最後に
  • 98. 目的: データマイニング+WEB勉強会@東京 データマイニングの方法論を用い 蓄積されたデータを有効活用していく方法を学ぶ 統計解析 Web API データマイニング Amazon Web Service 楽天 Web Service 対応分析 時系列分析 Twitter API Recruit Web Service 回帰分析 Yahoo! Web Service クラスター分析 はてな Web Service 判別分析 主成分分析 因子分析 (Bookmark/Graph/Keyword,…) カーネル法 Google Data API 樹木モデル (Calendar/Maps/BookSearch/ FinancePortfolioData,…) ニューラルネットワーク サポートベクターマシン … 免疫型最適化 Particle Swam … Memetic Ant Colony 遺伝的 熱力学的 シミュレーテドアニーリング 力学モデルによる最適化 タブーサーチ グラフ … 最適解探索 アルゴリズム 98