Clustering

2022. 10. 20. 23:46

Clustering ์ด๋ž€?

"๋ฐ์ดํ„ฐ ํฌ์ธํŠธ"์˜ ๊ทธ๋ฃนํ™”์™€ ๊ด€๋ จ๋œ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ์ˆ ์ด๋‹ค. (unsupervised learning)

์–ด๋– ํ•œ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ ์ง‘ํ•ฉ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, clustering ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋ฅผ ํŠน์ • ๊ทธ๋ฃน์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ถ„๋ฅ˜ํ•  ๋•Œ์˜ ๊ธฐ์ค€

โ‘  high intra-class: ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์—๋Š” ์ตœ๋Œ€ํ•œ ๋น„์Šทํ•œ ๊ฒƒ๋ผ๋ฆฌ

โ‘ก low intra-class: ์„œ๋กœ ๋‹ค๋ฅธ ๊ทธ๋ฃน๋“ค์€ ์ตœ๋Œ€ํ•œ ๋‹ค๋ฅธ ๊ฒƒ๋ผ๋ฆฌ

 

 

<K-Means Clustering ๊ธฐ๋ฒ•>

๊ฐ ๊ตฐ์ง‘์— ํ• ๋‹น๋œ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋“ค์˜ ํ‰๊ท ์„ ์ด์šฉํ•˜์—ฌ, ์ค‘์‹ฌ์ ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ฉฐ ๊ตฐ์ง‘์„ ํ˜•์„ฑํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

์žฅ์ 

โ‘  ์‹ค์ œ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์ด "ํฌ์ธํŠธ์™€ ๊ทธ๋ฃน ์ค‘์•™ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ"์ด๋ฏ€๋กœ ๋งค์šฐ ๋น ๋ฅด๋‹ค.

โ‘ก ๋ณต์žก๋„๊ฐ€ O(n) ์ด๋‹ค.

 

๋‹จ์ 

โ‘  ๋ชจ๋“  value ๊ฐ€ numeric ์ด์–ด์•ผ ํ•œ๋‹ค.

โ‘ก ๊ตฐ์ง‘์˜ ๊ฐœ์ˆ˜๊ฐ€ ์‚ฌ์ „์— ์ •์˜๋˜์–ด์•ผ ํ•œ๋‹ค.

โ‘ข ํ‰๊ท ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— outlier ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

์•Œ๊ณ ๋ฆฌ์ฆ˜

โ‘  ๋ชจ๋“  object ๋ฅผ random ํ•˜๊ฒŒ 'k ๊ฐœ'๋กœ ๊ทธ๋ฃนํ•‘ํ•œ๋‹ค. (k ๋Š” user given ์œผ๋กœ, ์‚ฌ์ „์— ์ •์˜๋˜์–ด์•ผ ํ•œ๋‹ค.)

โ‘ก ํ‰๊ท ์„ ๊ตฌํ•œ๋‹ค.

โ‘ข ํ‰๊ท ์„ ๊ธฐ์ค€์œผ๋กœ ๋” ๊ฐ€๊นŒ์šด ๊ฒƒ๋ผ๋ฆฌ ๋‹ค์‹œ ๊ตฐ์ง‘์„ ์ƒ์„ฑํ•œ๋‹ค.

โ‘ฃ ๋‹ค์‹œ ๋งŒ๋“ค์–ด์ง„ ๊ทธ๋ฃน์—์„œ ํ‰๊ท ์„ ๊ตฌํ•œ๋‹ค.

โ‘ค ํ‰๊ท ์„ ๊ธฐ์ค€์œผ๋กœ ๋” ๊ฐ€๊นŒ์šด ๊ฒƒ๋ผ๋ฆฌ ๋‹ค์‹œ ๊ตฐ์ง‘์„ ์ƒ์„ฑํ•œ๋‹ค.

โ‘ฅ ํ‰๊ท ์˜ ๋ณ€๋™์ด ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

→ ์ด ๋•Œ, ํ‰๊ท ์ด ์กฐ๊ธˆ์”ฉ์ด๋ผ๋„ ๊ณ„์†ํ•ด์„œ ๋ฐ”๋€” ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ โ‘  ํšŸ์ˆ˜ ์ œํ•œ โ‘ก ํ‰๊ท ์˜ ๋ณ€ํ™”๋„ ์ œํ•œ ๋“ฑ์˜ ์„ค์ •์„ ํ†ตํ•ด ์กฐ์ •ํ•œ๋‹ค.

 

