Summary

image classification์— ๋Œ€ํ•œ ์ „์ฒด์ ์ธ ๋‚ด์šฉ์„ ๋‹ค๋ฃธ

Image Classification Problem:

์ž…๋ ฅ ์ด๋ฏธ์ง€(input image)๋ฅผ ๋ฏธ๋ฆฌ ์ •ํ•ด์ง„ ์นดํ…Œ๊ณ ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ธ ๋ผ๋ฒจ(label)๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฌธ์ œ๋กœ Computer Vision์—์„œ ๋งค์šฐ ํ•ต์‹ฌ์ ์ธ ๋ฌธ์ œ

ํ˜„์žฌ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š”๋ฐ ์—ฌ๋Ÿฌ ํ˜„์‹ค์ ์ธ ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•œ๋‹ค!

  • semantic gap: ์šฐ๋ฆฌ ๋ˆˆ์—๋Š” ๊ณ ์–‘์ด๊ฐ€ ํ•œ ๋ˆˆ์— ๋“ค์–ด์˜จ๋‹ค! VS ์ปดํ“จํ„ฐ๋Š” ์ด๋ฅผ ๋งค์šฐ ํฌ๊ณ  ๋‹ค์–‘ํ•œ ์ˆซ์ž๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด๋กœ ์ธ์‹!
  • ์ปดํ“จํ„ฐ๊ฐ€ ์ด๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ  ๋ฌด์—‡์„ ๋œปํ•˜๋Š”์ง€ ์•Œ์•„๋‚ด๋Š” ๊ฒƒ์ด ์‰ฝ์ง€ ์•Š์Œ
  • ์กฐ๊ธˆ๋งŒ ์นด๋ฉ”๋ผ๋ฅผ ๋Œ๋ฆฌ๋ฉด ์‚ฌ์ง„์„ ์ด๋ฃจ๋Š” ํ”ฝ์…€์˜ ์ˆซ์ž๊ฐ€ ๋ฐ”๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋จ

๋ฌธ์ œ์ 

  1. Viewpoint variation(์‹œ์  ๋ณ€ํ™”)
  2. Scale variation(ํฌ๊ธฐ ๋ณ€ํ™”)
  3. Deformation(๋ณ€ํ˜•): ๋Œ€๋ถ€๋ถ„์˜ ๋ฌผ์ฒด๋Š” ๊ณ ์ •๋œ ๋ชจ์Šต์ด ์—†์Œ(๋ณ€ํ˜•๋˜์–ด ๋ณด์ผ ์ˆ˜ ์žˆ์Œ)
  4. Occlusion(ํ์ƒ‰): ๋ฌผ์ฒด์˜ ์ผ๋ถ€๋ถ„๋งŒ ๋ณด์ž„
  5. Illumination conditions(์กฐ๋ช…์ƒํƒœ): ์กฐ๋ช…์˜ ์˜ํ–ฅ์œผ๋กœ ํ”ฝ์…€๊ฐ’์ด ๋ฐ”๋€Œ๊ฒŒ๋จ
  6. Background clutter(๋ฐฐ๊ฒฝ ๋ถ„๋ฅ˜): ์ฃผ๋ณ€ ํ™˜๊ฒฝ์— ์„ž์—ฌ ์•Œ์•„๋ณด๊ธฐ ํž˜๋“ค๊ฒŒ ๋จ
  7. Intra-class variation(๋‚ด๋ถ€ํด๋ผ์Šค ๋‹ค์–‘์„ฑ): ๋™๋ฌผ์ด๋ผ๋ฉด ๋‚˜์ด์™€ ์ข…์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฒƒ์„ ๋ณด๊ณ  ํ•˜๋‚˜์˜ ๋™๋ฌผ์ด๋ผ๋Š” ๊ฒƒ์„ ํŒŒ์•…ํ•ด์•ผํ•จ

์ด๋Ÿฐ ๋ฌธ์ œ์ ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์ปดํ“จํ„ฐ vision ๋ฌธ์ œ๋ฅผ ํ†ตํ•ด ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ค ๋ผ๋ฒจ(๋ฌผ์ฒด)์— ๋“ค์–ด๊ฐ€๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์•ž์œผ๋กœ ์ด ๋ฐฉ๋ฒ•์ด ์–ด๋–ค ์›๋ฆฌ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”์ง€๋ฅผ ์•Œ์•„๋ณด๊ฒŒ ๋จ! ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•Œ๊ณ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋‹ฌ๋ฆฌ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ๋ฌธ์ œ ์ „๋ฐ˜์— ๊ฑธ์ณ์žˆ๋Š” ๋ช…ํ™•ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์‹œ๋„๋œ ๋ฐฉ๋ฒ•์€ ์ด๋ฏธ์ง€์˜ ์„ ,์ฝ”๋„ˆ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฌผ์ฒด๋ฅผ ์ธ์‹ํ•˜๋Š” ๊ฒƒ์ด์—ˆ์ง€๋งŒ ๋ชจ๋“  ๋ฌผ์ฒด๋ฅผ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์ฆ‰, ํŠน์ • ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ์ด ์‚ฌ์‹ค์ƒ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์˜จ ๋ฐฉ๋ฒ•๋ก ์ด ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•๋ก ์ด๋‹ค!

