Summary
image classification์ ๋ํ ์ ์ฒด์ ์ธ ๋ด์ฉ์ ๋ค๋ฃธ
Image Classification Problem:
์ ๋ ฅ ์ด๋ฏธ์ง(input image)๋ฅผ ๋ฏธ๋ฆฌ ์ ํด์ง ์นดํ ๊ณ ๋ฆฌ ์ค ํ๋์ธ ๋ผ๋ฒจ(label)๋ก ๋ถ๋ฅํ๋ ๋ฌธ์ ๋ก Computer Vision์์ ๋งค์ฐ ํต์ฌ์ ์ธ ๋ฌธ์
ํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๊ตฌ๋ณํ๋๋ฐ ์ฌ๋ฌ ํ์ค์ ์ธ ๋ฌธ์ ๊ฐ ์กด์ฌํ๋ค!
- semantic gap: ์ฐ๋ฆฌ ๋์๋ ๊ณ ์์ด๊ฐ ํ ๋์ ๋ค์ด์จ๋ค! VS ์ปดํจํฐ๋ ์ด๋ฅผ ๋งค์ฐ ํฌ๊ณ ๋ค์ํ ์ซ์๋ค๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด๋ก ์ธ์!
- ์ปดํจํฐ๊ฐ ์ด๊ฒ์ด ๋ฌด์์ธ์ง ์ ํํ ์ดํดํ๊ณ ์๋ ๊ฒ์ด ์๋๊ณ ๋ฌด์์ ๋ปํ๋์ง ์์๋ด๋ ๊ฒ์ด ์ฝ์ง ์์
- ์กฐ๊ธ๋ง ์นด๋ฉ๋ผ๋ฅผ ๋๋ฆฌ๋ฉด ์ฌ์ง์ ์ด๋ฃจ๋ ํฝ์ ์ ์ซ์๊ฐ ๋ฐ๋ก ๋ฐ๋๊ฒ ๋จ
๋ฌธ์ ์
- Viewpoint variation(์์ ๋ณํ)
- Scale variation(ํฌ๊ธฐ ๋ณํ)
- Deformation(๋ณํ): ๋๋ถ๋ถ์ ๋ฌผ์ฒด๋ ๊ณ ์ ๋ ๋ชจ์ต์ด ์์(๋ณํ๋์ด ๋ณด์ผ ์ ์์)
- Occlusion(ํ์): ๋ฌผ์ฒด์ ์ผ๋ถ๋ถ๋ง ๋ณด์
- Illumination conditions(์กฐ๋ช ์ํ): ์กฐ๋ช ์ ์ํฅ์ผ๋ก ํฝ์ ๊ฐ์ด ๋ฐ๋๊ฒ๋จ
- Background clutter(๋ฐฐ๊ฒฝ ๋ถ๋ฅ): ์ฃผ๋ณ ํ๊ฒฝ์ ์์ฌ ์์๋ณด๊ธฐ ํ๋ค๊ฒ ๋จ
- Intra-class variation(๋ด๋ถํด๋ผ์ค ๋ค์์ฑ): ๋๋ฌผ์ด๋ผ๋ฉด ๋์ด์ ์ข ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฒ์ ๋ณด๊ณ ํ๋์ ๋๋ฌผ์ด๋ผ๋ ๊ฒ์ ํ์ ํด์ผํจ
์ด๋ฐ ๋ฌธ์ ์ ์๋ ๋ถ๊ตฌํ๊ณ , ์ปดํจํฐ vision ๋ฌธ์ ๋ฅผ ํตํด ์ด๋ฏธ์ง๊ฐ ์ด๋ค ๋ผ๋ฒจ(๋ฌผ์ฒด)์ ๋ค์ด๊ฐ๋์ง ์ ์ ์์ผ๋ฉฐ ์์ผ๋ก ์ด ๋ฐฉ๋ฒ์ด ์ด๋ค ์๋ฆฌ๋ก ์ด๋ฃจ์ด์ง๋์ง๋ฅผ ์์๋ณด๊ฒ ๋จ! ์ฐ๋ฆฌ๊ฐ ํํ ์๊ณ ์๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ฌ๋ฆฌ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ฌธ์ ์ ๋ฐ์ ๊ฑธ์ณ์๋ ๋ช ํํ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ์ง ์๋๋ค. ์ง๊ธ๊น์ง ์๋๋ ๋ฐฉ๋ฒ์ ์ด๋ฏธ์ง์ ์ ,์ฝ๋๋ฅผ ์ด์ฉํ์ฌ ๋ฌผ์ฒด๋ฅผ ์ธ์ํ๋ ๊ฒ์ด์์ง๋ง ๋ชจ๋ ๋ฌผ์ฒด๋ฅผ ์ผ๋ฐ์ ์ผ๋ก ๋ถ๋ฅํ์ง ๋ชปํ๋ค. ์ฆ, ํน์ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์ด๋ฏธ์ง ๋ถ๋ฅํ๋ ๊ฒ์ด ์ฌ์ค์ ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋์จ ๋ฐฉ๋ฒ๋ก ์ด ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ด๋ค!
Data-driven approach: ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก
์ด๋ฏธ์ง๋ฅผ ๊ฐ๊ฐ์ ์นดํ ๊ณ ๋ฆฌ๋ก ์ธ์ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ๋ชจ๋ธ์ ํ์ตํ ํ ์์ธกํ์ฌ ํจ๊ณผ๋ฅผ ๊ฒ์ฆํ๋ ๋ฐฉ๋ฒ์ด๋ฉฐ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์๋ ์๋ง์ ๋ฐ์ดํฐ๋ฅผ ํ์ต์์ผ, ์ด๋ฅผ ํตํด ๋ชจ๋ ๋ฌผ์ฒด๋ฅผ ๋ณดํธ์ ์ผ๋ก ๋ถ๋ฅํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
- Input: Collect a dataset of images & labels(ํ์ต ๋ฐ์ดํฐ์์ N๊ฐ์ ์ด๋ฏธ์ง๋ฅผ K๊ฐ์ class๋ก ๋ผ๋ฒจ๋ง)
- Learning: Use ML to train a classifier: ํ์ต๋ฐ์ดํฐ์ ์ด์ฉํด ๊ฐ๊ฐ์ class๋ฅผ ํ์ต!
- 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์ผ์ง ์์ธกํ๋ ๋ชจ๋ธ์ด๋ค. ๊ฐ์ฅ ์ฒ์ ๋ฐฐ์ฐ๋ ํ์ต ์๊ณ ๋ฆฌ์ฆ์ด๋ค!
- Memorize all data & label
- 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์ ์ด์ฉํ์ฌ ์ ์ฌํ ๋
ผ๋ฌธ์ ์ถ์ฒํ ์ ์๋ค)
- L1 distance: ๋ ๊ฐ์ ๋ฐฑํฐ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ฐ ์ฐจ์๋ง๋ค ๋
๋ฆฝ์ ์ผ๋ก ๊ณ์ฐํ๋ค!(์ฆ, ๋ชจ๋ ํฝ์
๊ฐ ์ฐจ์ด์ ํฉ์ ์ด์ฉ!)