์˜ˆ์ œ: ๋ณธ์ธ์ด ์‚ด๊ณ  ์žˆ๋Š” ์ง€์—ญ์˜ ์œ„๋„/๊ฒฝ๋„๋ฅผ ํ†ตํ•ด ๊ฐ€๊นŒ์šด ์‚ฌ๋žŒ๋“ค๋ผ๋ฆฌ ๋ชจ์—ฌ๋ณด์ž.

1. random ํ•˜๊ฒŒ ์‚ฌ๋žŒ๋“ค์„ k ๊ฐœ์˜ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.

2. ํ‰๊ท ์„ ๊ตฌํ•œ๋‹ค. → A ๊ทธ๋ฃน: ๋Œ€์ „, B ๊ทธ๋ฃน: ์ฒญ์ฃผ

3. ๋Œ€์ „๊ณผ ๋” ๊ฐ€๊นŒ์šด ์‚ฌ๋žŒ, ์ฒญ์ฃผ์™€ ๋” ๊ฐ€๊นŒ์šด ์‚ฌ๋žŒ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.

4. ํ‰๊ท ์„ ๋‹ค์‹œ ๊ตฌํ•œ๋‹ค. → A ๊ทธ๋ฃน: ํ‰ํƒ, B ๊ทธ๋ฃน: ์›์ฃผ

5. ํ‰ํƒ๊ณผ ๋” ๊ฐ€๊นŒ์šด ์‚ฌ๋žŒ, ์›์ฃผ์™€ ๋” ๊ฐ€๊นŒ์šด ์‚ฌ๋žŒ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.

6. ์ด ๊ณผ์ •์„ ํ‰๊ท ์˜ ๋ณ€๋™์ด ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

 

<K-Medoid Clustering ๊ธฐ๋ฒ•>

K-Means ์™€ ๊ฐ™์ง€๋งŒ, ํ‰๊ท  ๋Œ€์‹  Medoid (์ค‘๊ฐ„๊ฐ’)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. 

 

์žฅ์ 

โ‘  numeric ์ด ์•„๋‹ˆ์–ด๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

โ‘ก outlier ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

โ‘ข ์‹ค์กดํ•˜๋Š” ๊ฐ’์ด๋‹ค.

 

๋‹จ์ 

โ‘  ์„ ํ˜• ๋ณต์žก๋„๊ฐ€ O(n^2) ์ด๋‹ค.

 

์•Œ๊ณ ๋ฆฌ์ฆ˜

K-Means ์™€ ๋™์ผํ•˜๋‹ค.

Medoid ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋“ค๊ณผ์˜ distance ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ๊ทธ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์ด๋‹ค.

 

<Hierarchical Clustering ๊ธฐ๋ฒ•>

๋น„์Šทํ•œ ๊ตฐ์ง‘๋ผ๋ฆฌ ๋ฌถ์–ด๊ฐ€๋ฉด์„œ ์ตœ์ข…์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์ผ€์ด์Šค๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๊ตฐ์ง‘์„ ๋ฌถ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

n ๊ฐœ์ผ ๋•Œ, ๊ฐ๊ฐ์„ single group ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ๊ฒฐ๊ตญ hierarchical clustering ์€ n ๊ฐœ์—์„œ 1๊ฐœ ์‚ฌ์ด์˜ ๊ด€๊ณ„์ด๋‹ค. (์–‘์ชฝ ๊ทน๋‹จ)

 

์žฅ์ 

โ‘  ์œ ์‚ฌํ•œ ๊ฐœ์ฒด๋“ค์ด ๊ฒฐํ•ฉ๋˜๋Š” "dendogram" ์„ ํ†ตํ•ด ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โ‘ก ๊ณ„์ธต์  ๊ตฌ์กฐ๋กœ ์ธํ•ด ์‚ฌ์ „์— ๊ตฐ์ง‘์˜ ๊ฐœ์ˆ˜๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

๋‘ ๊ฐ€์ง€ ๊ธฐ๋ฒ•

โ‘  buttom up(=agglomerative): n ๊ฐœ์—์„œ ์ถœ๋ฐœํ•˜์—ฌ 1๊ฐœ๋กœ ๋ฌถ์–ด์ง„๋‹ค.

