Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

23,744 views

Published on

データマイニング+WEB勉強会 第3回(2010/04/17)での講義資料です。「R言語によるクラスター分析 - 活用編」 hamadakoichi 濱田晃一。 途中、質問・議論をはさむ双方向形式で進行し、2時間の講義を行いました。

Published in: Technology

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

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

×