Nearest Neighbor Algorithm
A์ ํด๋นํ๋ ๋ชจ์์?
- ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์์ ๋ ๊ฐ์ฅ ๊ฐ๊น์ด ์๋ ๊ฒ์ด ๋ฌด์์ธ์ง๋ฅผ ์ฐพ์ ๋ฐ์ดํฐ์ ์ข ๋ฅ๋ฅผ ์ ํด์ฃผ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋งค์ฐ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ ์๊ณ ๋ฆฌ์ฆ
K-Nearest Neighbor Algorithm
A์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฒ์ ํ๋ ๋๊ทธ๋ผ๋ฏธ, but ์กฐ๊ธ ๋ํ์ ๋ณด๋ฉด ๋ญ๊ฐ ์๋ชป ๋์
- ๋จ์ํ ์ฃผ๋ณ์ ๊ฐ์ฅ ๊ฐ๊น์ด ์๋ ๊ฒ์ ๋ณด๋ ๊ฒ์ด ์๋
์ฃผ๋ณ์ ์๋ ๋ช ๊ฐ์ ํน์ง์ ๊ฐ์ด ๋ณด๊ณ ๋ค์๊ฒฐ์ ๋ฐ๋ผ ๊ณจ๋ผ๋ด๋ ๋ฐฉ์- k = preferably a small odd number
- ํน์ ์
๋ ฅ ๋ฐ์ดํฐ x์ ๋ํด, ์ฃผ๋ณ K๊ฐ์ ํ๋ จ ์ํ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก
๊ฐ์ฅ ๋ง์ ํด๋์ค๋ก ๋ถ๋ฅ๋ฅผ ์ํํ๋ ์๊ณ ๋ฆฌ์ฆ
K-Nearest Neighbor Regression
- KNN ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด ํ๊ท ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ๊ฐ๋ฅ
- K๊ฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ด์ ์ํ์ ์ฐพ๊ณ ์ด ์ํ๋ค์ ํ๊น๊ฐ์ ํ๊ท ์ ์ฌ์ฉํ๊ฑฐ๋, ๊ฐ์คํฉํ ํ ํ๊ท ์ ๊ตฌํ์ฌ ์์ธก
- ๋ถ๋ฅ์ ํ๊ท ๋ชจ๋ ๋ ๊ฐ๊น์ด ์ด์์ผ์๋ก ๋ ๋จผ ์ด์๋ณด๋ค ํ๊ท ์ ๋ ๋ง์ด ๊ธฐ์ฌํ๋๋ก ์ด์์ ๊ธฐ์ฌ์ ๊ฐ์ค์น๋ฅผ ์ฃผ๋ ๊ฒ์ด ์ ์ฉํ ์ ์์
- ์๋ฅผ ๋ค์ด, ๊ฐ์ฅ ํํ ๊ฐ์ค์น ์คํค๋ง๋ d๊ฐ ์ด์๊น์ง์ ๊ฑฐ๋ฆฌ์ผ ๋ ๊ฐ๊ฐ์ ์ด์์๊ฒ 1/d์ ๊ฐ์ค์น๋ฅผ ์ฃผ๋ ๊ฒ
- Train Dataset์ ์ ์ฅํ๋ ๊ฒ์ด ๋ชจ๋ธ ์์ฑ์ ์ ๋ถ์ด๋ฉฐ ์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์์ธก
๊ฐ์ฅ ๊ทผ์ ํ k=7 ๊ฐ์ ์ด์ ์ค, ๊ฐ์ฅ ๋ง์ ์ด๋ก ํด๋์ค๋ก ๋ถ๋ฅ
๊ฑฐ๋ฆฌ ๊ณ์ฐ
-
- ๊ฑฐ๋ฆฌ(distance)๋ฅผ ์ ๊ตฌํด์ผ ํ ๊น?
- ๊ฑฐ๋ฆฌ๋ ์ผ์ข ์ ์ ์ฌ๋(Similarity) ๊ฐ๋ ์ด๊ธฐ ๋๋ฌธ
- ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๊น์ธ์๋ก ๊ทธ ํน์ฑ(feature)๋ค์ด ๋น์ทํ๋ค๋ ๋ป
- ์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ (Euclidean Distance)
- ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ๋ฐฉ๋ฒ
- 2์ฐจ์ ์ผ ๊ฒฝ์ฐ
- n์ฐจ์ ์ผ ๊ฒฝ์ฐ
- ๋งจํํ ๊ฑฐ๋ฆฌ (Manhattan Distance)
- ์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ์ ์ ์ฌํ๊ธด ํ๋ฐ, ๊ฐ ์ฐจ์์ ์ฐจ๋ฅผ ์ ๊ณฑํด์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋ ์ ๋๊ฐ์ ํฉ์ฐํจ
- ๋งจํํ ๊ฑฐ๋ฆฌ๋ ํญ์ ์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค
- n์ฐจ์ ์ผ ๊ฒฝ์ฐ
- ํด๋ฐ ๊ฑฐ๋ฆฌ (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์์๋ ์๋ก์ด ์ํ์ ๋ํ ์์ธก์ ์ด๋ป๊ฒ ๋ง๋๋์?
- ์ด์ ์ํ ํด๋์ค ์ค ๋ค์์ธ ํด๋์ค
- ์ด์ ์ํ์ ํ๊น๊ฐ์ ํ๊ท
- ์ด์ ์ํ ์ค ๊ฐ์ฅ ๋์ ํ๊น๊ฐ
- ์ด์ ์ผํ ์ค ๊ฐ์ฅ ๋ฎ์ ํ๊น๊ฐ