๋จธ์ ๋ฌ๋ ์ง๋ํ์ต์์ ์ฌ์ฉ๋๋ ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ ๋ถ๋ฅ ๋ฐ ํ๊ท ๋ฐฉ๋ฒ ์ค ํ๋์ธ KNN ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ฆฌ
KNN (K-Nearest Neighbors)
- KNN (K-Nearest Neighbors)์ ์ง๋ ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ํ๋๋ก, ๋ถ๋ฅ(Classification) ๋ฐ ํ๊ท(Regression) ๋ฌธ์ ์ ๋ชจ๋ ์ฌ์ฉ๋ ์ ์๋ค.
- KNN์ ๋งค์ฐ ์ง๊ด์ ์ด๊ณ ์ดํดํ๊ธฐ ์ฌ์ด ์๊ณ ๋ฆฌ์ฆ์ด๋ฉฐ, ๋ณ๋์ ํ๋ จ ๋จ๊ณ๊ฐ ์๋ค๋ ํน์ง์ด ์๋ค.
๊ฐ์
- ์ ์: ์๋ก์ด ๋ฐ์ดํฐ ํฌ์ธํธ๊ฐ ์ฃผ์ด์ก์ ๋, ๊ธฐ์กด ๋ฐ์ดํฐ ์ ์์ ๊ฐ์ฅ ๊ฐ๊น์ด K๊ฐ์ ์ด์์ ์ฐพ์, ์ด๋ค์ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์๋ก์ด ๋ฐ์ดํฐ ํฌ์ธํธ๋ฅผ ์์ธกํ๋ค.
- ๋ถ๋ฅ (Classification): K๊ฐ์ ์ด์ ์ค ๊ฐ์ฅ ๋ง์ ํด๋์ค๋ก ์๋ก์ด ๋ฐ์ดํฐ ํฌ์ธํธ๋ฅผ ๋ถ๋ฅํ๋ค.
- ํ๊ท (Regression): K๊ฐ ์ด์ ๊ฐ๋ค์ ํ๊ท ๋๋ ๊ฐ์ค ํ๊ท ์ ์ฌ์ฉํ์ฌ ์๋ก์ด ๋ฐ์ดํฐ ํฌ์ธํธ์ ๊ฐ์ ์์ธกํ๋ค.
- Lazy Learning: KNN์ ํ๋ จ ๋ฐ์ดํฐ์ ์ ์ ์ฅํ๋ ๊ฒ์ด ์ ๋ถ์ด๋ฉฐ, ์ค์ ์์ธก ์์ ์ ๊ณ์ฐ์ด ์ด๋ฃจ์ด์ง๋ฏ๋ก โLazy Learningโ์ด๋ผ๊ณ ๋ ๋ถ๋ฆผ.
KNN ์๊ณ ๋ฆฌ์ฆ
-
๋ฐ์ดํฐ ์ค๋น: ํ๋ จ ๋ฐ์ดํฐ์ ๊ณผ ํ ์คํธ ๋ฐ์ดํฐ์ ์ ์ค๋นํฉ๋๋ค. ํ๋ จ ๋ฐ์ดํฐ์ ์ ์ด๋ฏธ ํด๋์ค(๋ถ๋ฅ) ๋๋ ๊ฐ(ํ๊ท)์ด ํ ๋น๋ ๋ฐ์ดํฐ ํฌ์ธํธ๋ค๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
-
๊ฑฐ๋ฆฌ ์ธก์ : ์๋ก์ด ๋ฐ์ดํฐ ํฌ์ธํธ(ํ ์คํธ ๋ฐ์ดํฐ)์ ํ๋ จ ๋ฐ์ดํฐ์ ์ ๋ชจ๋ ๋ฐ์ดํฐ ํฌ์ธํธ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ(Euclidean Distance)๊ฐ ๋ง์ด ์ฌ์ฉ๋์ง๋ง, ํ์์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฑฐ๋ฆฌ ์ธก์ ๋ฐฉ์(๋งจํํ ๊ฑฐ๋ฆฌ, ๋ฏผ์ฝํ์คํค ๊ฑฐ๋ฆฌ ๋ฑ)์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
-
์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ (Euclidean Distance): ๋ ์ ย ์ย ย ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋ฉ๋๋ค.
-
๋งจํํ ๊ฑฐ๋ฆฌ (Manhattan Distance):
-
-
K๊ฐ์ ์ด์ ์ ํ: ๊ณ์ฐ๋ ๊ฑฐ๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด K๊ฐ์ ํ๋ จ ๋ฐ์ดํฐ ํฌ์ธํธ๋ฅผ ์ ํํฉ๋๋ค. K๋ ์ฌ์ฉ์๊ฐ ์ง์ ํ๋ ํ๋ผ๋ฏธํฐ์ ๋๋ค.
-
์์ธก:
- ๋ถ๋ฅ (Classification): ์ ํ๋ K๊ฐ์ ์ด์ ์ค ๊ฐ์ฅ ๋ง์ ํด๋์ค๋ฅผ ์๋ก์ด ๋ฐ์ดํฐ ํฌ์ธํธ์ ํด๋์ค๋ก ์์ธกํฉ๋๋ค. (๋ค์๊ฒฐ ํฌํ)
- ํ๊ท (Regression): ์ ํ๋ K๊ฐ ์ด์๋ค์ ๊ฐ์ ํ๊ท ์ ๊ณ์ฐํ์ฌ ์๋ก์ด ๋ฐ์ดํฐ ํฌ์ธํธ์ ๊ฐ์ผ๋ก ์์ธกํฉ๋๋ค. ๋๋, ๊ฑฐ๋ฆฌ์ ๋ฐ๋ฅธ ๊ฐ์ค ํ๊ท ์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. (๊ฐ๊น์ด ์ด์์ผ์๋ก ๋ ํฐ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌ)
-
๊ฒฐ๊ณผ: ์์ธก๋ ํด๋์ค ๋๋ ๊ฐ์ ๋ฐํํฉ๋๋ค.
3. K ๊ฐ ์ ํ
- K ๊ฐ์ KNN ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
- ์์ K ๊ฐ: ๋ชจ๋ธ์ด ๋ฐ์ดํฐ์ ์ง์ญ์ ์ธ ํน์ง์ ๋ฏผ๊ฐํ๊ฒ ๋ฐ์ํ์ฌ ๊ณผ์ ํฉ(Overfitting)๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
- ํฐ K ๊ฐ: ๋ชจ๋ธ์ด ๋ฐ์ดํฐ์ ์ ์ฒด์ ์ธ ํน์ง์ ๋ฐ์ํ์ฌ ๊ณผ์์ ํฉ(Underfitting)๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
- ์ ์ ํ K ๊ฐ ์ ํ ๋ฐฉ๋ฒ:
- ํ์ K ๊ฐ: ๋ถ๋ฅ ๋ฌธ์ ์์ K๋ฅผ ํ์๋ก ์ค์ ํ๋ฉด ๋์ (tie)์ด ๋ฐ์ํ๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. (ํนํ ์ด์ง ๋ถ๋ฅ ๋ฌธ์ )
- ๊ต์ฐจ ๊ฒ์ฆ (Cross-Validation): ๋ค์ํ K ๊ฐ์ ๋ํด ๊ต์ฐจ ๊ฒ์ฆ์ ์ํํ์ฌ ์ต์ ์ K ๊ฐ์ ์ฐพ์ต๋๋ค.
- Elbow Method: K ๊ฐ์ ๋ณํ์ํค๋ฉด์ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐํ๊ณ , ์ฑ๋ฅ ๋ณํ๊ฐ ๋ํ๋๋ ์ง์ ์ ์ต์ ์ K ๊ฐ์ผ๋ก ์ ํํฉ๋๋ค.
4. ์ฅ๋จ์
- ์ฅ์ :
- ๊ตฌํ์ด ๊ฐ๋จํ๊ณ ์ดํดํ๊ธฐ ์ฝ์ต๋๋ค.
- ๋ณ๋์ ํ๋ จ ๋จ๊ณ๊ฐ ํ์ ์์ต๋๋ค.
- ๋น์ ํ ๋ฐ์ดํฐ์๋ ์ ์๋ํฉ๋๋ค.
- ์๋ก์ด ๋ฐ์ดํฐ ์ถ๊ฐ์ ์ ์ฐํ๊ฒ ๋์ฒํ ์ ์์ต๋๋ค.
- ๋จ์ :
- ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ํด ๊ฒฝ์ฐ ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค. (๋ชจ๋ ๋ฐ์ดํฐ ํฌ์ธํธ์์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํด์ผ ํจ)
- ์ต์ ์ K ๊ฐ์ ์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ํน์ฑ(feature)์ ์ค์ผ์ผ์ ๋ฏผ๊ฐํฉ๋๋ค. (๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ ์๊ณ ๋ฆฌ์ฆ์ด๋ฏ๋ก, ํน์ฑ ์ค์ผ์ผ๋ง์ด ํ์)
- ์ฐจ์์ ์ ์ฃผ(Curse of Dimensionality) ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. (ํน์ฑ ์๊ฐ ๋ง์์ง์๋ก ์ฑ๋ฅ ์ ํ)
5. ํ์ฉ ๋ถ์ผ
- ์ด๋ฏธ์ง ์ธ์: ์ด๋ฏธ์ง ๋ถ๋ฅ, ๊ฐ์ฒด ์ธ์
- ์ถ์ฒ ์์คํ : ์ฌ์ฉ์-์์ดํ ๊ฐ ์ ์ฌ๋ ๊ธฐ๋ฐ ์ถ์ฒ
- ์๋ฃ ์ง๋จ: ํ์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ง๋ณ ์์ธก
- ์ ์ฉ ํ๊ฐ: ์ ์ฉ ์ ์ ์์ธก
6. ๊ฐ์ ๋ฐฉ๋ฒ
- ์ฐจ์ ์ถ์ (Dimensionality Reduction): PCA(Principal Component Analysis) ๋ฑ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ํน์ฑ ์๋ฅผ ์ค์ฌ ๊ณ์ฐ ๋น์ฉ์ ์ค์ด๊ณ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ํน์ฑ ์ ํ (Feature Selection): ์ค์ํ ํน์ฑ๋ง ์ ํํ์ฌ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ๊ฑฐ๋ฆฌ ๊ฐ์ค์น (Distance Weighting): ๊ฐ๊น์ด ์ด์์ ๋ ํฐ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ์ฌ ์์ธก ์ ํ๋๋ฅผ ๋์ผ ์ ์์ต๋๋ค.
- KD-Tree, Ball-Tree: ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์์ ํจ์จ์ ์ธ ์ด์ ๊ฒ์์ ์ํด KD-Tree ๋๋ Ball-Tree์ ๊ฐ์ ๊ณต๊ฐ ๋ถํ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
KNN์ ๊ฐ๋จํ๋ฉด์๋ ๊ฐ๋ ฅํ ์๊ณ ๋ฆฌ์ฆ์ด์ง๋ง, ๋ฐ์ดํฐ์ ํน์ฑ๊ณผ ๋ฌธ์ ์ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ์ ์ ํ K ๊ฐ์ ์ ํํ๊ณ , ํ์ํ ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ๊ฑฐ์น๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.