Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
k-meansクラスタリングの仕組み
Search
K_DM
December 30, 2021
Education
0
250
k-meansクラスタリングの仕組み
K_DM
December 30, 2021
Tweet
Share
More Decks by K_DM
See All by K_DM
主成分分析(PCA)の仕組み
k_study
0
200
X-meansの仕組み
k_study
0
2k
勾配ブースティングの仕組み
k_study
0
100
決定木を使った回帰の仕組み
k_study
0
220
アンサンブル学習① ランダムフォレストの仕組み
k_study
0
97
決定木に含まれるパラメタによる事前剪定と事後剪定
k_study
0
680
線形回帰② 正則化と過学習
k_study
0
540
外れ値とHuber(フーバー)損失
k_study
0
1.1k
木構造1~決定木の仕組み(分類)
k_study
0
170
Other Decks in Education
See All in Education
Semantic Web and Web 3.0 - Lecture 9 - Web Technologies (1019888BNR)
signer
PRO
2
3.1k
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
17k
Requirements Analysis and Prototyping - Lecture 3 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.4k
Adobe Express
matleenalaakso
1
8.1k
Node-REDで広がるプログラミング教育の可能性
ueponx
1
220
AIを使って最新研究 について調べて発表しよ う!
mickey_kubo
4
180
2025年度伊藤正彦ゼミ紹介
imash
0
150
あなたの言葉に力を与える、演繹的なアプローチ
logica0419
1
250
Sanapilvet opetuksessa
matleenalaakso
0
34k
俺と地方勉強会 - KomeKaigi・地方勉強会への期待 -
pharaohkj
1
1.5k
相互コミュニケーションの難しさ
masakiokuda
0
320
国際卓越研究大学計画|Science Tokyo(東京科学大学)
sciencetokyo
PRO
0
41k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
92
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Being A Developer After 40
akosma
91
590k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
750
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
1
870
Deep Space Network (abreviated)
tonyrice
0
21
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Practical Orchestrator
shlominoach
190
11k
Become a Pro
speakerdeck
PRO
31
5.7k
Transcript
クラスタリング1 クラスタリング1 k-means k-means 作成者:K (リンク)
『クラスタリング』で説明する項目 k-means k-means++ X-means Part1 Part2
今回の内容 •クラスタリングとは •k-means •実験 •k-means++ •まとめ クラスタリングとk-meansアルゴリズムについて説明します
クラスタリング データを教師データ無しでいくつかのグループにまとめ上げる方法 データ は与えられている が、正解データ は無い =教師なし学習 X y
アルゴリズム データを用意します 2つのグループに分けること ができそうなので、 と 設定します k = 2
アルゴリズム 各クラスタの初期値を設定します 2つの初期値を作成します (作成の仕方は色々考えられますが、ここ ではデータのある空間の中に▪と▪を作 成してそれを初期値としました) ࢀߟจݙɿk-means clustering ͷॳظͷܾΊํΛݩʹͯ͠આ໌͍ͯ͠·͢
アルゴリズム クラスタの初期値に近い点を求め、それらをまとめます それぞれの初期値と距離が近 い点を赤と青で色付けします
アルゴリズム クラスタごとの平均値(セントロイド)を求めます 色付けした点の平均値を求めて、 それをクラスタを代表する点(セ ントロイド, centroid)とします
アルゴリズム セントロイドから近い点を再び求め、クラスタを割り当てます セントロイドから距離が近い点を 色付けします
アルゴリズム 再びセントロイドを再計算し、また同じことを繰り返します 色付けした点の平均値を求めて、 それをクラスタを代表する点(セ ントロイド, centroid)とします
アルゴリズム セントロイドが移動しなくなったら、計算を終了します! この「セントロイドを求める↔色 付けし直す」の作業を繰り返し、 セントロイドが移動量が十分小さ くなったら計算を終了します
実験!
K-meansクラスタリング ←のデータにk=2としてk-means を適用すると、綺麗にデータがク ラスタリングされる 色=クラスタ
クラスタの境界が明確でない場合 kの指定が適切でないと、一つの クラスタを複数の部分に分けてし まう場合がある
clusters(k)パラメタの影響 kの指定が適切でないと、一つの クラスタを複数の部分に分けてし まう場合がある
k-meansの問題 仮に初期値として隣接する点を選んでしまうと 収束するまでに時間がかかる可能性がある 初期値次第で計算終了に時間がかかる+結果が変わるかもしれない ▼収束後の結果
k-means++<> はじめに、ランダムに点を一つ選ぶ 次の点は、はじめに選んだ点との距離 に基づいた確率分布に基づいて選ぶ (遠いほど選ばれやすくなる) ※scikit-learnはデフォルトではk-means++が実行されます 参考文献:sklearn.cluster.KMeans 『k-meansの初期値はなるべく離れた点を選んだほうが良い』というアイデアを利用 [1] Arthur,
David, and Sergei Vassilvitskii. k-means++: The advantages of careful seeding. Stanford, 2006.
randomとk-mans++の比較 •K-means++はすべて同じような クラスタリングをすることができ ている •K-mansは初期値次第でクラスタ の境界が変化していることが確 認できる
まとめ K-meanアルゴリズムについて説明しました •クラスタリングとは、データを教師データ無しでいくつかのグループにまとめ上げる 方法 •K-meansでは、セントロイドの計算とクラスタの割り当てを繰り返すことでクラスタ のまとまりを求める •K-meansは初期値の決め方によって結果が変わったり収束するまでに時間がかかる 可能性があり、k-means++では改良を加えてこの問題を軽減している •パラメタkの設定次第では不自然な形のクラスタができることもある
参考文献 •https://ja.wikipedia.org/wiki/K%E5%B9%B3%E5%9D%87%E6%B3%95 •sklearn.cluster.KMeans •Arthur, David, and Sergei Vassilvitskii. k-means++: The
advantages of careful seeding. Stanford, 2006.