Slide 1

Slide 1 text

0 Constrained K-means Clustering (クラスタサイズの制限をしたK-means法) を調べてみた 2024-07-12 第98回NearMe技術勉強会 Mio Takakuwa

Slide 2

Slide 2 text

1 背景 クラスタサイズ(1クラスターの内部の数)に 制限を加えたクラスタリングを行いたかった ⇨ “Constrained K-means Clustering”   というものを見つけたので使ってみた&中身を調べてみた ※“Constrained K-means Clustering”と検索するとたくさん出てくるが、   今回はクラスタサイズの制限ができるものを扱った 論文: https://www.researchgate.net/publication/2458036_Constrained_K-Means_Clustering (※この論文は要素がないクラスタを作らない工夫として、最小値の制限をしているが、 最大も同じように制限することでクラスタサイズの制限を行う)

Slide 3

Slide 3 text

2 K-means Clustering クラスタの平均的な位置を求めて、データをk個のクラスタに分類する手法 【アルゴリズム】 1. クラスタの中心を選ぶ 2. データをそれぞれ最も近い クラスタに割り当てる 3. クラスタ中心を更新する クラスタの中心が動かなくなるまで 繰り返す

Slide 4

Slide 4 text

3 K-means Clustering

Slide 5

Slide 5 text

4 K-means Clustering それぞれに 対応

Slide 6

Slide 6 text

5 K-means Clustering クラスタサイズが0のクラスタが できてしまう 【K-means Clusteringの問題点】

Slide 7

Slide 7 text

6 Constrained K-means Clustering (最小値のみの制約) それぞれに 対応

Slide 8

Slide 8 text

7 Constrained K-means Clustering (最小値のみの制約) この式を解きたい!  ⇨最小費用フロー問題として解く

Slide 9

Slide 9 text

8 最小費用フロー問題 (Minimum Cost Flow Problem) A B D C 全体のコストを最小化しつつ、ノード Aからノード Dに10個届けたい 容量:5 コスト: 2 容量:8 コスト: 4 容量:5 コスト: 1 容量:10 コスト: 3 供給:10 需要:10 しかし、 A⇨Bは5個送れるが、コストは2かかる A⇨Cは8個送れるが、コストは4かかる…

Slide 10

Slide 10 text

9 Constrained K-means Clustering ・・・ データ クラスタ中心 ・・・ 1 1 1 1 (最小値のみの制約) 供給(−需要) 容量 コスト

Slide 11

Slide 11 text

10 Constrained K-means Clustering ・・・ データ クラスタ中心 ・・・ 1 1 1 1 人工需要 ノード データの 供給 クラスタ中心の 需要 (最小値のみの制約)

Slide 12

Slide 12 text

11 Constrained K-means Clustering ・・・ データ クラスタ中心 ・・・ 1 1 1 1 人工需要 ノード データの 供給 クラスタ中心の 需要 (最小値のみの制約) 供給(−需要) 容量 コスト

Slide 13

Slide 13 text

12 Constrained K-means Clustering ・・・ データ クラスタ中心 ・・・ 1 1 1 1 人工需要 ノード データの 供給 クラスタ中心の 需要 (最小値・最大値の制約) 供給(−需要) 容量 コスト

Slide 14

Slide 14 text

13 Constrained K-means Clustering https://colab.research.google.com/drive/1ytuPK2cS5I8RIv a5HQ7b9JzCYieNyEhF?usp=drive_link 【アルゴリズム】 1. クラスタの中心を選ぶ 2. データをそれぞれ最も近い クラスタに割り当てる 3. クラスタ中心を更新 最小費用フロー問題に落としたい ⇨ノード、エッジ、コスト、供給量、容量の定義が必要

Slide 15

Slide 15 text

14 参考文献 P. S. Bradley K. P. Bennett A. Demiriz Microsoft Research https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-20 00-65.pdf https://qiita.com/kuga-qiita/items/5588d5469f3268b7fd39 https://fmarthoz.medium.com/k-means-algorithm-in-4-parts-6f44dc21d119 https://github.com/joshlk/k-means-constrained

Slide 16

Slide 16 text

15 Thank you