Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データマイニングと機械学習-クラスタリング1

 データマイニングと機械学習-クラスタリング1

1. K-meansクラスタリング
2. 階層的クラスタリング

Y. Yamamoto

May 08, 2023
Tweet

More Decks by Y. Yamamoto

Other Decks in Technology

Transcript

  1. 講義のトピック 機械学習 教師あり学習 教師なし学習 強化学習 ・クラスタリング ・データ圧縮 ・分類 ・回帰 …

    … 4 行動情報学科に 特有の応用手法 時系列データ分析 時間経過とともに変化する データに対する分析⼿法
  2. クラスタリングによる分析事例 7 サンフランシスコで撮影された 写真の位置情報 on Flickr 画像出展: https://www.buzzfeed.com/ L. Kennedy

    et al.: ”How flickr helps us make sense of the world: context and content in community-contributed media collections. In Proceedings of the 15th ACM international conference on Multimedia (MM ‘07)”, 631–640, 2007. 密度ベースの クラスタリング 撮影位置が密集している 場所をクラスタとして抽出 撮影位置密集場所に タグ付けされた情報を可視化
  3. K-meansクラスタリングの概要 A B D C E F G H I

    A B D C E F G H I 入力 ・ベクトルの集合(表データ) ・クラスタ数 出力 各ベクトルが所属するクラスタ 利用するケース データを決まった数のグループに 分けたいとき 13 N個のグループに分割 クラスタ数が決め打ちなのでトップダウンクラスタリングと呼ばれる
  4. 実数値ベクトルの距離(2/4) • • Y X • • Y X ユークリッド距離

    ・直線的な距離 ・別称 L2ノルム マンハッタン距離 31 ・各座標の差の総和 ・別称 L1ノルム ! ", $ = & !"# $ '! − )! % ! ", $ = & ! $ |'! − )!| 経度 緯度 経度 緯度
  5. 実数値ベクトルの距離(4/4) • • Y X コサイン距離(類似度) ・ベクトルの⾓度 ・傾向の類似性を評価 33 !

    ", $ = cos ", $ = !"# |%||#| = '#)# + ⋯ + '$)$ '# % + ⋯ + '$ % )# % + ⋯ + )$ % 数学 英語
  6. K-meansアルゴリズムの定式化(1/2) 37 入力 データ集合 ! = {$ - , $

    . , … , $ / } クラスタ数 ( 出力 クラスタ割り当て (各データに割り当てるクラスタ番号で1〜Kのいずれかを取る) " = {$&, $', … , $(}
  7. K-meansアルゴリズムの定式化(2/2) 38 アルゴリズム 1. 集合Xの全要素にランダムにクラスタ番号を割り当てる. 2. 各クラスタに割り当てられたデータのベクトルの平均 を計算し,クラスタの平均(重⼼)ベクトルを得る. 3. 平均ベクトルの集合を0

    = {2#, 2%, … , 2&}とする.Xの 各要素と最も近いクラスタ平均を調べ,クラスタ番号 を割り当てる.つまり,以下を得る. c) = argmin &*+*, /) − 1+ 4. クラスタ割り当てが変更されなくなるまで,ステップ1~3 を繰り返す. データxi の クラスタ番号 ユークリッド距離 (コサイン距離を使う時も)
  8. K-meansがやりたいこと K-meansの収束性(1/2) 40 データ集合 ! = {$! , $" ,

    … , $# } クラスタ数 ( クラスタCk の代表ベクトル )$ データx i がk番⽬のクラスタに属するか wi,k (0 or 1) 割り当てられたクラスタの代表ベクトルとの 差の総和を最小化するような mk を見つけたい SS3 = 4 )-& ( 4 +-& , 5),+ /) − 1+ '
  9. K-meansの収束性(2/2) 41 ))* = + 56- / + 76- 8

    , 5,7 $ 5 − . 7 . /))* /. 7 = 2 + 56- / , 5,7 ($ 5 − . 7 ) = 0 ⟹ . 7 = 1 |7 7 | + "!∈:" $ 5 (定番テク)最⼩化したい時は微分してゼロ ! !" % #= ! !" %$% = 2% これこそ重⼼ベクトル!! mk に重⼼ベクトルをセットし続ければSSEは局所最⼩値になる ⟹ + "!∈:" , 5,7 $ 5 − . 7 = 0 Ck に割り当てられた データのみ着⽬
  10. 階層的クラスタリングの概要 入力 ベクトルの集合(表データ) 出力 各ベクトルが所属するクラスタ & その階層図(デンドログラム) 利用するケース A B

    D C E F G H I A B D C E F G H I 類似データを徐々にマージ ・クラスタ数を柔軟に決めたいとき ・クラスタが分かれていく様を 確認したいとき 43 徐々にクラスタを⼤きくするのでボトムアップクラスタリングと呼ばれる
  11. 階層的クラスタリングの利⽤例2 ヒト腫瘍DNAマイクロアレイデータから性質が 類似する標本(例: 肺がん)をクラスタリング 45 6 1. Introduction SID42354 SID31984

    SID301902 SIDW128368 SID375990 SID360097 SIDW325120 ESTsChr.10 SIDW365099 SID377133 SID381508 SIDW308182 SID380265 SIDW321925 ESTsChr.15 SIDW362471 SIDW417270 SIDW298052 SID381079 SIDW428642 TUPLE1TUP1 ERLUMEN SIDW416621 SID43609 ESTs SID52979 SIDW357197 SIDW366311 ESTs SMALLNUC SIDW486740 ESTs SID297905 SID485148 SID284853 ESTsChr.15 SID200394 SIDW322806 ESTsChr.2 SIDW257915 SID46536 SIDW488221 ESTsChr.5 SID280066 SIDW376394 ESTsChr.15 SIDW321854 WASWiskott HYPOTHETICAL SIDW376776 SIDW205716 SID239012 SIDW203464 HLACLASSI SIDW510534 SIDW279664 SIDW201620 SID297117 SID377419 SID114241 ESTsCh31 SIDW376928 SIDW310141 SIDW298203 PTPRC SID289414 SID127504 ESTsChr.3 SID305167 SID488017 SIDW296310 ESTsChr.6 SID47116 MITOCHONDRIAL60 Chr SIDW376586 Homosapiens SIDW487261 SIDW470459 SID167117 SIDW31489 SID375812 DNAPOLYMER SID377451 ESTsChr.1 MYBPROTO SID471915 ESTs SIDW469884 HumanmRNA SIDW377402 ESTs SID207172 RASGTPASE SID325394 H.sapiensmRNA GNAL SID73161 SIDW380102 SIDW299104 BREAST RENAL MELANOMA MELANOMA MCF7D-repro COLON COLON K562B-repro COLON NSCLC LEUKEMIA RENAL MELANOMA BREAST CNS CNS RENAL MCF7A-repro NSCLC K562A-repro COLON CNS NSCLC NSCLC LEUKEMIA CNS OVARIAN BREAST LEUKEMIA MELANOMA MELANOMA OVARIAN OVARIAN NSCLC RENAL BREAST MELANOMA OVARIAN OVARIAN NSCLC RENAL BREAST MELANOMA LEUKEMIA COLON BREAST LEUKEMIA COLON CNS MELANOMA NSCLC PROSTATE NSCLC RENAL RENAL NSCLC RENAL LEUKEMIA OVARIAN PROSTATE COLON BREAST RENAL UNKNOWN FIGURE 1.3. DNA microarray data: expression matrix of 6830 genes (rows) and 64 samples (columns), for the human tumor data. Only a random sample ある標本(⾏)に対する遺伝⼦(列)の発現量の 程度.発現量は−6から6の範囲の値をとる. 図中では⾊と値(発⾔量)が対応 522 14. Unsupervised Learning CNS CNS CNS RENAL BREAST CNS CNS BREAST NSCLC NSCLC RENAL RENAL RENAL RENAL RENAL RENAL RENAL BREAST NSCLC RENAL UNKNOWN OVARIAN MELANOMA PROSTATE OVARIAN OVARIAN OVARIAN OVARIAN OVARIAN PROSTATE NSCLC NSCLC NSCLC LEUKEMIA K562B-repro K562A-repro LEUKEMIA LEUKEMIA LEUKEMIA LEUKEMIA LEUKEMIA COLON COLON COLON COLON COLON COLON COLON MCF7A-repro BREAST MCF7D-repro BREAST NSCLC NSCLC NSCLC MELANOMA BREAST BREAST MELANOMA MELANOMA MELANOMA MELANOMA MELANOMA MELANOMA FIGURE 14.12. Dendrogram from agglomerative hierarchical clustering with average linkage to the human tumor microarray data. chical structure produced by the algorithm. Hierarchical methods impose hierarchical structure whether or not such structure actually exists in the data. The extent to which the hierarchical structure produced by a dendro- 画像出典: T. Hastie et al. (2009): “The Elements of Statistical Learning”, Springer.
  12. 階層的クラスタリングのアルゴリズム(3/14) G B C D A H E I F

    すべての点間の距離を計算し, 最も近い点同士をクラスタとして併合 2. 49
  13. 階層的クラスタリングのアルゴリズム(4/14) G B C D A H E I F

    最も近い点 すべての点間の距離を計算し, 最も近い点同士をクラスタとして併合 2. 50
  14. 階層的クラスタリングのアルゴリズム(5/14) G B C D A H E I F

    最新のクラスタ情報にもとづき, すべてのクラスタ間の距離を計算し, 最も近いクラスタ同士をクラスタとして併合 3. 51
  15. クラスタ間の距離の定義(1/7) 最短距離法 (single linkage; SL) B A C D E

    クラスタの要素間の最短距離 63 Cx Cy !'((<), <*) = min +!∈-! +"∈-" A) − A* 最長距離法 (complete linkage; CL) B A C D E クラスタの要素間の最⻑距離 Cx Cy !-((<), <*) = ma' +!∈-! +"∈-" A) − A*
  16. クラスタ間の距離の定義(2/7) 最短距離法 (single linkage; SL) B A C D E

    クラスタの要素間の最短距離 64 Cx Cy 最長距離法 (complete linkage; CL) B A C D E クラスタの要素間の最⻑距離 Cx Cy ◦ 計算コストが⼩さい ◦ クラスタサイズが揃いやすい × クラスタ同⼠が離れやすい ◦ 計算コストが⼩さい × クラスタが鎖状になりやすい × 外れ値に弱い
  17. クラスタ間の距離の定義(3/7) 重心法(セントロイド法) (centroid method; CM) B A C D E

    クラスタの重⼼間の距離 × × 65 Cx Cy !-.(<), <*) = 1 |<)| & )∈-! A) − 1 |<*| & *∈-" A)
  18. クラスタ間の距離の定義(4/7) 重心法(セントロイド法) (centroid method; CM) B A C D E

    クラスタの重⼼間の距離 × 計算コストが⼤きい × 平均化により要素の散らばり情報が失われる × × 66 Cx Cy
  19. クラスタ間の距離の定義(6/7) 群平均法 (group average; GA) × 計算コストが⼤きい ◦ 外れ値に強い ◦

    最短距離法と最⻑距離法の折衷 68 クラスタ内の全要素間の距離の平均 B A C D E Cx Cy
  20. クラスタ間の距離の定義(7/7) B A C D E B A F G

    I H ウォード法 (ward method) • 2つのクラスタを併合したと仮定したときの, クラスタ内の要素の散らばり具合 < • 計算コストは⾼いが,分類感度がよい × × 69
  21. 今後の予定 71 回 実施⽇ トピック 1 04/12 ガイダンス 2 04/19

    機械学習の概要 & はじめての機械学習 3 04/26 演習:決定⽊ 4 05/10 クラスタリング1:k-means & 階層的クラスタリング 5 05/17 クラスタリング2:密度ベースクラスタリング 6 05/24 分類1:K近傍法 & 教師あり機械学習のお作法 7 05/31 分類2:サポートベクターマシン 8 06/07 分類3:ニューラルネットワーク⼊⾨
  22. 数学記号(集合) 72 集合 (太字でない⼤⽂字アルファベット) & 集合の要素 (太字でない⼩⽂字アルファベット) ' 6 =

    7&, 7', … , 7( = 8 8 ∈ : ∧ < 8 > 0} 外延表現:要素を並べる書き⽅ 内包表現:要素の条件を指定する書き⽅ (xが実数でかつ f (x)がゼロより⼤きくなるようなxの集合) 集合の書き⽅ 集合の⼤きさ(要素数) |&|
  23. 例 73 ? = 0, 1, 2, … B =

    … , −2, −1, 0, 1, 2, … C = 2n + 1 | n ∈ ? (⾃然数) (整数) (奇数) F = りんご, みかん, なし |F| = 3
  24. 数学記号(ベクトル) 74 ) ベクトル (太字の⼩⽂字) 断りがない限り,縦ベクトル $ . = 8

    - . + ⋯ + 8 D . ベクトルの要素の書き⽅ 実数を成分とする m次元ベクトル $ = 8 - ⋮ 8 D ∈ =D = 8 - , … , 8 D E ベクトルの⼤きさ ! と書くことも $ > ? = $E? = ∑ 8 7 A 7 ベクトルの内積 !, # と書くことも
  25. 数学記号(⾏列) 75 ⾏列 (太字の⼤⽂字) H = 8&& ⋯ 8(& ⋮

    8/& ⋱ ⋯ ⋮ 8/( ∈ :/×( $の各列(縦ベクトル) を使った書き⽅ 実数を成分とする m⾏ n 列の⾏列 = 8)1 /×( こんな書き⽅も = /&, … , /( ! ⾏列の 要素の書き⽅
  26. 機械学習でよく⾒かける数学的処理(1/3) 76 + 56- / 8 5 = 8 -

    + 8 . + ⋯ + 8 / B 56- / 8 5 = 8 - 8 . … 8 / L L8+ <(/) 数列の和 数列の積 偏微分 F " = G#'# + G%'% + ⋯ + G$'$ 例: H H'$ F " = G$
  27. 機械学習でよく⾒かける数学的処理 (2/3) 77 argmax !∈# /(1) argmin $∈# /(1) max

    $∈# /(1) min $∈# /(1) 関数を最⼤化 関数を最⼩化 実数の範囲でパラメータxを 動かし関数f(x)を最⼤化・最⼩化 関数を最⼤化する パラメータ 関数を最⼩化する パラメータ 関数を最適化する 実数を⾒つける
  28. 機械学習でよく⾒かける数学的処理 (3/3) 78 sign 1 = 6 1: 1 >

    0 0: 1 = 0 −1: 1 < 0 符号関数 値の符号に応じて ・正なら1 ・負なら-1 ・ゼロなら0 を返す関数と覚える 画像出典: https://ja.wikipedia.org/wiki/符号関数 (sgn $ と書くことも)
  29. 機械学習でよく出くわす瞬時に理解すべき数式 79 )!" # = )$ !" )* # =

    *$)$ + % ,% -% = .$" Matrix Cookbook: http://www2.imm.dtu.dk/pubdb/edoc/imm3274.pdf / /" " & = / /" "$" = 2" / /" 1" = 1$ / /" .$" = . / /" " − 3 & = 2(. − 3) / /" )" − 6 & = 2)$()" − 6) ) + * # = )$ + *$
  30. ⾏列サイズの⾒積もり 80 ⾏列A はm⾏ k列(m×k),⾏列B はk⾏ n列(k×n), ⾏列 Wはm⾏ m列(m×m),ベクトルxは

    m⾏ 1列(m×1) とする.このとき以下の演算結果のサイズは? Q1. =%) Q2. )%>) Q3. )%) スカラー スカラー (k×1)の⾏列(k次元ベクトル) (m×k)の⾏列と(k×n)の⾏列の積をとると, (m×n)の⾏列ができあがると覚えておけばよい