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
k-meansクラスタリングの仕組み
Search
K_DM
December 30, 2021
Education
0
190
k-meansクラスタリングの仕組み
K_DM
December 30, 2021
Tweet
Share
More Decks by K_DM
See All by K_DM
主成分分析(PCA)の仕組み
k_study
0
150
X-meansの仕組み
k_study
0
1.3k
勾配ブースティングの仕組み
k_study
0
60
決定木を使った回帰の仕組み
k_study
0
190
アンサンブル学習① ランダムフォレストの仕組み
k_study
0
68
決定木に含まれるパラメタによる事前剪定と事後剪定
k_study
0
510
線形回帰② 正則化と過学習
k_study
0
410
外れ値とHuber(フーバー)損失
k_study
0
890
木構造1~決定木の仕組み(分類)
k_study
0
120
Other Decks in Education
See All in Education
Comezando coas redes
irocho
0
410
Sanapilvet opetuksessa
matleenalaakso
0
31k
LinkedIn
matleenalaakso
0
3.4k
TP5_-_UV.pdf
bernhardsvt
0
120
Unraveling JavaScript Prototypes
debug_mode
0
130
Logistique et supply chain : application au e-commerce
martine
0
110
JavaScript - Lecture 6 - Web Technologies (1019888BNR)
signer
PRO
0
2.6k
<学びの作品化>を促す 学習環境デザインの検討―表現方法の多様さが保障された授業に着目して― /jaet2024
kiriem
0
220
Use Cases and Course Review - Lecture 8 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
820
HCI Research Methods - Lecture 7 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
790
(2024) Couper un gâteau... sans connaître le nombre de convives
mansuy
2
170
20241002_Copilotって何?+Power_AutomateのCopilot
ponponmikankan
1
200
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Adopting Sorbet at Scale
ufuk
74
9.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
330
Typedesign – Prime Four
hannesfritz
40
2.5k
Docker and Python
trallard
43
3.2k
A better future with KSS
kneath
238
17k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
The Cost Of JavaScript in 2023
addyosmani
46
7.1k
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.