Data-driven approach: ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•๋ก 


์ด๋ฏธ์ง€๋ฅผ ๊ฐ๊ฐ์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์ธ์‹ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ๋ชจ๋ธ์„ ํ•™์Šตํ•œ ํ›„ ์˜ˆ์ธกํ•˜์—ฌ ํšจ๊ณผ๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ฉฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ˆ˜๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต์‹œ์ผœ, ์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ๋ฌผ์ฒด๋ฅผ ๋ณดํŽธ์ ์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

  1. Input: Collect a dataset of images & labels(ํ•™์Šต ๋ฐ์ดํ„ฐ์—์„œ N๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ K๊ฐœ์˜ class๋กœ ๋ผ๋ฒจ๋ง)
  2. Learning: Use ML to train a classifier: ํ•™์Šต๋ฐ์ดํ„ฐ์„ ์ด์šฉํ•ด ๊ฐ๊ฐ์˜ class๋ฅผ ํ•™์Šต!
  3. Evaluation: Evaluate the classifier on new images : ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด ์˜ˆ์ธก์„ ๋‚ด๋ ค ์‹ค์ œ ๊ฐ’(ground truth๊ฐ’)๊ณผ ๊ฐ™์€์ง€ ๋น„๊ตํ•˜๋ฉฐ ์‹ค์ œ ๊ฐ’๊ณผ ์ผ์น˜ํ•  ์ˆ˜๋ก ์„ฑ๋Šฅ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธ ๊ฐ€๋Šฅ ์ด๋Š” ๊ธฐ์กด์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ƒ๋ฐ˜๋˜๋Š”๋ฐ, ๊ธฐ์กด์—๋Š” ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ง€์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ์งœ์„œ ๋ถ„๋ฅ˜๋ฅผ ํ•˜๊ณ ์ž ํ–ˆ๋‹ค๋ฉด data-driven approach์—์„œ๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋งŒ ์ฃผ์–ด์ง€๊ณ  ์Šค์Šค๋กœ ํ•™์Šต์„ ํ•œ๋‹ค. ์ฆ‰, ๋” ๋‚˜์€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ํ•„์š”์—†์ด ๊ณ„์†ํ•ด์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

Datasets


  • MNIST: 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ 10๊ฐœ์˜ class๊ฐ€ ์กด์žฌํ•˜๋ฉฐ grayscale ์ด๋ฏธ์ง€์ด๋ฉฐ 5๋งŒ๊ฐœ์˜ ํ•™์Šต๋ฐ์ดํ„ฐ์™€ ๋งŒ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค. CV๊ฐœ์˜ ์ดˆํŒŒ๋ฆฌ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š”๋ฐ, ์ƒ๋ฌผํ•™์—์„œ ์ดˆํŒŒ๋ฆฌ ์—ฐ๊ตฌ๋ฅผ ํ†ตํ•ด ๋ฐœ์ „์„ ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ CV์—์„œ๋„ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ์…‹ ์ค‘ ํ•˜๋‚˜๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€๋ถ€๋ถ„์˜ ML ๋ชจ๋ธ์—์„œ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๋ฏ€๋กœ ๋…ผ๋ฌธ์—์„œ ์ด ๋ฐ์ดํ„ฐ์…‹์„ ๊ฐ€์ง€๊ณ  ์„ฑ๋Šฅ์„ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์— ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค.
  • CIFAR10: 10๊ฐœ์˜ ์‚ฌ๋ฌผ RGB class๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๊ณ  5๋งŒ๊ฐœ์˜ ํ•™์Šต ๋ฐ์ดํ„ฐ, 1๋งŒ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.
  • CIFAR 100: ์กฐ๊ธˆ ๋” ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ์…‹์œผ๋กœ 100๊ฐœ์˜ class๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค
  • ImageNet: 1000๊ฐœ์˜ class๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๊ณ  ์‚ฌ์‹ค์ƒ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์ขŒ์šฐํ•˜๋Š” ๊ฐ€์žฅ ๋ณดํŽธ์ ์ธ ๋ฐ์ดํ„ฐ ์…‹์ด๋‹ค. 130๋งŒ๊ฐœ์˜ ํ•™์Šต๋ฐ์ดํ„ฐ, 5๋งŒ๊ฐœ์˜ ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ, 10๋งŒ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ๋„ˆ๋ฌด ๋งŽ์€ class๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ์˜ ์ด๋ฏธ์ง€์— ๊ฐ€์žฅ ๊ทธ๋Ÿด๋“ฏํ•œ 5๊ฐœ ๋ผ๋ฒจ์„ ์˜ˆ์ธกํ•˜์—ฌ ๊ทธ ์ค‘์—์„œ ๋งž๋Š” ๊ฒƒ์ด ์žˆ๋Š”์ง€๋ฅผ ์„ฑ๋Šฅ ์ง€ํ‘œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค โžก๏ธ ์‚ฌ๋ฌผ์— ์ง‘์ค‘ํ•œ ๋ฐ์ดํ„ฐ์…‹
  • MIT Place: 365๊ฐœ์˜ class๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๊ณ  800๋งŒ๊ฐœ์˜ ํ•™์Šต ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค โžก๏ธ ํ’๊ฒฝ์— ์ง‘์ค‘ํ•œ ๋ฐ์ดํ„ฐ์…‹

