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

機械学習 - K-means & 階層的クラスタリング

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Y. Yamamoto Y. Yamamoto PRO
April 27, 2026

機械学習 - K-means & 階層的クラスタリング

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

Avatar for Y. Yamamoto

Y. Yamamoto PRO

April 27, 2026

More Decks by Y. Yamamoto

Other Decks in Science

Transcript

  1. クラスタリングによる分析事例 5 サンフランシスコで撮影された 写真の位置情報 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. 密度ベースの クラスタリング 撮影位置が密集している 場所をクラスタとして抽出 撮影位置密集場所に タグ付けされた情報を可視化
  2. K-meansクラスタリングの概要 A B D C E F G H I

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

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

    𝒙, 𝒚 = cos 𝒙, 𝒚 = 𝒙"𝒚 |%||𝒚| = 𝑥#𝑦# + ⋯ + 𝑥$𝑦$ 𝑥# % + ⋯ + 𝑥$ % 𝑦# % + ⋯ + 𝑦$ % 数学 英語
  5. K-meansアルゴリズムの定式化(1/2) 35 入力 データ集合 𝑋 = {𝒙- , 𝒙. ,

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

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

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

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

    D C E F G H I A B D C E F G H I 類似データを徐々にマージ ・クラスタ数を柔軟に決めたいとき ・クラスタが分かれていく様を 確認したいとき 41 徐々にクラスタを⼤きくするのでボトムアップクラスタリングと呼ばれる
  10. 階層的クラスタリングのアルゴリズム(3/14) G B C D A H E I F

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

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

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

    クラスタの要素間の最短距離 61 Cx Cy 𝑑+,(𝐶-, 𝐶.) = min 𝒗!∈1! 𝒗"∈1" 𝒗- − 𝒗. 最長距離法 (complete linkage; CL) B A C D E クラスタの要素間の最⻑距離 Cx Cy 𝑑1,(𝐶-, 𝐶.) = ma𝑥 𝒗!∈1! 𝒗"∈1" 𝒗- − 𝒗.
  14. クラスタ間の距離の定義(2/7) 最短距離法 (single linkage; SL) B A C D E

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

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

    クラスタの重⼼間の距離 × 計算コストが⼤きい × 平均化により要素の散らばり情報が失われる × × 64 Cx Cy
  17. クラスタ間の距離の定義(5/7) クラスタ内の全要素間の距離の平均 65 𝑑34(𝐶-, 𝐶.) = 1 𝐶- |𝐶.| &

    𝒗!∈1! & 𝒗"∈1" 𝒗- − 𝒗. 群平均法 (group average; GA) B A C D E Cx Cy
  18. クラスタ間の距離の定義(6/7) 群平均法 (group average; GA) × 計算コストが⼤きい ◦ 外れ値に強い ◦

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

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

    pandas⼊⾨ 3 04/27 決定⽊からはじめる機械学習 4 05/11 クラスタリング1:k-means & 階層的クラスタリング 5 05/18 クラスタリング2:密度ベースクラスタリング 6 05/25 分類1:K近傍法 & 教師あり機械学習のお作法 7 06/01 分類2:サポートベクターマシン 8 06/08 分類3:ニューラルネットワーク⼊⾨