Classification - BD-SEARCH/MLtutorial GitHub Wiki

๋ถ„๋ฅ˜ (Classification)

๋ถ„๋ฅ˜(Classification)๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ๋žŒ์ด ๋ฏธ๋ฆฌ label์„ ๋‹ฌ์•„ ๋‘” class๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด ๋•Œ ํ•œ ๋ฐ์ดํ„ฐ๋Š” ํ•˜๋‚˜์˜ class์—๋งŒ ์†ํ•˜๋„๋ก ๊ตฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ์—ฌ๋Ÿฌ class์— ์†ํ•˜๋„๋ก ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ํŠน์ • class์— ์†ํ•˜๋ƒ/์•„๋‹ˆ๋ƒ๋ฅผ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ ์“ฐ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

๋ถ„๋ฅ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ์‚ฌ์ง„ ๋ถ„๋ฅ˜: ์‚ฌ์ง„์ด ์‚ฌ๋žŒ์ธ์ง€, ์ž๋™์ฐจ์ธ์ง€ ๋“ฑ๋“ฑ ์–ด๋–ค ์‚ฌ์ง„์— ์†ํ•˜๋Š”์ง€ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ…์ŠคํŠธ ๋ถ„๋ฅ˜: ํ…์ŠคํŠธ์˜ ์ฃผ์ œ ๋“ฑ์„ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์Œ์„ฑ ์ธ์‹: ๋“ค์–ด์˜จ ์Œ์„ฑ์ด ์–ด๋–ค ์Œ์ ˆ์ธ์ง€ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

(1) KNN Classification

  • K-nearest neighbor classification
  • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ํŠธ๋ ˆ์ด๋‹ ๋œ ๋ฐ์ดํ„ฐ ์ค‘์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด k๊ฐœ์˜ ์ด์›ƒ์˜ ์ •๋ณด๋กœ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•.
  • Lazy Model, Instance-based Learning: ๋ชจ๋ธ์„ ๋ณ„๋„๋กœ ํ•™์Šตํ•˜์ง€ ์•Š๊ณ , ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์™€ ๊ธฐ์กด ๋ฐ์ดํ„ฐ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์žฌ์„œ ์ด์›ƒ์„ ๋ฝ‘๋Š”๋‹ค. (๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…: Model-based Learning)
    • ๋ถ„๋ฅ˜: ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด k๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์ค‘, ๊ฐ€์žฅ ๋น„์ค‘์ด ํฐ label์„ ๋”ฐ๋ผ๊ฐ„๋‹ค.
    • ํšŒ๊ท€: ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด k๊ฐœ์˜ ๋ฐ์ดํ„ฐ ๊ฐ’์˜ ํ‰๊ท ๊ฐ’์ด ์˜ˆ์ธก๊ฐ’.

ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ (hyper-parameter)

  • k: ํƒ์ƒ‰ํ•  ์ด์›ƒ ์ˆ˜
    • ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ์ง€์—ญ์  ํŠน์„ฑ์„ ๊ณผํ•˜๊ฒŒ ๋ฐ˜์˜(overfitting), ๋„ˆ๋ฌด ํฌ๋ฉด ๋ชจ๋ธ์ด ๊ณผํ•˜๊ฒŒ ๋‹จ์ˆœํ•ด์ง(underfitting).
    • ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ ์ ์ ˆํ•˜๊ฒŒ ์กฐ์ ˆํ•ด์•ผ ํ•จ.
  • ๊ฑฐ๋ฆฌ ์ธก์ • ๋ฐฉ๋ฒ•: Euclidean Distance, Manhattan Distance, ...

reference