์ด๋•Œ ํ•™์Šตํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํ”ฝ์…€์˜ ์ˆ˜๋Š” Places 365>ImageNet>>> CIFAR>MNIST ์ˆœ์ด๋‹ค. ์ด๋•Œ ImageNet๊ณผ CIFAR์˜ ํ”ฝ์…€์˜ ์ˆ˜๋Š” ์•ฝ 1000๋ฐฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ImageNet์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๋ณดํŽธ์ ์œผ๋กœ ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ ์„ฑ๋Šฅ์ด ์ข‹์Œ์„ ํŒ๋‹จํ•˜๋Š” ๋ฐ์ดํ„ฐ์…‹์ด ์žˆ๋Š” ๋ฐ˜๋ฉด, ์ ์€ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ์–ผ๋งˆ๋‚˜ ํšจ์œจ์ ์œผ๋กœ ํ•™์Šต์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์•Œ์•„๋ณด๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์…‹๋„ ์กด์žฌํ•œ๋‹ค. ์š”์ฆ˜์— ๋– ์˜ค๋ฅด๊ณ  ์žˆ๋Š” ๋ถ„์•ผ๋กœ few shot learning์ด๋ผ๊ณ  ํ•œ๋‹ค.

  • Omniglot: 50๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ๋”ฐ์˜จ ๋ฌธ์ž๋“ค๋กœ 1623 class๊ฐ€ ์กด์žฌํ•˜๊ณ  ์ด๋•Œ ํ•œ class ๋‹น 20๊ฐœ์˜ ์ด๋ฏธ์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค.

Nearest Neighbor Classifier

๋งค์šฐ ์ง๊ด€์ ์ด๊ณ  ๋‹จ์ˆœํ•œ ๋ถ„๋ฅ˜๊ธฐ(์ตœ๊ทผ์ ‘ ์ด์›ƒ ๋ถ„๋ฅ˜๊ธฐ)๋กœ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ๋ผ๋ฒจ์„ ๊ธฐ์–ตํ•œ ํ›„์— ๋น„์Šทํ•œ ํ•™์Šต image๊ฐ€ ๋ชจ๋ธ์— ๋“ค์–ด์˜ค๋ฉด ์–ด๋–ค label์ผ์ง€ ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค. ๊ฐ€์žฅ ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค!

  1. Memorize all data & label
  2. Predict the label of the most similar training image
  • ์ƒˆ๋กœ ๋“ค์–ด์˜จ image์— ๋Œ€ํ•ด ํ•™์Šต๋ฐ์ดํ„ฐ์— ์žˆ๋Š” ์‚ฌ์ง„๋“ค ์ค‘ ๊ฐ€์žฅ ๋น„์Šทํ•œ ์• ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋จ!
  • ์ •ํ™•ํžˆ ๊ฐ™์€ class์— ์žˆ๋Š” ์‚ฌ์ง„์„ ๊ฐ€์ ธ์˜ค๋Š” ์„ฑ๋Šฅ์ด ๋‚ฎ์€ ํŽธ! CS231n 12. Visualizing and Understanding
  • [c] ๋ฌธ์ œ์ ์€ ์‹ค์ œ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด์„œ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ์—, ํ•™์Šต์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ O(1)๋กœ ์ ์ง€๋งŒ ํ…Œ์ŠคํŠธ์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ O(N)์œผ๋กœ ๊ธธ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ•™์Šต์ด ๊ธธ๊ณ , ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์‹œ๊ฐ„์ด ์งง์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„ํšจ์œจ์ ์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค

โ“๊ทธ๋Ÿผ ์ด classifier์€ ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ ๋น„์Šทํ•œ training set์˜ image์„ ๋น„๊ตํ•ด์„œ ๊ฐ€์ ธ์˜ฌ๊นŒ?

The choice of distance (๊ฑฐ๋ฆฌ ์„ ํƒ)


๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•˜๋‹ค. ์ด๋•Œ L1์„ ์„ ํƒํ•˜๋“  L2๋ฅผ ์„ ํƒํ•˜๋“  ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜์—์„œ ๊ต‰์žฅํ•œ ์˜๋ฏธ์  ์ฐจ์ด๋ฅผ ๊ฐ€์ง€์ง€๋Š” ์•Š์ง€๋งŒ L1์€ ๊ฐ ์ฐจ์›๋งˆ๋‹ค ๋…๋ฆฝ์ ์œผ๋กœ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค๋ฉด, L2๋Š” ๊ณ ์ฐจ์›์ƒ์—์„œ ๋ฐฑํ„ฐ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค๋Š” ์ ์—์„œ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋˜ํ•œ ์ด์™ธ์—๋„ ๋‹ค๋ฅธ distance metric์„ ์ด์šฉํ•˜์—ฌ K-NN ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด pdf ํŒŒ์ผ์„ k-nn์„ ์ด์šฉํ•˜์—ฌ ์œ ์‚ฌํ•œ ๋…ผ๋ฌธ์„ ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ๋‹ค)

  1. L1 distance: ๋‘ ๊ฐœ์˜ ๋ฐฑํ„ฐ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๊ฐ ์ฐจ์›๋งˆ๋‹ค ๋…๋ฆฝ์ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค!(์ฆ‰, ๋ชจ๋“  ํ”ฝ์…€๊ฐ’ ์ฐจ์ด์˜ ํ•ฉ์„ ์ด์šฉ!)
  • ํŠน์ • vector๊ฐ€ ๊ฐœ๋ณ„์ ์ธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋Š” pixel๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.
  • ๋‘ ๋ฐฑํ„ฐ ๊ฐ’์˜ ์ฐจ๊ฐ€ ์ปค์ง€๋Š” ๊ฒƒ์— ๋œ ๋ฏผ๊ฐํ•จ
  • ํ•˜๋‚˜์˜ ํฐ ์ฐจ์ด๋“  ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ ๋‹นํ•œ ์ฐจ์ด๋“  ๋‹จ์ˆœํžˆ ๊ฐ’์˜ ์ฐจ์ด๋กœ ๊ฒฐ์ •
  • coordinate axis(์ขŒํ‘œ์ถ•)์™€ ๊ด€๋ จ์ด ๋˜์–ด ์žˆ์–ด ์ขŒํ‘œ๊ณ„ ํšŒ์ „์‹œ ๊ฑฐ๋ฆฌ๊ฐ€ ๋‹ฌ๋ผ์ง
    • ์ขŒํ‘œ์˜ ๊ฐ ์ฐจ์›์—์„œ์˜ ์ฐจ์ด๊ฐ’์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ๋ฆฌ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.
  • [n] ๊ตฌํ˜„ ์‹œ train ํ•จ์ˆ˜์—๋Š” ๋‹จ์ˆœํžˆ ๊ฐ’์„ ์ €์žฅํ•˜๋ฉด ๋˜๊ณ  test ํ•จ์ˆ˜์—์„œ๋Š” ๊ฐ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ์กด์— ์ €์žฅํ•œ ์ด๋ฏธ์ง€์™€ ๋น„๊ต๋ฅผ ํ†ตํ•ด ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค
  1. L2 distance: ๊ธฐํ•™์ ์œผ๋กœ ๋‘ ๋ฐฑํ„ฐ๊ฐ„์˜euclidean_distance ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋‘ ๋ฒกํ„ฐ๊ฐ„์˜ ์ง์„  ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜์—ฌ ๋ฒกํ„ฐ๊ฐ„์˜ ์ „๋ฐ˜์ ์ธ ์œ ์‚ฌ๋„๋ฅผ ํ‰๊ฐ€ํ•˜๋Š”๋ฐ ์ ํ•ฉํ•˜๋‹ค.โžก๏ธ ์ฆ‰, โญ๏ธ๊ณ ์ฐจ์› ๊ณต๊ฐ„ ์ƒ์—์„œ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜๋Š”๋ฐ ์ž์ฃผ ์‚ฌ์šฉ์ด ๋œ๋‹ค
  • vector ์š”์†Œ์˜ ์˜๋ฏธ๋ฅผ ๋ชจ๋ฅด๊ฑฐ๋‚˜ ๋ณ„๋กœ ์—†์„ ๋•Œ๋กœ ๋‘ ์ด๋ฏธ์ง€์˜ ์ „๋ฐ˜์ ์ธ ์ฐจ์ด๋ฅผ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค
  • L1 distance์— ๋น„ํ•ด์„œ ๋‘ ๋ฐฑํ„ฐ๊ฐ’์˜ ์ฐจ๊ฐ€ ์ปค์ง€๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ํ›จ์”ฌ ๋” ํฌ๊ฒŒ ๋ฐ˜์‘ํ•จ! โžก๏ธ โญ๏ธ ๋ฃจํŠธ๋Š” ๋‹จ์ˆœํžˆ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ์—ญํ• ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฐจ์ด๊ฐ’์ด ์ปค์งˆ ์ˆ˜๋ก ๋” ๋ฏผ๊ฐํ•œ๊ฑฐ์ž„! (์ˆ˜ํ•™์ ์œผ๋กœ ๋ณด๋ฉด ๋œ ๋ฏผ๊ฐํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๊ฑด ๋ฃจํŠธ ๋•Œ๋ฌธ์ž„!)
  • ํ•˜๋‚˜์˜ ํฐ ์ฐจ์ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ ๋‹นํ•œ ์ฐจ์ด๊ฐ€ ์ƒ๊ธฐ๋Š” ๊ฒƒ์„ ์„ ํ˜ธ
    • ์ขŒํ‘œ๊ณ„ ํšŒ์ „์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Œ
    • ํšŒ์ „์„ ํ•˜๋”๋ผ๋„ ์–ด์ฐจํ”ผ ๋ฒกํ„ฐ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋Š” ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์ด ์—†์œผ๋ฏ€๋กœ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Œ

