Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Constrained K-means Clustering (クラスタサイズの制限をしたK-...
Search
NearMeの技術発表資料です
PRO
July 12, 2024
Programming
470
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Constrained K-means Clustering (クラスタサイズの制限をしたK-means法) を調べてみた
NearMeの技術発表資料です
PRO
July 12, 2024
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
PosthogのA/Bテスト機能の紹介
nearme_tech
PRO
1
21
AIフレンドリーなプロダクトに向けて
nearme_tech
PRO
1
50
初めてのLean言語
nearme_tech
PRO
0
76
Apache Airflow Workflow orchestration without turning cron into spaghetti
nearme_tech
PRO
1
21
実務で役立つ幾何学 ボロノイ図の基礎から グラフ・ネットワーク応用まで
nearme_tech
PRO
1
59
SQL/ID抽出タスクから考える 実践的なハルシネーション対策
nearme_tech
PRO
1
67
OpenCode & Local LLM
nearme_tech
PRO
0
200
OpenCode Introduction
nearme_tech
PRO
0
59
【Browser Automation × AI】 Stagehandを試してみよう
nearme_tech
PRO
0
160
Other Decks in Programming
See All in Programming
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
えっ!!コードを読まずに開発を!?
hananouchi
0
230
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
120
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
210
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
170
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
7
11k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
180
共通化で考えるべきは、実装より公開する型だった
codeegg
0
280
Android CLI
fornewid
0
150
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
520
数百円から始めるRuby電子工作
tarosay
0
100
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.3k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
First, design no harm
axbom
PRO
2
1.2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
810
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
410
Transcript
0 Constrained K-means Clustering (クラスタサイズの制限をしたK-means法) を調べてみた 2024-07-12 第98回NearMe技術勉強会 Mio Takakuwa
1 背景 クラスタサイズ(1クラスターの内部の数)に 制限を加えたクラスタリングを行いたかった ⇨ “Constrained K-means Clustering” というものを見つけたので使ってみた&中身を調べてみた ※“Constrained
K-means Clustering”と検索するとたくさん出てくるが、 今回はクラスタサイズの制限ができるものを扱った 論文: https://www.researchgate.net/publication/2458036_Constrained_K-Means_Clustering (※この論文は要素がないクラスタを作らない工夫として、最小値の制限をしているが、 最大も同じように制限することでクラスタサイズの制限を行う)
2 K-means Clustering クラスタの平均的な位置を求めて、データをk個のクラスタに分類する手法 【アルゴリズム】 1. クラスタの中心を選ぶ 2. データをそれぞれ最も近い クラスタに割り当てる
3. クラスタ中心を更新する クラスタの中心が動かなくなるまで 繰り返す
3 K-means Clustering
4 K-means Clustering それぞれに 対応
5 K-means Clustering クラスタサイズが0のクラスタが できてしまう 【K-means Clusteringの問題点】
6 Constrained K-means Clustering (最小値のみの制約) それぞれに 対応
7 Constrained K-means Clustering (最小値のみの制約) この式を解きたい! ⇨最小費用フロー問題として解く
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かかる…
9 Constrained K-means Clustering ・・・ データ クラスタ中心 ・・・ 1 1
1 1 (最小値のみの制約) 供給(−需要) 容量 コスト
10 Constrained K-means Clustering ・・・ データ クラスタ中心 ・・・ 1 1
1 1 人工需要 ノード データの 供給 クラスタ中心の 需要 (最小値のみの制約)
11 Constrained K-means Clustering ・・・ データ クラスタ中心 ・・・ 1 1
1 1 人工需要 ノード データの 供給 クラスタ中心の 需要 (最小値のみの制約) 供給(−需要) 容量 コスト
12 Constrained K-means Clustering ・・・ データ クラスタ中心 ・・・ 1 1
1 1 人工需要 ノード データの 供給 クラスタ中心の 需要 (最小値・最大値の制約) 供給(−需要) 容量 コスト
13 Constrained K-means Clustering https://colab.research.google.com/drive/1ytuPK2cS5I8RIv a5HQ7b9JzCYieNyEhF?usp=drive_link 【アルゴリズム】 1. クラスタの中心を選ぶ 2.
データをそれぞれ最も近い クラスタに割り当てる 3. クラスタ中心を更新 最小費用フロー問題に落としたい ⇨ノード、エッジ、コスト、供給量、容量の定義が必要
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
15 Thank you