Mais conteúdo relacionado Semelhante a [データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する- (10) Mais de Koichi Hamada (20) [データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-2. 自己紹介
・ID: hamadakoichi
(Hatena/Twitter/YouTube/Skype)
濱田晃一
・専門:理論物理学(量子統計場の理論). 博士(2004.3)
Ph.D.Thesis : http://hosi.phys.s.u-tokyo.ac.jp/~koichi/PhD-thesis.pdf
・業務:業務に関する数理モデル化・解析、実行制御など
・趣味:Hip Hop Dance/ House Dance を13年
Youtube: http://www.youtube.com/hamadakoichi
・Blog: http://d.hatena.ne.jp/hamadakoichi
・Twitter: http://twitter.com/hamadakoichi
7. 目的: データマイニング+WEB勉強会@東京
データマイニングの方法論を用い
蓄積されたデータを有効活用していく方法を学ぶ
統計解析
Web API
データマイニング
対応分析 時系列分析
回帰分析 クラスター分析
判別分析
主成分分析 因子分析
カーネル法
樹木モデル
ニューラルネットワーク
サポートベクターマシン
…
最適解探索
アルゴリズム
8. 目的: データマイニング+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,…) ニューラルネットワーク
サポートベクターマシン
… …
最適解探索
アルゴリズム
9. 目的: データマイニング+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
遺伝的 熱力学的
シミュレーテドアニーリング
力学モデルによる最適化
タブーサーチ グラフ
…
最適解探索
アルゴリズム
10. 目的: データマイニング+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
遺伝的 熱力学的
シミュレーテドアニーリング
力学モデルによる最適化
タブーサーチ グラフ
…
最適解探索
アルゴリズム
11. 今回のテーマ
クラスター分析
統計解析
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
遺伝的 熱力学的
シミュレーテドアニーリング
力学モデルによる最適化
タブーサーチ グラフ
…
最適解探索
アルゴリズム
15. クラスタリングとは
データを類似度に従い
グループに分けること
クラスタリングA
クラスタリングB
16. クラスタリングとは
データを類似度に従い
グループに分けること
クラスタリングA
クラスタリングB
17. クラスタリング手法の種類
手法と帰属度の分類軸がある
分類 種類 内容
手法 階層的手法 ①各データそれぞれを一つのクラスタとする
②状態を初期状態とするクラスタの距離、類似度で2つのクラスタを逐
次的に併合していく
③目的のクラスタ数まで併合が行われたときに処理を終了する
非階層的手法 ①データの良さを表す評価関数を設定する
(分割最適化) ②評価関数に対する最適解(最適分割)を探索する
帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
ング
ソフトクラスタリン 各データが複数のクラスタリングに所属することを許す
グ (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリングとな
る)
18. クラスタリング手法の種類
手法と帰属度の分類軸がある
分類 種類 内容
手法 階層的手法 ①各データそれぞれを一つのクラスタとする
②状態を初期状態とするクラスタの距離、類似度で2つのクラスタを逐
次的に併合していく
③目的のクラスタ数まで併合が行われたときに処理を終了する
非階層的手法 ①データの良さを表す評価関数を設定する
(分割最適化) ②評価関数に対する最適解(最適分割)を探索する
帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
ング
ソフトクラスタリン 各データが複数のクラスタリングに所属することを許す
グ (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリングとな
る)
19. クラスタリング手法の種類
手法と帰属度の分類軸がある
分類 種類 内容
手法 階層的手法 ①各データそれぞれを一つのクラスタとする
②状態を初期状態とするクラスタの距離、類似度で2つのクラスタを逐
次的に併合していく
③目的のクラスタ数まで併合が行われたときに処理を終了する
非階層的手法 ①データの良さを表す評価関数を設定する
(分割最適化) ②評価関数に対する最適解(最適分割)を探索する
帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
ング
ソフトクラスタリン 各データが複数のクラスタリングに所属することを許す
グ (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリングとな
る)
20. クラスタリング手法の種類
手法と帰属度の分類軸がある
分類 種類 内容
手法 階層的手法 ①各データそれぞれを一つのクラスタとする
②状態を初期状態とするクラスタの距離、類似度で2つのクラスタを逐
次的に併合していく
③目的のクラスタ数まで併合が行われたときに処理を終了する
非階層的手法 ①データの良さを表す評価関数を設定する
(分割最適化) ②評価関数に対する最適解(最適分割)を探索する
帰属度 ハードクラスタリ 各データは一つのクラスタのみに所属する
ング
ソフトクラスタリン 各データが複数のクラスタリングに所属することを許す
グ (※最も帰属度が高いクラスタを抽出すると、ハードクラスタリングとな
る)
22. クラスタリング手法の種類
各クラスタリング手法
種類 ハード ソフト
階層的 ・群平均法
・単連結法
・完全連結法
・ウォード法
・重心法
・メディアン法
非階層的
23. クラスタリング手法の種類
各クラスタリング手法
種類 ハード ソフト
階層的 ・群平均法
・単連結法
・完全連結法
・ウォード法
・重心法
・メディアン法
非階層的 ・k-means
・スペクトラルクラスタリング
24. クラスタリング手法の種類
各クラスタリング手法
種類 ハード ソフト
階層的 ・群平均法
・単連結法
・完全連結法
・ウォード法
・重心法
・メディアン法
非階層的 ・k-means ・混合分布モデル
・スペクトラルクラスタリング ・pLSI
・NMF
・Fuzzy c-means
25. クラスタリング手法の種類
各クラスタリング手法
種類 ハード ソフト
階層的 ・群平均法
・単連結法
・完全連結法
・ウォード法
・重心法
・メディアン法
非階層的 ・k-means ・混合分布モデル
・スペクトラルクラスタリング ・pLSI
・NMF
・Fuzzy c-means
26. クラスタリングの評価
クラスタの条件により様々な評価法がある
条件
・正解集合が用意されているか
・クラスタの数が与えられているか
…
⇒長所と短所があり
標準的な方法は確立されていない
27. クラスタリングの評価
条件
・正解集合が用意されているか ⇒存在
・クラスタの数が与えられているか ⇒既知
の場合
29. クラスタリングの評価
評価指標例
(正解が存在し、クラスタ数が既知の場合)
指標 内容
エントロピー 最も標準的に用いられる評価尺度。結果クラスタと解答クラスタの重なり具合を表
(Entropy) す。値が小さいほどクラスタリング結果が良好。
純度 標準的な評価尺度。結果クラスタと解答クラスタの重なり具合を表す。
(Purity) 値が大きいほどクラスタリング結果が良好。
F尺度 情報検索における標準的な評価法を応用。再現率と精度の重み付き平均。
(F-measure)
精度 正答率。最も厳密な評価尺度。
(Accuracy)
30. クロス表
クラスタリング結果と
正解クラスタに共通するデータ個数の表
成分
結果クラスタ
解答クラスタ
31. エントロピー (Entropy)
最も標準的に用いられる評価尺度
重なり具合を表す。値が小さいほど結果が良好。
全体
クラスタ Ci
確率
Rプログラム例
32. 純度 (Purity)
標準的な評価尺度
正解クラスタをどの程度含むか。値が大きいほど結果が良好
全体
クラスタ Ci
Rプログラム例
33. F尺度 (F-measure)
情報検索における標準的な評価法を応用
再現率と精度の重み付き平均
全体
AhとCkに対する F尺度
再現率
精度
35. データのベクトル化
データを n 次元のベクトルで表現する
各次元はデータを見る 観点や特徴に対応
c
a b
36. 例:文書クラスタリング
文書の集合を
主題からいくつかのグループに分割する
文書 主題
ニュース記事など 政治、ビジネス、スポーツなど
図
37. ベクトル空間モデル
文書集合中に現れる 単語 wi を第 i 次元に設定
第 i 次元の値は、文書中に単語 wi が現れた頻度
文書例
[文書1] 私/は/茨城/県/に/ある/茨城/大学/の/学生/です/。
[文書2] 私/は/茨城/県/の/日立/市/に/住ん/で/い/ます/。
[文書3] 日立/市/には/日立/の/工場/が/たくさん/あり/ます/。
単語
(1) 私, (2)茨城, (3)県, (4)大学, (5)学生, (6)日立, (7)市, (8)工場
ベクトル表現
[文書1] (1,2,1,1,1,0,0,0)
[文書2] (1,1,1,0,0,1,1,0)
[文書3] (0,0,0,0,0,2,1,1)
38. ベクトル空間モデル
単語の重みを考慮してベクトルを作成する
重み
一般的な用語 文書の分野を推定できる単語
⇒ 軽くする ⇒重くする
TF*IDF法
39. 重み付け:TF*IDF法
文章中の特徴的な単語を抽出するためのアルゴリズム
TFとIDFの2つの指標で計算
TFIDF =TF*IDF
TF (Term Frequency) 単語の出現頻度
IDF (Inverse Document Frequency) 文書の逆出現頻度
一般語フィルタとして働く。
多くの文書に出現する語は重要度が下がる
文書総数
単語 iを含む文書数
40. 重み付け
よく行われる処理
■正規化
サイズの大きな文書が大きなベクトルとなることを回避。
特徴を表現するベクトルとする。
■ log( (N+1)/nj) に補正する
IDF が 0になることの回避
41. データの類似度
■単純な計算
ユークリッド距離から求める
■ 類似度を測る手法
・余弦尺度(cos)
ベクトル空間での方向の類似度を表す
長さが1に正規化されている場合、ユークリッド距離と等価
θ
・Jaccard係数
カテゴリカルなデータに対しても適用できる
43. 行列の演算
演算 演算子 例
行列積 %*% a %*% b
転置 t t(a)
次元 dim dim(a)
行列式 det det(a)
逆行列 solve solve(a)
固有値 eigen$values eigen(a)$values
固有ベクトル eigen$vectors eigen(a)$vectors
対角行列 diag diag(v)
44. 関数 apply
行列Xの行ごと・列ごとに
同じ操作を行う
apply(X, Margin, Function, ...)
X:データ
Margin: 行ごとの場合1、列ごとの場合2
Function: 統計関数や算出式
45. 他
はじめてでもわかる 統計解析・データマイニング R言語入門
http://d.hatena.ne.jp/hamadakoichi/20100220/p1
46. データ
iris(アヤメ)データ
よい性質を持ち よく使用される
Iris Sanguinea
花葉 花びら 種
48. 階層的手法:特徴
古典的で直感的にも自然な手法
最終的に一つのクラスタにまとまる
51. 階層的手法:手法とクラスタ間距離
クラスタリング手法 クラスタ間距離
群平均法 クラスタ間の全てのデータ組合せの距離の平均値
(Group Average method )
単連結法 クラスタ間の最小距離を与えるデータ対の距離
(Single Linkage Method )
完全連結法 クラスタの最大距離を与えるデータ対の距離
(Complete Linkage Method)
ウォード法 クラスタ内の平方和の増加分
(Ward Method)
重心法 クラスタの重心間の距離の自乗
(Centroid Method)
メディアン法 重心法と同じ。クラスタ併合時に、新たな重心を元の
(Median Method) 重心の中点にとる。
53. 階層的手法: Rによる解析
階層的クラスタリングの関数
Hierarchical Clustering
hclust(d, method=“complete”, member =NULL, ...)
d:距離行列
method: 階層的クラスタリング手法を指定
members: 通常は指定しない。
※テンドログラムの途中から
クラスタリングを行いたい場合に用いる
54. 階層的手法:手法とクラスタ間距離
クラスタリング手法 クラスタ間距離 method
群平均法 クラスタ間の全てのデータ組合せの距離 “average“
(Group Average method ) の平均値
単連結法 クラスタ間の最小距離を与えるデータ対の “single”
(Single Linkage Method ) 距離
完全連結法 クラスタの最大距離を与えるデータ対の距 “complete”
(Complete Linkage 離 (Default)
Method)
ウォード法 クラスタ内の平方和の増加分 “ward”
(Ward Method)
重心法 クラスタの重心間の距離の自乗 “centroid”
(Centroid Method)
メディアン法 重心法と同じ。クラスタ併合時に、新たな “median”
(Median Method) 重心を元の重心の中点にとる。
55. 階層的手法:Rプログラム例
以下に挙げるRソースコード・実行結果は
次のエントリに記載してあります
■R言語プログラミング:クラスター分析 - 階層的クラスタリング
http://d.hatena.ne.jp/hamadakoichi/20100324/p1
65. 概要
分割最適化手法
詳細は次回以降
クラスタリング手法 クラスタ間距離
k-means 使われることが多い、実用的な手法。
クラスタの重心を代表点に設定し、評価関
数を最小化するようなデータ形でデータを
クラスタに割り当てる
混合分布モデル 確率モデルによるクラスタリング。
データ発生のメカニズムが確率モデルでモ
デル化できるときの強力な手法
スペクトラルクラスタリング グラフ分割問題によるクラスタリング
次元縮約 特異値分解を用いる。高次元ベクトル間の
・LSI (Latent Sematic Indexing) 位置関係をできるだけ保存した形で、低次
元ベクトルに変換
・pLSI (Probabilistic LSI)
・NMF (Non-Nagatice Matrix Factorization)
67. 推薦文献リンク
Rで学ぶクラスタ解析
クラスター分析入門
―ファジィクラスタリングの理論と応用
Rによるデータサイエンス
~データ解析の基礎から最新手法まで ~
70. 感想・今後の期待 (1/2) 次回開催予定: 2010/04/17(土)
■講義を受け、自分が抱える行動テーゲティングの課題
に対するアプローチが見えてきました。
(行動ターゲティング広告エンジニア Yさん)
■理論を基礎から知ることができ分かりやすかった。
随時、質問と返答、議論を踏まえ進めていく、進行スピードも適切。
(検索エンジニア Fさん)
■皆で議論しながら進める形式がよかった。
次回は時間枠をさらに長時間で設定するとよい
(マーケティングリサーチャー Bさん)
■理論ベースから復習する機会がよかった
(医療データ解析コンサルタント Iさん)
■理論よりの話を基礎から聞け、よかった。
応用例をもっと聞けるとさらによいと思う
(ウェブエンジニア Oさん)
71. 感想・今後の期待 (2/2) 次回開催予定: 2010/04/17(土)
■面白かった。手法をどう使うか実例を知りたい。(3Dエンジニア Mさん)
■分かりやすかった。実用での話題も聞きたい(コンサルタント Iさん)
■応用例があるとよりイメージがつかみやすい(コンサルタントWさん)
■課題と解決方法の実事例が知りたい。
理解すべき数式と、すべきでない数式が分かるとよりよい。
実コードを何パターンか動作させて違いを知りたい。平日夜2時間がよい。
(レコメンデーションエンジンエンジニア Dさん)
■体系的に聞けたのがよかった。応用例があるとさらによい
(3次元エンジニア Oさん)
■データ、分析、効果の実施例があるとよりよい。
使うケースをより知れるとよい。
グループ化が必要な実務場面を詳しく知りたい。
(コンサルタント Nさん)
73. 勉強会情報
勉強会内容まとめ
■「第2回データマイニング+WEB 勉強会@東京 を開催しました
- はじめてでもわかる R言語によるクラスター分析-」
本勉強会のまとめエントリです。
http://d.hatena.ne.jp/hamadakoichi/20100320/p1
■「R言語プログラミング: クラスター分析 - 階層的クラスタリング」
本資料で紹介している 「Rでのクラスター分析」に関する
ソースコードや実行結果を記載してあります。
http://d.hatena.ne.jp/hamadakoichi/20100324/p1
Google Group
■データマイニング+WEB 勉強会@東京 (Tokyo.Webmining)
http://groups.google.com/group/webmining-tokyo
74. 目的: データマイニング+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
遺伝的 熱力学的
シミュレーテドアニーリング
力学モデルによる最適化
タブーサーチ グラフ
…
最適解探索
アルゴリズム