์ด๋•Œ NN ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ฒซ๋ฒˆ์งธ๋Š” ๊ฐ€์žฅ ๊ฐ€๊น๋‹ค๊ณ  ํ™•์ธ๋˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ฐพ์•„ ๊ทธ ์ด๋ฏธ์ง€์˜ class๋ฅผ ํ™•์ธํ•˜์—ฌ ์ •ํ™•๋„๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๊ณ , ๋‘๋ฒˆ์งธ๋Š” decision boundary๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธ์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

K-Nearest Neighbor

๋‹จ์ˆœํ•œ NN ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ด์ƒ์น˜์˜ ๋ฐ์ดํ„ฐ๋‚˜ ์žก์Œ์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ์ ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ด์— training set์—์„œ ๊ฐ€์žฅ ๋น„์Šทํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ฐพ๋Š” ๊ฒƒ ๋Œ€์‹  ๊ฐ€์žฅ ๋น„์Šทํ•œ k๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ฐพ์•„ test ์ด๋ฏธ์ง€์˜ label์— ํˆฌํ‘œ๋ฅผ ํ•˜์—ฌ ์ •ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ์ด ๋ฐฉ๋ฒ•์„ ํ•ด๊ฒฐํ–ˆ๋Š”๋ฐ ์ด๊ฒƒ์ด ๋ฐ”๋กœ K-Nearest Neighbor์ด๋‹ค. ์ด๋•Œ 1-Nearest Neighbor๋Š” Nearest Neighbor Classifier์™€ ๊ฐ™๋‹ค

  • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ๋ฐ›์•˜์„ ๋•Œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์ด ์žˆ๋Š” K๊ฐœ๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜ ์ •ํ•ด์ฃผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • k์˜ ๊ฐ’์ด ์ปค์งˆ์ˆ˜๋ก classifier์€ ์ด์ƒ์ (outlier)์— ๋” ๊ฐ•์ธํ•˜๊ณ , ๋ถ„๋ฅ˜ ๊ฒฝ๊ณ„๊ฐ€ ๋ถ€๋“œ๋Ÿฌ์›Œ์ง€๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์Œ

๋” ๋‚˜์€ ์ !

  1. island ๋ฌธ์ œ ํ•ด๊ฒฐ(ambiguously classified): ์˜ˆ๋ฅผ ๋“ค์–ด, ๋นจ๊ฐ„์ƒ‰์ด ๋งŽ์€ ์ง€์ ์— ์ดˆ๋ก์ƒ‰์ด ํ•˜๋‚˜ ๋ผ์–ด์žˆ๋Š” ๊ฒฝ์šฐ, ์ด๋ฅผ ์ตœ์†Œํ•œ ๋‘๊ฐœ์˜ class๋กœ ๋ฌถ์–ด ์• ๋งคํ•œ ์ง€์ ์ž„์„ ๋ณด์—ฌ์ฃผ๊ณ  ์กฐ๊ทธ๋งŒํ•œ ์„ฌ๋“ค์ด ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์—ฐ๊ฒฐ! โžก๏ธ smooth boundary ๊ฐ€๋Šฅ!
  2. noisy์— ๊ฐ•ํ•จ: ๊ฐ’ ํ•˜๋‚˜๊ฐ€ ์žˆ๋‹ค๊ณ ํ•ด์„œ ๊ทธ ๊ณณ์ด ๊ทธ ์ƒ‰๊น” ์˜์—ญ์ด ๋˜์ง€๋Š” ์•Š์Œ (์ฃผ๋ณ€์ด ๋‹ค๋ฅธ ์˜์—ญ์œผ๋กœ ๋‘˜๋Ÿฌ์Œ“์—ฌ์žˆ๋‹ค๋ฉด ๊ฐ’ ํ•˜๋‚˜์— ์˜ํ•ด ๊ทธ ๊ฐ’์ด ๋งž๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์— ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์Œ) + ์—ฐ๊ฒฐ์„ ์„ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋งŒ๋“ค์–ด ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ ๋†’์ž„
  • ํฐ์ƒ‰ ์ง€์ : ํˆฌํ‘œ์˜ ๊ฒฐ๊ณผ, 2๊ฐœ ์ด์ƒ์˜ ์ตœ๊ทผ์ ‘ class๊ฐ€ ๋™๋ฅ ์„ ์ด๋ฃฐ ๋•Œ์ด๋ฉฐ ambiguously classified๋ผ๊ณ  ํ•œ๋‹ค. โžก๏ธ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 1NN, backup ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค
  • ๋ฐฐ๊ฒฝ์ƒ‰: ๊ฐœ, ๊ณ ์–‘์ด์™€ ๊ฐ™์€ class๋กœ, ํ…Œ์ŠคํŠธ ์ด๋ฏธ์ง€๊ฐ€ ๋“ค์–ด์™€ ํŠน์ • ์ง€์ ์— ์œ„์น˜ํ•  ๊ฒฝ์šฐ ๊ทธ ์ด๋ฏธ์ง€๊ฐ€ ์†ํ•  class๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • ์ : ํ•™์Šต ์ด๋ฏธ์ง€๋ฅผ ์˜๋ฏธ ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด 2)decision boundary๋ฅผ ์ด์šฉํ•˜์—ฌ 2์ฐจ์› ํ‰๋ฉด์ƒ์—์„œ ์ ๊ณผ ์ƒ‰์„ ์ด์šฉํ•ด K-Nearest Neighbor์˜ ํšจ๊ณผ๋ฅผ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๊ณ  1) ์‹ค์ œ๋กœ ์ƒˆ๋กœ์šด ์‚ฌ์ง„์— ๋Œ€ํ•ด ์–ด๋–ค training data๊ฐ€ ๊ฐ€์žฅ ์œ ์‚ฌํ•œ์ง€ ํ™•์ธํ•ด๋ด„์œผ๋กœ์จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํšจ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์„ž์–ด ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋ฉฐ k์˜ ๊ฐ’์ด ์ปค์กŒ์„ ๋•Œ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค! http://vision.stanford.edu/teaching/cs231n-demos/knn/

