software engineering/ํŒŒ์ด์ฌ ๋จธ์‹ ๋Ÿฌ๋‹

[Machine Learning] ํด๋Ÿฌ์Šคํ„ฐ๋ง (Clustering)

jjingle 2024. 1. 18. 16:57

ํด๋Ÿฌ์Šคํ„ฐ๋ง (Clustering)

  • ์„œ๋ธŒ๊ทธ๋ฃน(subgroup)์ด๋‚˜ ํด๋Ÿฌ์Šคํ„ฐ(cluster)๋กœ ๋ถˆ๋ฆฌ๋Š” ๋น„์Šทํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง„ ๊ทธ๋ฃน์„ ์ฐพ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•
  • ์„œ๋กœ ๋น„์Šทํ•œ(๊ฐ€๊นŒ์šด) ๋ฐ์ดํ„ฐ๋“ค์ด ๊ฐ™์€ ๊ทธ๋ฃน(ํด๋Ÿฌ์Šคํ„ฐ)์— ํฌํ•จ๋˜๋„๋ก ํ•™์Šต
    • ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„์Šทํ•˜๋‹ค ๋˜๋Š” ๋‹ค๋ฅด๋‹ค ๋ผ๋Š” ๊ธฐ์ค€๊ณผ ๊ฐœ๋…์„ ๋ช…ํ™•ํžˆ ํ•ด์•ผํ•จ
    • ์ด ๊ธฐ์ค€์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง
  •  Market segmetation ์˜ˆ์ œ
    • ๋ฐ์ดํ„ฐ : ๋งŽ์€ ์‚ฌ๋žŒ์— ๋Œ€ํ•œ ๊ฐ€๊ณ„์†Œ๋“, ์ง์—…, ์ตœ๊ทผ๊ฑฐ๋ฆฌ ๋„์‹œ ๋“ฑ์˜ ์ •๋ณด
    • ๋ชฉํ‘œ :  ํŠน์ •ํ•œ ๊ด‘๊ณ ํ˜•ํƒœ ๋˜๋Š” ํŠน์ •์ƒํ’ˆ์˜ ๊ตฌ๋งค์— ๋” ๋ฏผ๊ฐํ•œ ๊ณ ๊ฐ ๊ทธ๋ฃน์„ ์‹๋ณ„ํ•ด๋‚ด๋Š” ๊ฒƒ
  • ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ฐฉ๋ฒ•
    • K-means clustering : ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ค‘์‹ฌ(centroid)์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐํ•˜์—ฌ, ๋ฐ์ดํ„ฐ์—์„œ ๋ฏธ๋ฆฌ ์ •ํ•ด์ง„ ์ˆ˜๋งŒํผ์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•
    • Hierarchical clustering : ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋‘ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฌถ์–ด๊ฐ€๋ฉฐ(merge) ๊ณ„์ธต์„ ํ˜•์„ฑํ•˜์—ฌ ๋ฏธ๋ฆฌ ์ •ํ•˜์ง€ ์•Š์€ ์ˆ˜ ๋งŒํผ์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

 

K-means clustering

  • K-means clustering์—์„œ ์ข‹์€ ํด๋Ÿฌ์Šคํ„ฐ๋ง์ด๋ž€, within-cluster variation์ด ๊ฐ€๋Šฅํ•œํ•œ ์ž‘์€ ๊ฒƒ์„ ์˜๋ฏธ
    • =>  ๊ฐ™์€ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋‹ค๋ฅธ์ง€(๋–จ์–ด์ ธ ์žˆ๋Š”์ง€) ์ธก์ •๊ฐ’์ด ์ž‘์„ ์ˆ˜๋ก ์ข‹๋‹ค.
  • K n์ œ๊ณฑ ๊ฐœ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ์‹œ๋„ํ•  ์ˆ˜ ์—†์–ด, local optimum์„ ๊ตฌํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ
    • => ๋‹จ, ์ฒซ ๋‹จ๊ณ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์˜๋กœ(random) ํ• ๋‹นํ•˜๋ฏ€๋กœ ๋งค๋ฒˆ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ

 

K-means clustering ๊ณผ์ •

  1. ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ˆ˜ํ–‰ ์ „ ๋ฐ์ดํ„ฐ
  2. ๋ฐ์ดํ„ฐ๋ฅผ 3๊ฐœ์˜ ํด๋Ÿฌ์Šคํ„ฐ์— ์ž„์˜๋กœ ํ• ๋‹น
  3. ํด๋ž˜์Šค ์ค‘์‹ฌ(class centroid) ๊ณ„์‚ฐ(ํฐ ์› ๋ชจ์–‘)ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ž„์˜๋กœ ํ• ๋‹น๋˜์–ด ์ค‘์‹ฌ์ด ๊ฒน์นจ
  4. ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํด๋ž˜์Šค ์ค‘์‹ฌ์— ํ• ๋‹น
  5. 3๋ฒˆ์˜ ๊ณผ์ • ๋ฐ˜๋ณต
  6. ์ด ๊ณผ์ •์„ 10๋ฒˆ ๋ฐ˜๋ณตํ•œ ํ›„์˜ ๊ฒฐ๊ณผ

K-means clustering

 

 

Hierarchical clustering 

  • K-means clustering์€ ๋ฏธ๋ฆฌ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ˆ˜ K๋ฅผ ์ •ํ•˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ˆ˜ํ–‰
    • => ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ˆ˜๋ฅผ ๋ฏธ๋ฆฌ ์•Œ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋‹จ์ ์ด ๋จ
  • Hierarchical clustering์€ ๋ฏธ๋ฆฌ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ˆ˜๋ฅผ ์ •ํ•˜์ง€ ์•Š์Œ
  • Hierarchical clustering ์ค‘ ์ผ๋ฐ˜์ ์œผ๋กœ bottom-up ๋˜๋Š” agglomerative(๋ณ‘ํ•ฉ, ํ•ฉ์น˜๋Š”) ํƒ€์ž…์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ฐฉ๋ฒ•์ด ๋งŽ์ด ์“ฐ์ž„
    • ์žŽ(leaf)์œผ๋กœ๋ถ€ํ„ฐ ๋ชธํ†ต(trunk)๊นŒ์ง€ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ•ฉ์ณ ๋‚˜๊ฐ€๋ฉฐ ์—ญํŠธ๋ฆฌ(dendrogram)๋ฅผ ์ƒ์„ฑ
    • ์ƒ์„ฑ๋œ dendrogram์„ ์ž˜๋ผ์„œ ์›ํ•˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ˆ˜๋ฅผ ์ •ํ•จ

 

Hierarchical clustering ๊ณผ์ •

  1. ๊ฐ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜์”ฉ์„ ํ•˜๋‚˜์˜ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ง€์ •
  2. ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด(closest) ๋‘ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹๋ณ„ ํ›„ ๋ณ‘ํ•ฉ
  3. 2๋ฒˆ ๊ณผ์ •์„ ๋ฐ˜๋ณต
  4. ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ํ•˜๋‚˜์˜ ํด๋Ÿฌ์Šคํ„ฐ ํฌํ•จ๋˜๋ฉด ์ข…๋ฃŒ

Hierarchical clustering