- ํน์ vector๊ฐ ๊ฐ๋ณ์ ์ธ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ pixel๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์์ฃผ ์ฌ์ฉ๋๋ค.
- ๋ ๋ฐฑํฐ ๊ฐ์ ์ฐจ๊ฐ ์ปค์ง๋ ๊ฒ์ ๋ ๋ฏผ๊ฐํจ
- ํ๋์ ํฐ ์ฐจ์ด๋ ์ฌ๋ฌ๊ฐ์ ์ ๋นํ ์ฐจ์ด๋ ๋จ์ํ ๊ฐ์ ์ฐจ์ด๋ก ๊ฒฐ์
- coordinate axis(์ขํ์ถ)์ ๊ด๋ จ์ด ๋์ด ์์ด ์ขํ๊ณ ํ์ ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฌ๋ผ์ง
- ์ขํ์ ๊ฐ ์ฐจ์์์์ ์ฐจ์ด๊ฐ์ด ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฌ๋ผ์ง๋ค.
- [n] ๊ตฌํ ์
trainํจ์์๋ ๋จ์ํ ๊ฐ์ ์ ์ฅํ๋ฉด ๋๊ณtestํจ์์์๋ ๊ฐ ์ด๋ฏธ์ง๋ฅผ ๊ธฐ์กด์ ์ ์ฅํ ์ด๋ฏธ์ง์ ๋น๊ต๋ฅผ ํตํด ๊ฐ์ฅ ์์ ๊ฐ์ ๊ตฌํ๋ฉด ๋๋ค
- 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)์ ๋ ๊ฐ์ธํ๊ณ , ๋ถ๋ฅ ๊ฒฝ๊ณ๊ฐ ๋ถ๋๋ฌ์์ง๋ ํจ๊ณผ๊ฐ ์์
๋ ๋์ ์ !
- island ๋ฌธ์ ํด๊ฒฐ(ambiguously classified): ์๋ฅผ ๋ค์ด, ๋นจ๊ฐ์์ด ๋ง์ ์ง์ ์ ์ด๋ก์์ด ํ๋ ๋ผ์ด์๋ ๊ฒฝ์ฐ, ์ด๋ฅผ ์ต์ํ ๋๊ฐ์ class๋ก ๋ฌถ์ด ์ ๋งคํ ์ง์ ์์ ๋ณด์ฌ์ฃผ๊ณ ์กฐ๊ทธ๋งํ ์ฌ๋ค์ด ์๊ธฐ์ง ์๋๋ก ๋ถ๋๋ฝ๊ฒ ์ฐ๊ฒฐ! โก๏ธ
smooth boundary๊ฐ๋ฅ! - 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 ๋ ํ์ต๋ฐ์ดํฐ์์ ํ์ตํ๋ ๊ฐ์ด ์๋๋ผ, ํ์ต ๊ณผ์ ์ฒ์์ ์ค๋นํ์ฌ ๋ฌธ์ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ค์ ๋์ด์ผํ๋ ๊ฐ์ด๋ค. โก๏ธ ์ด๊ฒ์ ์์๋ด๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์์ง๋ ์๊ณ ์ง์ ๊ฐ์ ์กฐ์ ํด๊ฐ๋ฉฐ ํด๋ด์ผํ๋ค.
- Split data into train & test
- ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ๋ค์ด์์๋ ์๊ณ ๋ฆฌ์ฆ์ด ์ผ๋ง๋ ํจ๊ณผ์ ์ธ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ํ๋ จ ๋ฐ์ดํฐ์ ํ ์คํธ ๋ฐ์ดํฐ๋ก ๋๋ ์ผํ๋ค.
- train data๊ฐ unseen data(test data)์๋ ํจ๊ณผ์ ์ด์ง ์์ ์ ์์
- 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์์ ์ฑ๋ฅ์ด ์์ข๋ค๋ ๊ฒ์ ๊ฑฑ์ ํด์ ๋ฏธ๋ฆฌ ์ฌ์ฉํ๋ ์ผ์ ์์ด์ผํ๋ค.
- 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
์ฅ์ :
- ์ดํดํ๊ณ ์คํํ๊ธฐ ๋งค์ฐ ๊ฐํธํจ
- train์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ ์
- [p] ๋๋๊ฒ๋
ConvNet์์ ๊ณ์ฐ๋feature vector์ ์ฌ์ฉํ ๋ ํจ๊ณผ๊ฐ ์ข์ผ๋ฉฐ ์์ฃผ ์ฌ์ฉ๋๋ค๊ณ ํ๋ค. ์ฆ, ์ด๋ฏธ์ง์raw pixel์ NN ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผfeature vector์ ์ฌ์ฉ์ ํ์ฌ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ฒ ๋ง๋ ๋ค
๋จ์ :
- test time์ด ๋งค์ฐ ๋๋ฆผ(=computational cost)
- ์ปดํจํฐ๋ ์ค๋งํธํฐ์ ์ ์ฉ์ ํ ๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ
- ๋ฅ๋ฌ๋์์๋ ์์ ํ ๋ฐ์ ๋์ด test time์ ๋งค์ฐ ๊ธธ๊ฒ ๋ง๋ฆ!
- ํฝ์ ์ distance(์ฐจ์ด)๊ฐ ์ ๋ณด์ ์ด์ง ์์ ๋ง์ฝ ๋ฐ์ดํฐ๊ฐ low-dimension์ผ๋๋ ํจ๊ณผ์ ์ผ ์ ์์ง๋ง image classification์๋ ํจ๊ณผ์ ์ด์ง ์์
- ์ด๋ฏธ์ง๋ high dimensional object (์ฐจ์์ด ๋์์๋ก ์ปค๋ฒํด์ผํ๋ ๋ฒ์๊ฐ ์ง์์ ์๋๋ก ์ฆ๊ฐ!: ์ฐจ์ ์ฆ๊ฐ โ ์กฐ๋ฐํ๊ฒ ํฌ์ธํธ๋ฅผ ํํํ๊ธฐ ์ํด์๋ ์ง์์ ์๋๋ก ํฌ์ธํธ์ ๊ฐ์๋ค์ด ์ฆ๊ฐํด์ผํจ! )
โ ์ฐจ์์ ์ ์ฃผ(curse of dimensionality) ์ ๋น ์ง๊ฒ ๋จ
- ๊ณ ์ฐจ์์ ๊ฐ์ผ๋ง ๋ณต์กํ ๋ฐ์ดํฐ๋ฅผ ํํ์ด ๊ฐ๋ฅํ๋ฉฐ, NN ์๊ณ ๋ฆฌ์ฆ์ด ์ ๋๋ก ์๋ํ๊ณ ๊ฐ๋ฅํจ
- ๋ฐ์ดํฐ๊ฐ ๊ณ ์ฐจ์ ๊ณต๊ฐ์ผ๋ก ์ด๋ํ๋ฉด ๋ฐ์ดํฐ ๊ฐ์ ๊ฑฐ๋ฆฌ๊ฐ ์์๋ณด๋ค ๋นจ๋ฆฌ ์ฆ๊ฐ
- ๊ณ ์ฐจ์์ ๋ชจ๋ ๋ฐฉํฅ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ํฉ์ด์ ธ ๋ ๋ง์ neighbor๋ฅผ ์ฐพ์์ผ ์ ์ํ๊ฒ ํน์ ์ง์ ์ ํํ ๊ฐ๋ฅ
- ๊ณ ์ฐจ์์ผ์๋ก ๊ฑฐ๋ฆฌ๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ฑ๋ฅ ์ ํ ๋ฐ ๊ณ์ฐ ๋น์ฉ์ ์ฆ๊ฐ๋ฅผ ๊ฐ์ ธ์ด
- ๊ณ ์ฐจ์์์์ distance์ ๋ํ ์ง๊ด์ด ์ฐ๋ฆฌ์ ๋ฌ๋ผ์ง ์ ์์
- ๊ณ ์ฐจ์ ๊ณต๊ฐ์ ๋ง์ ๋ณ์์ ์ฐจ์์ ์ํด ๊ฑฐ๋ฆฌ ๊ฐ๋ ์ด ์ผ๋ฐ์ ์ธ ๊ธฐํํ์ ํด์๊ณผ ๋ฌ๋ผ์ง๊ฒ ๋จ
- ์ด๋ด ๊ฒฝ์ฐ distance๋ฅผ ์ด์ฉํ NN classifier๊ฐ ์ ๋๋ก ์๋ํ์ง ์์ ์ ์์
- training example์ ์ปค๋ฒํ๋ ๋ฒ์๊ฐ ๋งค์ฐ ์ปค์ง
- pixel์ ๊ธฐ๋ฐ์ผ๋ก ํ L2 distance์ ๊ฒฝ์ฐ ์ฐ๋ฆฌ๊ฐ ์ธ์ํ๋ ์ ์ฌ์ ๊ณผ ๊ฑฐ๋ฆฌ๊ฐ ์๊ฒ ๋๋ฉฐ ์ค์ ์ฐ๋ฆฌ๊ฐ ์ํ๊ณ ์ ํ๋ ์๋ฏธ์ ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋๊ฒ ๋๋ค.
- ์ค์ ๋ฌผ์ฒด์ ํน์ง๊ณผ๋ ๋ณ๊ฐ๋ก ๋ฐฐ๊ฒฝ์ด ๋ฐ๋์๋จ ์ด์ ๋ก ๊ฐ๊น์ด ์์ ์ ์์
- ์๋ ์ฌ์ง๋ชจ๋ L2 distance๊ฐ ๊ฐ์ ์๊ฐ ์๋๋ฐ ์ด์ ๋ํ ์ ๋ณด๋ ๋งค์ฐ ๋ค๋ฅด๋ค๋ ๊ฒ์ ์ ์ ์์

- ์๋ ์ฌ์ง๋ชจ๋ L2 distance๊ฐ ๊ฐ์ ์๊ฐ ์๋๋ฐ ์ด์ ๋ํ ์ ๋ณด๋ ๋งค์ฐ ๋ค๋ฅด๋ค๋ ๊ฒ์ ์ ์ ์์