๐Ÿ™‹โ€โ™‚๏ธ ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค K๋ฅผ ๊ณจ๋ผ์•ผํ• ๊นŒ? ๋˜ ์–ด๋–คmetric ์„ ์‚ฌ์šฉํ• ๊นŒ?

Validation sets for Hyperparameter tuning

hyperparameter์„ ์กฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์ŠคํŠธ ์…‹์„ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๋Š”๋ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ๊ท€์ค‘ํ•œ ์ž๋ฃŒ์ด๊ณ  ์ž˜๋ชป๋œ ๊ฒฝ์šฐoverfitting ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œhyperparameter ๋ž€ ํ•™์Šต๋ฐ์ดํ„ฐ์—์„œ ํ•™์Šตํ•˜๋Š” ๊ฐ’์ด ์•„๋‹ˆ๋ผ, ํ•™์Šต ๊ณผ์ • ์ฒ˜์Œ์— ์ค€๋น„ํ•˜์—ฌ ๋ฌธ์ œ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •๋˜์–ด์•ผํ•˜๋Š” ๊ฐ’์ด๋‹ค. โžก๏ธ ์ด๊ฒƒ์„ ์•Œ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด ๋”ฐ๋กœ ์žˆ์ง€๋Š” ์•Š๊ณ  ์ง์ ‘ ๊ฐ’์„ ์กฐ์ •ํ•ด๊ฐ€๋ฉฐ ํ•ด๋ด์•ผํ•œ๋‹ค.

  1. Split data into train & test
  • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์™”์„๋•Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ผ๋งˆ๋‚˜ ํšจ๊ณผ์ ์ธ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์™€ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ๋‚˜๋ˆ ์•ผํ•œ๋‹ค.
  • train data๊ฐ€ unseen data(test data)์—๋Š” ํšจ๊ณผ์ ์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ
  1. Split data train, validation, test Training set์„ ๋‹ค์‹œ 2๊ฐœ๋กœ ์ชผ๊ฐœ validation set์„ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ€์งœ ํ…Œ์ŠคํŠธ ์…‹์œผ๋กœ ํ™œ์šฉํ•œ๋‹ค.
  • test data: iid(identical independence distribution)์ด๊ธฐ ๋•Œ๋ฌธ์— ํ™•๋ฅ ์ ์œผ๋กœ ๊ธฐ์กด ๋ฐ์ดํ„ฐ์™€ ๋น„๊ตํ•ด๋ณด์•˜์„ ๋•Œ ๋งค์šฐ ๋ฌด๊ด€ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์•„ ๋ฌด์ž‘์œ„์ ์œผ๋กœ ๋ฝ‘์œผ๋ฉด ์ƒ๊ด€์ด ์—†๋‹ค. ๋‹จ, ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ์ฒ˜๋Ÿผ ํŠน์ • ์‹œ๊ธฐ์˜ ๋ฐ์ดํ„ฐ๋งŒ์„ test๋กœ ํ•  ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.
  • validation data: ์ •ํ™•๋„๋ฅผ ํ™•์ธํ•˜๋ฉฐ ์–ผ๋งˆ๋‚˜ ๋ชจ๋ธ์ด ์ •ํ™•ํ•˜์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ test data๋กœ hyperparameter์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ค์—ผ์‹œํ‚ค๋Š” ์ผ ์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ดํ›„ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค, ๊ฐ€์žฅ ์ž˜ ๋™์ž‘ํ•˜๋Š” k๊ฐ’์„ ์ •ํ•  ์ˆ˜ ์žˆ์Œ

Test set ์‚ฌ์šฉ์— ๋งค์šฐ ์œ ์˜ํ•  ๊ฒƒ!