โ‘ก top down(=divisive): 1๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ n ๊ฐœ๋กœ ์ชผ๊ฐ ๋‹ค.

โ‡จ ๋ณดํ†ต buttom up ๋ฐฉ์‹์„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

 

๊ตฐ์ง‘ ๊ตฌ์„ฑ ์‹œ ๊ธฐ์ค€

โ‘  single

๊ตฐ์ง‘1์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ๊ตฐ์ง‘2์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ๋ชจ๋“  ์กฐํ•ฉ์— ๋Œ€ํ•ด ๋ฐ์ดํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜๊ณ , ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๊ตฌํ•œ๋‹ค.

a&b ์™€ c&d ์—์„œ {a, c} {a, d} {b, c} {b, d} ๋„ค ๊ฐ€์ง€ ๋ฅผ ๋”ฐ์ ธ๋ณด์•˜์„ ๋•Œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด distance ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค.

 

โ‘ก complete

๊ตฐ์ง‘1์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ๊ตฐ์ง‘2์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ๋ชจ๋“  ์กฐํ•ฉ์— ๋Œ€ํ•ด ๋ฐ์ดํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜๊ณ , ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๊ตฌํ•œ๋‹ค.

a&b ์™€ c&d ์—์„œ {a, c} {a, d} {b, c} {b, d} ๋„ค ๊ฐ€์ง€ ๋ฅผ ๋”ฐ์ ธ๋ณด์•˜์„ ๋•Œ ๊ฐ€์žฅ ๋จผ distance ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค.

 

โ‘ข average

๊ตฐ์ง‘1์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ๊ตฐ์ง‘2์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ๋ชจ๋“  ์กฐํ•ฉ์— ๋Œ€ํ•ด ๋ฐ์ดํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜๊ณ , ํ‰๊ท ์„ ๊ตฌํ•œ๋‹ค.

 {a, c} {a, d} {b, c} {b, d} ์—์„œ ํ‰๊ท ์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค.

 

โ‘ฃ centroid

๋‘ ๊ตฐ์ง‘์˜ ๊ฐ ์ค‘์‹ฌ์ (centroid)์„ ์ •์˜ํ•œ ๋‹ค์Œ, ๋‘ ์ค‘์‹ฌ์ ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฐ์ง‘ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋กœ ์ •์˜ํ•œ๋‹ค.

a&b ์—์„œ์˜ centroid, c&d ์—์„œ์˜ centroid ๋ฅผ ๊ตฌํ•˜๊ณ  ๊ทธ ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค. 

 

์˜ˆ์ œ: 30๋ช…์˜ ํ•™์ƒ๋“ค์˜ ์นœ๊ตฌ ๊ด€๊ณ„๋ฅผ buttom up ์œผ๋กœ ๋งŒ๋“ค์–ด๋ณด์ž. "์นœํ•˜๋‹ค"์˜ ๊ธฐ์ค€์€ ์ง€๋‚œ ์—ฐํœด ๋•Œ ์ „ํ™”ํ†ตํ™”๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ํ•œ ์‚ฌ๋žŒ์ด๋‹ค. 

1. ๋‚˜ ์ž์‹ ๋งŒ์ด ์นœ๊ตฌ์ด๋‹ค. → 30๊ฐœ์˜ ๊ทธ๋ฃน

2. ์ „ํ™”ํ†ตํ™” ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ๊ธด pair ๋ฅผ ๊ณ ๋ฅธ๋‹ค. → 29๊ฐœ์˜ ๊ทธ๋ฃน

3. pair ๊ฐ€ ๋œ ๋‘ ์‚ฌ๋žŒ์„ ๋Œ€ํ‘œํ•˜๋Š” ๋˜ ํ•œ ๊ฐ€์ง€์˜ ๊ธฐ์ค€์œผ๋กœ๋ถ€ํ„ฐ(ex. ๋‘ ์‚ฌ๋žŒ ์ค‘ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ํ†ตํ™” ์‹œ๊ฐ„์ด ๋” ๊ธด ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜์ž.) 29๊ฐœ์˜ ๊ทธ๋ฃน์„ ๊ฒ€์‚ฌํ•œ๋‹ค. (์ด ๋•Œ ๊ธฐ์ค€์€ user given) → 28๊ฐœ์˜ ๊ทธ๋ฃน

