Nearest Neighbor Algorithm

A์— ํ•ด๋‹นํ•˜๋Š” ๋ชจ์–‘์€?

nearest neighbor algorithm

  • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›์•˜์„ ๋•Œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์ด ์žˆ๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€๋ฅผ ์ฐพ์•„ ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜๋ฅผ ์ •ํ•ด์ฃผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

K-Nearest Neighbor Algorithm

A์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฒƒ์€ ํŒŒ๋ž€ ๋™๊ทธ๋ผ๋ฏธ, but ์กฐ๊ธˆ ๋„“ํ˜€์„œ ๋ณด๋ฉด ๋ญ”๊ฐ€ ์ž˜๋ชป ๋์Œ k-nearest neighbor algorithm

  • ๋‹จ์ˆœํžˆ ์ฃผ๋ณ€์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์ด ์žˆ๋Š” ๊ฒƒ์„ ๋ณด๋Š” ๊ฒƒ์ด ์•„๋‹Œ
    ์ฃผ๋ณ€์— ์žˆ๋Š” ๋ช‡ ๊ฐœ์˜ ํŠน์ง•์„ ๊ฐ™์ด ๋ณด๊ณ  ๋‹ค์ˆ˜๊ฒฐ์— ๋”ฐ๋ผ ๊ณจ๋ผ๋‚ด๋Š” ๋ฐฉ์‹
    • k = preferably a small odd number
  • ํŠน์ • ์ž…๋ ฅ ๋ฐ์ดํ„ฐ x์— ๋Œ€ํ•ด, ์ฃผ๋ณ€ K๊ฐœ์˜ ํ›ˆ๋ จ ์ƒ˜ํ”Œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ
    ๊ฐ€์žฅ ๋งŽ์€ ํด๋ž˜์Šค๋กœ ๋ถ„๋ฅ˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

K-Nearest Neighbor Regression

  • KNN ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด ํšŒ๊ท€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ
  • K๊ฐœ์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ด์›ƒ ์ƒ˜ํ”Œ์„ ์ฐพ๊ณ  ์ด ์ƒ˜ํ”Œ๋“ค์˜ ํƒ€๊นƒ๊ฐ’์˜ ํ‰๊ท ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ๊ฐ€์ค‘ํ•ฉํ•œ ํ›„ ํ‰๊ท ์„ ๊ตฌํ•˜์—ฌ ์˜ˆ์ธก
    • ๋ถ„๋ฅ˜์™€ ํšŒ๊ท€ ๋ชจ๋‘ ๋” ๊ฐ€๊นŒ์šด ์ด์›ƒ์ผ์ˆ˜๋ก ๋” ๋จผ ์ด์›ƒ๋ณด๋‹ค ํ‰๊ท ์— ๋” ๋งŽ์ด ๊ธฐ์—ฌํ•˜๋„๋ก ์ด์›ƒ์˜ ๊ธฐ์—ฌ์— ๊ฐ€์ค‘์น˜๋ฅผ ์ฃผ๋Š” ๊ฒƒ์ด ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Œ
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฐ€์žฅ ํ”ํ•œ ๊ฐ€์ค‘์น˜ ์Šคํ‚ค๋งˆ๋Š” d๊ฐ€ ์ด์›ƒ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ์ผ ๋•Œ ๊ฐ๊ฐ์˜ ์ด์›ƒ์—๊ฒŒ 1/d์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์ฃผ๋Š” ๊ฒƒ
  • Train Dataset์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ๋ชจ๋ธ ์ƒ์„ฑ์˜ ์ „๋ถ€์ด๋ฉฐ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ธก

๊ฐ€์žฅ ๊ทผ์ ‘ํ•œ k=7 ๊ฐœ์˜ ์ด์›ƒ ์ค‘, ๊ฐ€์žฅ ๋งŽ์€ ์ดˆ๋ก ํด๋ž˜์Šค๋กœ ๋ถ„๋ฅ˜ knn


๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ

  • ๊ฑฐ๋ฆฌ(distance)๋ฅผ ์™œ ๊ตฌํ•ด์•ผ ํ• ๊นŒ?
    ๊ฑฐ๋ฆฌ๋Š” ์ผ์ข…์˜ ์œ ์‚ฌ๋„(Similarity) ๊ฐœ๋…์ด๊ธฐ ๋•Œ๋ฌธ
    ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ๊ทธ ํŠน์„ฑ(feature)๋“ค์ด ๋น„์Šทํ•˜๋‹ค๋Š” ๋œป
  1. ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ (Euclidean Distance)
    • ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•
    • 2์ฐจ์› ์ผ ๊ฒฝ์šฐ cal distance
    \[d= \sqrt{(a_1-b_1)^2 + (a_2-b_2)^2}\]
    • n์ฐจ์› ์ผ ๊ฒฝ์šฐ
    \[d= \sqrt{(a_1-b_1)^2 + (a_2-b_2)^2 + ... + (a_n-b_n)^2}\]
  2. ๋งจํ•˜ํƒ„ ๊ฑฐ๋ฆฌ (Manhattan Distance)
    • ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ์™€ ์œ ์‚ฌํ•˜๊ธด ํ•œ๋ฐ, ๊ฐ ์ฐจ์›์˜ ์ฐจ๋ฅผ ์ œ๊ณฑํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ ˆ๋Œ€๊ฐ’์„ ํ•ฉ์‚ฐํ•จ
    • ๋งจํ•˜ํƒ„ ๊ฑฐ๋ฆฌ๋Š” ํ•ญ์ƒ ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค cal distance
    \[d= \vert a_1-b_1\vert + \vert a_2-b_2\vert\]
    • n์ฐจ์› ์ผ ๊ฒฝ์šฐ
    \[d= \vert a_1-b_1\vert + \vert a_2-b_2\vert + ... + \vert a_n-b_n\vert\]
  3. ํ•ด๋ฐ ๊ฑฐ๋ฆฌ (Hamming Distance)
    • ๊ฐ ์ฐจ์›๋งˆ๋‹ค ์ฐจ์ด๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ โ€˜์ •ํ™•ํžˆ ๊ฐ™์€์ง€โ€™ ์—ฌ๋ถ€๋งŒ ๊ณ ๋ คํ•จ
    • ๋งž์ถค๋ฒ• ๊ฒ€์‚ฌ์™€ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋งŽ์ด ์‚ฌ์šฉ
      • ๋‹จ์–ด โ€œthereโ€, ์˜คํƒ€ โ€œtheteโ€ ์‚ฌ์ด์˜ ํ•ด๋ฐ ๊ฑฐ๋ฆฌ๋Š” 1

์ •๊ทœํ™”

  • ๋ฐ์ดํ„ฐ์˜ ๊ฐ ํŠน์„ฑ๋งˆ๋‹ค ์Šค์ผ€์ผ(๋‹จ์œ„)์ด ๋‹ค๋ฅด๋‹ค๋ฉด ๋ชจ๋“  ํŠน์„ฑ๋“ค์„ ๋ชจ๋‘ ๊ณ ๋ฅด๊ฒŒ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ์ •๊ทœํ™”(Normalization)๋ฅผ ํ•จ
    • ์ตœ์†Œ๊ฐ’์„ 0, ์ตœ๋Œ€๊ฐ’์„ 1๋กœ ๊ณ ์ •ํ•œ ๋’ท ๋ชจ๋“  ๊ฐ’๋“ค์„ 0๊ณผ 1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ํ‰๊ท ๊ณผ ํ‘œ์ค€ํŽธ์ฐจ๋ฅผ ํ™œ์šฉํ•ด์„œ ํ‰๊ท ์œผ๋กœ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€ z-์ ์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฒฐ์ •๊ณ„์ˆ˜ \(R^2\)

\(R^2 = 1 - \frac{(ํƒ€๊นƒ - ์˜ˆ์ธก)^2์˜ ํ•ฉ}{(ํƒ€๊นƒ - ํ‰๊ท )^2์˜ ํ•ฉ}\)

  • ๋Œ€ํ‘œ์ ์ธ ํšŒ๊ท€ ๋ฌธ์ œ์˜ ์„ฑ๋Šฅ ์ธก์ • ๋„๊ตฌ
  • 1์— ๊ฐ€๊นŒ์šธ ์ˆ˜๋ก ์ข‹๊ณ , 0์— ๊ฐ€๊นŒ์šธ ์ˆ˜๋ก ์„ฑ๋Šฅ์ด ๋‚˜์œ ๋ชจ๋ธ
    • ์˜ˆ์ธก์„ ์ž˜ํ•˜๋ฉด ๋ถ„์ž๊ฐ€ 0์— ๊ฐ€๊นŒ์›Œ ์ง
  • ์ข…์†๋ณ€์ˆ˜์˜ ๋ถ„์‚ฐ ์ค‘์—์„œ ๋…๋ฆฝ๋ณ€์ˆ˜๋กœ ์„ค๋ช…๋˜๋Š” ๋น„์œจ
  • ์‰ฝ๊ฒŒ ๋งํ•ด, ์ด ํ†ต๊ณ„ ๋ชจ๋ธ๋กœ ๋Œ€์ƒ์„ ์–ผ๋งˆ๋‚˜ ์ž˜ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€๋ฅผ ์ˆซ์ž๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ

๊ณผ๋Œ€์ ํ•ฉ๊ณผ ๊ณผ์†Œ์ ํ•ฉ

  • ๊ณผ๋Œ€์ ํ•ฉ
    ํ›ˆ๋ จ์„ธํŠธ์—์„œ ์ ์ˆ˜๊ฐ€ ์ข‹์•˜๋Š”๋ฐ ํ…Œ์ŠคํŠธ ์„ธํŠธ์—์„œ ์ ์ˆ˜๊ฐ€ ๋‚˜์  ๊ฒฝ์šฐ
    ํ›ˆ๋ จ์„ธํŠธ์—๋งŒ ์ž˜ ๋งž๋Š” ๋ชจ๋ธ์ด๋ผ ํ…Œ์ŠคํŠธ์„ธํŠธ์™€ ์‹ค์ „ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์˜ˆ์ธก์— ์ž˜ ๋™์ž‘ ๋ชปํ•จ
  • ๊ณผ์†Œ์ ํ•ฉ
    ํ…Œ์ŠคํŠธ ์„ธํŠธ์˜ ์ ์ˆ˜๊ฐ€ ๋†’๊ฑฐ๋‚˜ ํ›ˆ๋ จ, ํ…Œ์ŠคํŠธ์„ธํŠธ ์ ์ˆ˜๊ฐ€ ๋ชจ๋‘ ๋„ˆ๋ฌด ๋‚ฎ์€ ๊ฒฝ์šฐ
    ๋ชจ๋ธ์ด ๋„ˆ๋ฌด ๋‹จ์ˆœํ•˜์—ฌ ํ›ˆ๋ จ ์„ธํŠธ์— ์ ์ ˆํžˆ ํ›ˆ๋ จ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ

K ๊ฐœ์ˆ˜์˜ ์„ ํƒ

  • k๊ฐ€ ๋„ˆ๋ฌด ์ž‘์„ ๋•Œ => Overfitting (๊ณผ๋Œ€์ ํ•ฉ)
    • k๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด -> ์‹œ์•ผ๊ฐ€ ์ข์Œ, ์ง€์—ญ์  ํŠน์„ฑ์„ ์ง€๋‚˜์น˜๊ฒŒ ๋ฐ˜์˜ -> ์•„์ฃผ ๊ทผ์ฒ˜์— ์žˆ๋Š” ํŠน์„ฑ์— ๋ฏผ๊ฐํ•˜๊ฒŒ ์˜ํ–ฅ์„ ๋ฐ›์Œ
  • k๊ฐ€ ๋„ˆ๋ฌด ํด ๋•Œ => Underfitting (๊ณผ์†Œ์ ํ•ฉ)
    • k๊ฐ€ ๋„ˆ๋ฌด ํฌ๋ฉด -> ๋„ˆ๋ฌด ๊ด€๋Œ€ํ•ด์ง

KNN์˜ ์žฅ๋‹จ์ 

  • ์žฅ์ 
    • ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ ๋…ธ์ด์ฆˆ์— ํฌ๊ฒŒ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค
    • ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๊ฐ€ ์ถฉ๋ถ„ํ•˜๋‹ค๋ฉด, ์ƒ๋‹นํžˆ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ธ๋‹ค
  • ๋‹จ์ 
    • ์ตœ์  ์ด์›ƒ์˜ ์ˆ˜(k)์™€ ์‚ฌ์šฉํ•  ๊ฑฐ๋ฆฌ ์ฒ™๋„๋ฅผ ๋ฐ์ดํ„ฐ ๊ฐ๊ฐ€์˜ ํŠน์„ฑ์— ๋งž๊ฒŒ ์ž„์˜๋กœ ์„ค์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค
    • ์ƒˆ๋กœ์šด ๊ด€์ธก์น˜์™€ ๊ฐ ํ•™์Šต ๋ฐ์ดํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ „๋ถ€ ์ธก์ •ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ๊ณ„์‚ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค
    • Purpledog

Quiz

KNN Regression์—์„œ๋Š” ์ƒˆ๋กœ์šด ์ƒ˜ํ”Œ์— ๋Œ€ํ•œ ์˜ˆ์ธก์„ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋‚˜์š”?

  1. ์ด์›ƒ ์ƒ˜ํ”Œ ํด๋ž˜์Šค ์ค‘ ๋‹ค์ˆ˜์ธ ํด๋ž˜์Šค
  2. ์ด์›ƒ ์ƒ˜ํ”Œ์˜ ํƒ€๊นƒ๊ฐ’์˜ ํ‰๊ท 
  3. ์ด์›ƒ ์ƒ˜ํ”Œ ์ค‘ ๊ฐ€์žฅ ๋†’์€ ํƒ€๊นƒ๊ฐ’
  4. ์ด์›ƒ ์‚ผํ”Œ ์ค‘ ๊ฐ€์žฅ ๋‚ฎ์€ ํƒ€๊นƒ๊ฐ’