test set์€ ๋งˆ์ง€๋ง‰์— ํ•œ๋ฒˆ๋งŒ ์„ฑ๋Šฅ์„ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉ์ด ๋˜์–ด์•ผํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1๋…„๋™์•ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ test set์„ ๊ฐ€์ง€๊ณ ๋Š” ์ ˆ๋Œ€ ์‚ฌ์šฉ์ด ๋˜๋ฉด ์•ˆ๋˜๊ณ  ๋งŒ์•ฝ์— ์‹ค์ œ test set์—์„œ ์„ฑ๋Šฅ์ด ์•ˆ์ข‹๋‹ค๋Š” ๊ฒƒ์„ ๊ฑฑ์ •ํ•ด์„œ ๋ฏธ๋ฆฌ ์‚ฌ์šฉํ•˜๋Š” ์ผ์€ ์—†์–ด์•ผํ•œ๋‹ค.

  1. Cross-Validation 14-1. Cross Validation
  • fold(small dataset)์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„์–ด ์—ฌ๋Ÿฌ๋ฒˆ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฒ€์ฆ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ํ™œ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋”ฅ๋Ÿฌ๋‹์—์„œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. Cf) trainig data์— 50~90%๋ฅผ trainig์šฉ์œผ๋กœ ๋‚˜๋จธ์ง€๋Š” validation data๋กœ ํ™œ์šฉํ•œ๋‹ค(validation set์˜ ํฌ๊ธฐ๋Š” ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜์— ์˜ํ–ฅ์„ ๋ฐ›์Œ)
  • hyperparmeter์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งค์šฐ ๋งŽ์œผ๋ฉด validation ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฒŒ ์ข‹์Œ
  • ์ˆ˜๋ฐฑ๊ฐœ ์ •๋„๋กœ ์ ๋‹ค๋ฉด cross-validaion ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „
  • ์ฃผ๋กœ 3,5,10 fold๋กœ ์‚ฌ์šฉ๋จ โ‡’ cross-validation์„ ํ†ตํ•ด k-NN ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์–ด๋–ค k๊ฐ’์„ ์“ฐ๋Š” ๊ฒƒ์ด ์ •ํ™•๋„๊ฐ€ ๋†’์€์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ!

Universal & Cons of K-NN