4. ๋ฐ˜๋ณตํ•œ๋‹ค. → 1๊ฐœ์˜ ๊ทธ๋ฃน

 

 

<Density Based Scan ๊ธฐ๋ฒ•>

๋ฐ€๋„ ๊ธฐ๋ฐ˜์˜ data point ๋“ค์ด ๋ฐ€์ง‘๋œ ๊ณณ์„ ํ•˜๋‚˜์˜ ๊ตฐ์ง‘์œผ๋กœ ๋ณด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

์žฅ์ 

โ‘  outlier (๋…ธ์ด์ฆˆ)๋ฅผ ์ œ์™ธํ•  ์ˆ˜ ์žˆ๋‹ค.

โ‘ก ๊ตฐ์ง‘์˜ ์ˆ˜๋ฅผ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

โ‘ข convex ํ˜•ํƒœ๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ ์…‹์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ฃผ์š” parameter

โ‘  ε (์ž…์‹ค๋ก ): ํ•˜๋‚˜์˜ data point ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•˜๋Š” ๋ฐ˜๊ฒฝ

 

โ‘ก Minimum Points: ๊ตฐ์ง‘์„ ์ด๋ฃจ๊ธฐ ์œ„ํ•œ ์ตœ์†Œํ•œ์˜ data point ์˜ ๊ฐœ์ˆ˜

โ‡จ Density ๋Š” ํ•˜๋‚˜์˜ ์ ์œผ๋กœ๋ถ€ํ„ฐ "๋ฐ˜๊ฒฝ ε ๋‚ด์—" "์ ์ด ๋ช‡ ๊ฐœ๋‚˜ ์žˆ๋Š”์ง€"๋กœ ์ธก์ •ํ•œ๋‹ค.

 

๋ถ„๋ฅ˜ point

โ‘  core point: ํ•œ ์ ์˜ ε ๋‚ด์— min point ๋ณด๋‹ค ๋งŽ์€ ๊ฐœ์ฒด๊ฐ€ ํฌํ•จ๋œ ์ 

 

โ‘ก border point: ํ•œ ์ ์˜ ε ๋‚ด์— min point ๋ณด๋‹ค ์ ์€ ๊ฐœ์ฒด๊ฐ€ ํฌํ•จํ•˜์ง€๋งŒ, ์ ์–ด๋„ ํ•˜๋‚˜์˜ core point ์—๋Š” ์†ํ•œ ์ 

โ‘ข noise point(outlier): ํ•œ ์ ์˜ ε ๋‚ด์— min point ๋ณด๋‹ค ์ ์€ ๊ฐœ์ฒด๊ฐ€ ํฌํ•จํ•˜๋Š” ์ 

 

์•Œ๊ณ ๋ฆฌ์ฆ˜

โ‘  Directly Density Reachable

p ๊ฐ€ q ์˜ ε ๋‚ด์— ๋“ค์–ด์˜ค๊ณ , q ๋Š” core point ์ด๋‹ค. → p ๋Š” q ๋กœ๋ถ€ํ„ฐ Directly Density Reachable ํ•˜๋‹ค.

 

โ‘ก Density Reachable

p ๊ฐ€ p2์˜ ε ๋‚ด์— ๋“ค์–ด์˜ค๊ณ , q ๊ฐ€ p2 ์˜ ε ๋‚ด์— ๋“ค์–ด์˜จ๋‹ค.  p ๋Š” q ๋กœ๋ถ€ํ„ฐ Density Reachable ํ•˜๋‹ค.

 

โ‘ข Density Connected

p ๋Š” o ๋กœ๋ถ€ํ„ฐ Density Reachable ํ•˜๊ณ , q ์—ญ์‹œ o ๋กœ๋ถ€ํ„ฐ Density Reachable ํ•˜๋‹ค.  p ๋Š” q ๋กœ๋ถ€ํ„ฐ Density Connected ํ•˜๋‹ค. 

 

'๐Ÿ“ Data Analysis > ๐Ÿ“‘ ์ด๋ก ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Association Rule  (0) 2022.09.30
1. ๋‚˜์˜ ๋ฐ์ดํ„ฐ ์•Œ๊ธฐ  (0) 2022.09.19

BELATED ARTICLES

more