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
140
k-meansクラスタリングの仕組み
K_DM
December 30, 2021
Tweet
Share
More Decks by K_DM
See All by K_DM
主成分分析(PCA)の仕組み
k_study
0
120
X-meansの仕組み
k_study
0
860
勾配ブースティングの仕組み
k_study
0
48
決定木を使った回帰の仕組み
k_study
0
170
アンサンブル学習① ランダムフォレストの仕組み
k_study
0
48
決定木に含まれるパラメタによる事前剪定と事後剪定
k_study
0
340
線形回帰② 正則化と過学習
k_study
0
250
外れ値とHuber(フーバー)損失
k_study
0
640
木構造1~決定木の仕組み(分類)
k_study
0
94
Other Decks in Education
See All in Education
墓までもっていくはずだった話
takuro_nakajima
PRO
0
1.5k
20240319AJG
tosseto
0
310
2024年度春学期 統計学 講義の進め方と成績評価について (2024. 4. 11)
akiraasano
PRO
0
110
2023年度桜井政成ゼミ資料_論文の探し方・読み方
masanari
6
2.3k
@ngrx/signals
yannickbaron
0
180
H5P-työkalut
matleenalaakso
3
32k
前期教育実習事前指導0221
naradai
0
130
パフォーマンス・チューニング入門
oracle4engineer
PRO
2
660
Gesture-based Interaction - Lecture 8 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.2k
2024年度春学期 統計学 第3回 クロス集計と感度・特異度/データの可視化 (2024. 4. 25)
akiraasano
PRO
0
100
千葉県印西市立・原山小学校における新たな学び「情報探究の時間」実践報告』
codeforeveryone
1
730
合理的配慮を知るワークショップ/Understanding Reasonable Accommodations (Workshop)
freee
2
1.5k
Featured
See All Featured
Web Components: a chance to create the future
zenorocha
306
41k
Practical Orchestrator
shlominoach
183
9.7k
Bash Introduction
62gerente
605
210k
Designing with Data
zakiwarfel
96
4.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
65
14k
What's new in Ruby 2.0
geeforr
337
31k
BBQ
matthewcrist
80
8.8k
Six Lessons from altMBA
skipperchong
22
3k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
1.9k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
How to train your dragon (web standard)
notwaldorf
74
5.2k
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.