๋งŒ์•ฝ ํ•™์Šต ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌดํ•œ๋Œ€๋กœ ๋งŽ์•„์งˆ ๊ฒฝ์šฐ K-NN classifier์€ ์‚ฌ์‹ค์ƒ ์–ด๋–ค ํ•จ์ˆ˜๋“ ์ง€ ๊ฐ„์— ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์—ฐ์†ํ•จ์ˆ˜ ์ƒ์—์„œ n๊ฐœ์˜ ํฌ์ธํŠธ๋ฅผ ๋ฝ‘์•„ K-NN ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž‘๋™ํ•˜๋ฉด n์˜ ๊ฐ’์ด ์ ์„ ๋•Œ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ƒ์ˆ˜ํ•จ์ˆ˜์ฒ˜๋Ÿผ ๋ณด์ด๋‹ค๊ฐ€ n์˜ ๊ฐ’์ด ์ปค์ง€๊ฒŒ ๋˜๋ฉด ์‹ค์ œ ํ•จ์ˆ˜์™€ ๋น„์Šทํ•œ ์—ฐ์†ํ•จ์ˆ˜๊ฐ€ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋‹จ์ˆœํžˆ ํ•™์Šต๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์„ ๊ฒฝ์šฐ ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์ฐจ์›์˜ ์ €์ฃผ(curse of dimensionality์— ๋น ์ง€๊ฒŒ ๋œ๋‹ค. ์ฆ‰, ์ฐจ์›์ด ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋˜๋ฉด ๊ทธ ์ฐจ์›์„ ์ด๋ฃจ๋Š” ํฌ์ธํŠธ ํ˜น์€ ํ•จ์ˆ˜๋ฅผ ๋‹ค ์ฑ„์šฐ๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๊ฐ€ ์ง€์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚˜๊ฒŒ ๋œ๋‹ค. ์œ„์˜ ์‚ฌ์ง„์—์„œ๋Š” 1์ฐจ์›์ด๊ธฐ ๋•Œ๋ฌธ์— ์ ์€ ๋ฐ์ดํ„ฐ ์ˆ˜๋กœ ์‹ค์ œ ํ•จ์ˆ˜๋ฅผ ์•Œ์•„๋ƒˆ์ง€๋งŒ ๊ณ ์ฐจ์›์˜ ํ•จ์ˆ˜์ผ ๊ฒฝ์šฐ ๋งค์šฐ ๋น„ํšจ์œจ์ ์œผ๋กœ ๋ณ€ํ•˜๊ฒŒ ๋œ๋‹ค.

์ฆ‰, ํŠน์ • ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ค ๋ฌผ์ฒด์ธ์ง€ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด์„œ pixel์ด ํ‘๋ฐฑ์ธ ๊ฒฝ์šฐ๋งŒ ๊ณ ๋ คํ•˜๋”๋ผ๋„ ํ˜„์‹ค์ ์œผ๋กœ ์–ป์„ ์ˆ˜ ์—†๋Š” ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋œ๋‹ค.

Pros and Cons of Nearest Neighbor classifier


์žฅ์ :

  1. ์ดํ•ดํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ๋งค์šฐ ๊ฐ„ํŽธํ•จ
  2. train์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์ ์Œ
  • [p] ๋†€๋ž๊ฒŒ๋„ ConvNet์—์„œ ๊ณ„์‚ฐ๋œ feature vector์„ ์‚ฌ์šฉํ•  ๋•Œ ํšจ๊ณผ๊ฐ€ ์ข‹์œผ๋ฉฐ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ฆ‰, ์ด๋ฏธ์ง€์˜ raw pixel์— NN ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ feature vector์— ์‚ฌ์šฉ์„ ํ•˜์—ฌ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋งŒ๋“ ๋‹ค

๋‹จ์ :

  1. test time์ด ๋งค์šฐ ๋А๋ฆผ(=computational cost)
  • ์ปดํ“จํ„ฐ๋‚˜ ์Šค๋งˆํŠธํฐ์— ์ ์šฉ์„ ํ•  ๋•Œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆผ
  • ๋”ฅ๋Ÿฌ๋‹์—์„œ๋Š” ์™„์ „ํžˆ ๋ฐ˜์ „๋˜์–ด test time์„ ๋งค์šฐ ๊ธธ๊ฒŒ ๋งŒ๋“ฆ!
  1. ํ”ฝ์…€์˜ distance(์ฐจ์ด)๊ฐ€ ์ •๋ณด์ ์ด์ง€ ์•Š์Œ ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๊ฐ€ low-dimension์ผ๋•Œ๋Š” ํšจ๊ณผ์ ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ image classification์—๋Š” ํšจ๊ณผ์ ์ด์ง€ ์•Š์Œ
  • ์ด๋ฏธ์ง€๋Š” high dimensional object (์ฐจ์›์ด ๋†’์„์ˆ˜๋ก ์ปค๋ฒ„ํ•ด์•ผํ•˜๋Š” ๋ฒ”์œ„๊ฐ€ ์ง€์ˆ˜์˜ ์†๋„๋กœ ์ฆ๊ฐ€!: ์ฐจ์› ์ฆ๊ฐ€ โ‡’ ์กฐ๋ฐ€ํ•˜๊ฒŒ ํฌ์ธํŠธ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ง€์ˆ˜์˜ ์†๋„๋กœ ํฌ์ธํŠธ์˜ ๊ฐœ์ˆ˜๋“ค์ด ์ฆ๊ฐ€ํ•ด์•ผํ•จ! ) โ‡’ ์ฐจ์›์˜ ์ €์ฃผ(curse of dimensionality) ์— ๋น ์ง€๊ฒŒ ๋จ - ๊ณ ์ฐจ์›์„ ๊ฐ€์•ผ๋งŒ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, NN ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๊ณ  ๊ฐ€๋Šฅํ•จ
    • ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณ ์ฐจ์› ๊ณต๊ฐ„์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์˜ˆ์ƒ๋ณด๋‹ค ๋นจ๋ฆฌ ์ฆ๊ฐ€
    • ๊ณ ์ฐจ์›์— ๋ชจ๋“  ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ํฉ์–ด์ ธ ๋” ๋งŽ์€ neighbor๋ฅผ ์ฐพ์•„์•ผ ์ ์ž˜ํ•˜๊ฒŒ ํŠน์ • ์ง€์ ์„ ํ‘œํ˜„ ๊ฐ€๋Šฅ
    • ๊ณ ์ฐจ์›์ผ์ˆ˜๋ก ๊ฑฐ๋ฆฌ๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฐ ๊ณ„์‚ฐ ๋น„์šฉ์˜ ์ฆ๊ฐ€๋ฅผ ๊ฐ€์ ธ์˜ด
  • ๊ณ ์ฐจ์›์—์„œ์˜ distance์— ๋Œ€ํ•œ ์ง๊ด€์ด ์šฐ๋ฆฌ์™€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ
    • ๊ณ ์ฐจ์› ๊ณต๊ฐ„์— ๋งŽ์€ ๋ณ€์ˆ˜์™€ ์ฐจ์›์— ์˜ํ•ด ๊ฑฐ๋ฆฌ ๊ฐœ๋…์ด ์ผ๋ฐ˜์ ์ธ ๊ธฐํ•˜ํ•™์  ํ•ด์„๊ณผ ๋‹ฌ๋ผ์ง€๊ฒŒ ๋จ
    • ์ด๋Ÿด ๊ฒฝ์šฐ distance๋ฅผ ์ด์šฉํ•œ NN classifier๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ
  • training example์„ ์ปค๋ฒ„ํ•˜๋Š” ๋ฒ”์œ„๊ฐ€ ๋งค์šฐ ์ปค์ง
  • pixel์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ L2 distance์˜ ๊ฒฝ์šฐ ์šฐ๋ฆฌ๊ฐ€ ์ธ์‹ํ•˜๋Š” ์œ ์‚ฌ์ ๊ณผ ๊ฑฐ๋ฆฌ๊ฐ€ ์žˆ๊ฒŒ ๋˜๋ฉฐ ์‹ค์ œ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๊ณ ์ž ํ•˜๋Š” ์˜๋ฏธ์™€ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋†“๊ฒŒ ๋œ๋‹ค.
  • ์‹ค์ œ ๋ฌผ์ฒด์˜ ํŠน์ง•๊ณผ๋Š” ๋ณ„๊ฐœ๋กœ ๋ฐฐ๊ฒฝ์ด ๋ฐ”๋€Œ์—ˆ๋‹จ ์ด์œ ๋กœ ๊ฐ€๊นŒ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ
    • ์•„๋ž˜ ์‚ฌ์ง„๋ชจ๋‘ L2 distance๊ฐ€ ๊ฐ™์„ ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ ์ด์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋งค์šฐ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Œ