What is K-Nearest Neighbors?
K-Nearest Neighbors(K-์ต๊ทผ์ ์ด์, K-NN)์ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก, ๋ฐ์ดํฐ ๋ถ๋ฅ ๋ฐ ํ๊ท ๋ถ์์ ์ฌ์ฉ๋๋ Supervised Learning ๋ฐฉ์์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. K-NN์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ ๋, ๊ฐ์ฅ ๊ฐ๊น์ด K๊ฐ์ ์ด์ ๋ฐ์ดํฐ ํฌ์ธํธ๋ฅผ ์ฐพ์ ์ด๋ค์ ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด๋น ๋ฐ์ดํฐ ํฌ์ธํธ์ ํด๋์ค๋ฅผ ๊ฒฐ์ ํ๋ค. ์ด ๋, ๋ฐ์ดํฐ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ ํ ๋์๋ L2 Distance (Euclidean distance)๊ฐ ์ฌ์ฉ๋๋ค.
Regression VS. Classification
๊ธฐ๊ณ ํ์ต ์ค Supervised Learning์๋ ๋ ๊ฐ์ง ์ ํ์ด ์๋ค. ๋ฐ๋ก ํ๊ท (Regression) ๋ฐ ๋ถ๋ฅ (Classification)์ด๋ค.
ํ๊ท๋ ์ฐ์์ ์ธ ์ซ์ ๊ฐ์ ์์ธกํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์์ธก ๋ชจ๋ธ๋ง ์ ํ์ด๋ค. ํ๊ท์ ๋ชฉํ๋ ์ ๋ฐ์ดํฐ์ ๋ํ ์์ธก์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ ๋ ฅ ๋ณ์์ ์ถ๋ ฅ ๋ณ์ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํ๋ ๊ฒ์ด๋ค. ํ๊ท ์์ ์ ์๋ก๋ ํ๋ฐฉ ํผํธ ๋ฐ ์นจ์ค ์์ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ธฐ๋ฐ์ผ๋ก ์ฃผํ ๊ฐ๊ฒฉ์ ์์ธกํ๊ฑฐ๋ ์จ๋ ๋ฐ ์ต๋์ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ฐ๋์ ์์ธกํ๋ ๊ฒ์ด ์๋ค.
๋ฐ๋ฉด ๋ถ๋ฅ๋ ๋ฐ์ดํฐ ํฌ์ธํธ๊ฐ ์ํ ํด๋์ค ๋๋ ๋ฒ์ฃผ๋ฅผ ์์ธกํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ๋ถ๋ฅ์ ๋ชฉํ๋ ์ ๋ ฅ ๊ณต๊ฐ์์ ์๋ก ๋ค๋ฅธ ํด๋์ค๋ฅผ ๊ตฌ๋ถํ๋ ๊ฒฐ์ ๊ฒฝ๊ณ๋ฅผ ํ์ตํ๋ ๊ฒ์ด๋ค. ๋ถ๋ฅ ์์ ์ ์๋ก๋ ์ด๋ฉ์ผ์ด ์คํธ์ธ์ง ์ฌ๋ถ๋ฅผ ์์ธกํ๊ฑฐ๋ ํ์์ ์ฆ์์ ๊ธฐ๋ฐ์ผ๋ก ํน์ ์ง๋ณ์ด ์๋์ง ์์ธกํ๋ ๊ฒ์ด ์๋ค.
ํ๊ท์ ๋ถ๋ฅ์ ์ฃผ์ ์ฐจ์ด์ ์ ์์ธกํ๋ ์ถ๋ ฅ ๋ณ์์ ์ ํ์ด๋ค. ํ๊ท๋ ์ฐ์์ ์ธ ์ซ์ ๊ฐ์ ์์ธกํ๋ ๋ฐ๋ฉด (continuous),
๋ถ๋ฅ๋ ๋ฐ์ดํฐ ํฌ์ธํธ๊ฐ ์ํ ํด๋์ค ๋๋ ๋ฒ์ฃผ๋ฅผ ์์ธกํ๋ค (discrete).
์์ฝํ๋ฉด ์๋์ ๊ฐ๋ค.
Logistic Regression์ ์ด์ง ๋ถ๋ฅ(Binary Classification) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํต๊ณํ์ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ ฅ ํน์ฑ(feature)๊ณผ ์ด์ง ๋ถ๋ฅ ๊ฒฐ๊ณผ(target) ์ฌ์ด์ ๊ด๊ณ๋ฅผ ๋ชจ๋ธ๋งํ๊ณ , ์ด๋ฅผ ํตํด ์๋ก์ด ์ ๋ ฅ๊ฐ์ ๋ํ ๋ถ๋ฅ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ๋ค.
Logistic Regression์ ์ ๋ ฅ๊ฐ๊ณผ ๊ฐ์ค์น(weight)์ ์ ํ ์กฐํฉ์ ๊ณ์ฐํ ํ, ์ด๋ฅผ Logistic Function์ ์ ์ฉํ์ฌ ํ๋ฅ ๊ฐ์ ๊ณ์ฐํ๋ค. ์ด ํ๋ฅ ๊ฐ์ ๋ถ๋ฅ ๋ฌธ์ ์์๋ 0.5๋ฅผ ๊ธฐ์ค์ผ๋ก 0 ๋๋ 1๋ก ๋ถ๋ฅํ๋ค.
Logistic Regression์ด ์ด์ง ๋ถ๋ฅ์ ์ ํฉํ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
ํ์ง๋ง Logistic Regression๋ ๋ช ๊ฐ์ง ๋จ์ ์ด ์๋ค.
Sigmoid Function๋ Logistic Function ์ค ํ๋๋ก, ์ ๋ ฅ๊ฐ์ 0๊ณผ 1 ์ฌ์ด์ ๊ฐ์ผ๋ก ๋ณํ์์ผ์ฃผ๋ ํจ์์ด๋ค. ์ด ํจ์๋ ์ด์ง ๋ถ๋ฅ(Binary Classification)์์ ๋งค์ฐ ์์ฃผ ์ฌ์ฉ๋๋ฉฐ, ์ถ๋ ฅ๊ฐ์ ํ๋ฅ ๋ก ๋ค๋ฃจ๋ ๊ฒฝ์ฐ์๋ ๋ง์ด ์ฌ์ฉ๋๋ค.
Sigmoid Function์ ์์์ ๋ค์๊ณผ ๊ฐ๋ค.
\[sigmoid(z) = \frac{1}{1 + e^{-z}}\]์ฌ๊ธฐ์ e๋ ์์ฐ์์์ด๊ณ , z๋ ์ ๋ ฅ๊ฐ์ ์๋ฏธํ๋ค.
์ด ํจ์๋ฅผ ๊ทธ๋ํ๋ก ํํํ๋ฉด ์๋ ๊ทธ๋ํ์ฒ๋ผ S์ ํํ๋ฅผ ๊ฐ๊ฒ ๋๋ค.
์
๋ ฅ๊ฐ z๊ฐ 0์ผ๋ก ๊ฐ๊น์์ง์๋ก ์ถ๋ ฅ๊ฐ์ 0.5์ ์๋ ดํ๊ณ ,
์
๋ ฅ๊ฐ z๊ฐ ํฐ ์์์ผ ๊ฒฝ์ฐ ์ถ๋ ฅ๊ฐ์ 1์ ๊ฐ๊น์์ง๋ฉฐ,
์
๋ ฅ๊ฐ z๊ฐ ํฐ ์์์ผ ๊ฒฝ์ฐ ์ถ๋ ฅ๊ฐ์ 0์ ๊ฐ๊น์์ง๋ค.
Sigmoid Function์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
ํ์ง๋ง Sigmoid Function๋ ๋ช ๊ฐ์ง ๋จ์ ๋ ๊ฐ๊ณ ์๋ค.
์ฐธ๊ณ ๋ก, ๋ค์ค ๋ถ๋ฅ ๋ฌธ์ ์์๋ Softmax ํจ์๋ฅผ ์ฌ์ฉํ๊ณ , ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ReLU์ ๊ฐ์ ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
Logistic Function์ Sigmoid Function์ ์ฐจ์ด์ ์ ์ฃผ๋ก ์ฌ์ฉ๋๋ ๋ชฉ์ ๊ณผ ์์์ ์๋ฏธ์์ ์ฐจ์ด๊ฐ ์๋ค.
Logistic Function๋ Logistic Regression์์ ์ฌ์ฉ๋๋ ํ๋ฅ ๋ชจ๋ธ๋ง์ ์ํ ํจ์์ด๋ฉฐ, ์ ๋ ฅ๊ฐ๊ณผ ์ถ๋ ฅ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ชจ๋ธ๋งํ๋ ๋ฐ์ ์ฌ์ฉ๋๋ค.
๋ฐ๋ฉด, Sigmoid Function๋ ๋ค์ํ ๋ถ์ผ์์ ๋ฐ์ดํฐ์ ์ค์ผ์ผ๋ง, ์ ๊ทํ, ๋ถ๋ฅ ๋ฑ์ ์ฌ์ฉ๋๋ค.
๋ฐ๋ผ์, Logistic Function๋ Logistic Regression์์ ํน์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ ํจ์์ด๋ฉฐ, Sigmoid Function๋ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋๋ ์ผ๋ฐ์ ์ธ ํจ์์ด๋ค.
SVM Classifier VS. Softmax Classifier
SVM Classifier์ Softmax Classifier๋ ๋ชจ๋ ๋ถ๋ฅ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก, ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์๋ ํด๋์ค๋ก ๋ถ๋ฅํ๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ํ๋ค. ํ์ง๋ง ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋์ ๋ฐฉ์์ด ๋ค๋ฅด๋ค.
๋จผ์ SVM Classifier๋ Support Vector Machine์ ์ฝ์๋ก, ๊ฐ ํด๋์ค๋ฅผ ๋ถ๋ฆฌํ๋ ์ต์ ์ ์ดํ๋ฉด(hyperplane)์ ์ฐพ์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ๋ค. ์ด๋ SVM์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ ๋, Margin(์ฌ์ ๊ณต๊ฐ)์ ์ต๋ํํ๋ ์ดํ๋ฉด์ ์ฐพ์๋ด์ด, ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ๋ค์ด์์ ๋ ๋ถ๋ฅ๋ฅผ ๋ ์ํ ์ ์๋๋ก ํ๋ค. SVM์ ์ด Margin์ ์ต๋ํํ๋ฉด์, ์ด์์น(outlier)์ ๋ํด์๋ ๋ ๋ฏผ๊ฐํ ๋ชจ๋ธ์ ๋ง๋ค ์ ์๋ค.
๋ฐ๋ฉด์ Softmax Classifier๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๊ฐ ํด๋์ค๋ก ๋ถ๋ฅํ ํ๋ฅ ์ ๊ณ์ฐํ๋ค. ์ด๋ Softmax ํจ์๋ฅผ ์ฌ์ฉํ์ฌ, ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ๊ฐ ํด๋์ค์ ์ํ ํ๋ฅ ์ ๊ตฌํด๋ธ๋ค. Softmax ํจ์๋ ํจ์์ ์ ๋ ฅ๊ฐ์ ์ผ์ข ์ ํ๋ฅ ๊ฐ์ผ๋ก ๋ณํํ์ฌ, ๋ชจ๋ ํด๋์ค์ ๋ํ ํ๋ฅ ์ ํฉ์ด 1์ด ๋๋๋ก ๋ง๋ค์ด ์ค๋ค. (output ๊ฐ๋ค์ ํฌ๊ธฐ ์์๋ ์ ์งํ๋ฉด์, ๊ฐ๊ฐ์ด 0 ์ด์์ด๊ณ ํฉ์ด 1์ด ๋๊ฒ ๋ง๋ค์ด์ค) ๋ฐ๋ผ์ Softmax ํจ์๋ Classification์์ ์์ฃผ ์ฌ์ฉ๋๋ค.
SVM๊ณผ Softmax Classifier์ ์ฐจ์ด์ ์ ๊ฐ๋จํ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
\[L = \max(0,\ 10-5+1) + \max(0,\ 8-5+1) + \max(0,\ -2-5+1) = 10\](1) ์ด๋ค ์ด๋ฏธ์ง์ ๋ํด, forward ์งํ ํ ๋ชจ๋ธ์ output vector๊ฐ (10, 8, -2, 5) ์๋ค. ํด๋์ค ์์๋ ๊ณ ์์ด, ๊ฐ, ์ฌ์ด, ๊ณฐ ์์์ด๊ณ , ์ด ์ด๋ฏธ์ง์ ์ ๋ต์ด โ๊ณฐโ์ด์๋ค๊ณ ํ ๋, ์ด ์ด๋ฏธ์ง ํ๋์ ๋ํ SVM Loss ๊ฐ์ ๊ตฌํ๋ผ.
\[L = \max(0,\ 2-1+1) + \max(0,\ 4-1+1) = 6\](2) ์ด๋ค ์ด๋ฏธ์ง์ ๋ํด, forward ์งํ ํ ๋ชจ๋ธ์ output vector๊ฐ (1, 2, 4) ์๋ค. ํด๋์ค ์์๋ ์๋์ฐจ, ์์ ๊ฑฐ, ์คํ ๋ฐ์ด ์์์ด๊ณ , ์ด ์ด๋ฏธ์ง์ ์ ๋ต์ด โ์๋์ฐจโ์๋ค๊ณ ํ ๋, ์ด ์ด๋ฏธ์ง ํ๋์ ๋ํ SVM Loss ๊ฐ์ ๊ตฌํ๋ผ.
Softmax fuction์ ์์์ ์๋์ ๊ฐ๋ค.
\[\sigma (z_i) ={\exp(z_i)} \div {\sum_{j=1}^{K} \exp(z_j)}\](Shannon) Entropy, Cross Entropy, KL Divergence
์ฐธ๊ณ ํ๋ฉด ์ข์ ์๋ฃ : KL divergence - ๊ณต๋์ด์ ์ํ์ ๋ฆฌ๋ ธํธ
Entropy๋ ์ ๋ณด ์ด๋ก ์์ ์ฌ์ฉ๋๋ ๊ฐ๋ ์ค ํ๋๋ก, ์ด๋ค ํ๋ฅ ๋ถํฌ๊ฐ ๊ฐ์ง๋ ์ ๋ณด์ ํ๊ท ์ ์ธ ์์ ๋ํ๋ด๋ ๊ฐ์ด๋ค.
์ ๋ณด๋์ด ๋ง์์๋ก Entropy ๊ฐ์ ๋์์ง๋ฉฐ, ์ ๋ณด๋์ด ์ ์์๋ก Entropy ๊ฐ์ ๋ฎ์์ง๋ค.
(์ํธ๋กํผ๊ฐ ํฌ๋ค = ๋ฌด์ง์๋๊ฐ ํฌ๋ค = ์์ธก ๋ถ๊ฐ๋ฅ)
\[H(X) = - \sum_{i=1}^{n} P(x_i) \log_{2} P(x_i)\]์ฌ๊ธฐ์ $P(x)$๋ ํ๋ฅ ๋ถํฌ๋ฅผ ๋ํ๋ธ๋ค.
์ํธ๋กํผ๋ฅผ ์ดํดํ๊ธฐ ์ํด ๋์ ๋์ง๊ธฐ์ ์๋ฅผ ๊ณ ๋ คํ ์ ์๋ค.
๊ณต์ ํ ๋์ ์ด ์๋ค๋ฉด ์ด ์์คํ ์ ์ํธ๋กํผ๋ 1์ด ๋ ๊ฒ์ด๋ค. ์ฆ, ํ๊ท ์ ์ผ๋ก ๊ฐ ๋์ ๋์ง๊ธฐ์์ 1bit์ ์ ๋ณด๋ฅผ ๋ฐ์ ๊ฒ์ผ๋ก ์์๋๋ค.
๊ทธ๋ฌ๋ ํธํฅ๋ ์ฝ์ธ์ด ์์ผ๋ฉด ์์คํ ์ ๋ถํ์ค์ฑ๊ณผ ๋ฌด์์์ฑ์ด ์ ๊ธฐ ๋๋ฌธ์ ์ํธ๋กํผ๊ฐ ๋ฎ์์ง๋ค. ์๋ฅผ ๋ค์ด ํญ์ ์๋ฉด์ด ๋์ค๋ ๋์ ์ด ์๋ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ์ ๋ถํ์ค์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ์ด ์์คํ ์ ์ํธ๋กํผ๋ 0์ด ๋๋ค.
์ํธ๋กํผ์ ๋ ๋ค๋ฅธ ์๋ ์ธ์ด ๋ชจ๋ธ์ด ์๋ค. ์ธ์ด ๋ชจ๋ธ์ ์ํธ๋กํผ๋ ์ด์ ๋จ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์ฅ์ ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋ฐ ํ์ํ ํ๊ท ์ ๋ณด๋์ ๋ํ๋ธ๋ค.
์ธ์ด ๋ชจ๋ธ์ด ํฐ ํ ์คํธ ์ฝํผ์ค์ ๋ํด ํ์ต๋๋ฉด ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ ๋ ๋ถํ์ค์ฑ์ด ์ ๊ธฐ ๋๋ฌธ์ ์ํธ๋กํผ๊ฐ ๋ฎ์์ง๋ค.
Cross Entropy๋ ๋ ํ๋ฅ ๋ถํฌ ๊ฐ์ ์ฐจ์ด๋ฅผ ๋ํ๋ด๋ ๊ฐ์ผ๋ก, ์์ธก ๋ชจ๋ธ์ ๊ฒฐ๊ณผ๊ฐ๊ณผ ์ค์ ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ ๋ ์ฌ์ฉ๋๋ค.
\[H(P, Q) = -\sum_{i=1}^{n} P(x_i) \log(Q(x_i))\]์ฌ๊ธฐ์ $P(x)$๋ ์ค์ ์ ๋ต๊ฐ์ ํ๋ฅ ๋ถํฌ, $Q(x)$๋ ์์ธก ๊ฐ์ ํ๋ฅ ๋ถํฌ๋ฅผ ๋ํ๋ธ๋ค.
KL Divergence๋ ๋ ํ๋ฅ ๋ถํฌ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ธก์ ํ๋ ์งํ ์ค ํ๋๋ก, ๊ธฐ๊ณ ํ์ต ๋ฐ ์ ๋ณด ์ด๋ก ์์ ์์ธก ๋ถํฌ๋ฅผ ๋ชฉํ ๋ถํฌ์ ๋น๊ตํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋๋ค.
KL Divergence๊ฐ ์์ผ๋ฉด ์์ธกํ ํ๋ฅ ๋ถํฌ๊ฐ ์ค์ ํ๋ฅ ๋ถํฌ์ ๋น์ทํ๋ค๋ ๋ป์ด๊ณ , ํด์๋ก ์ฐจ์ด๊ฐ ํฌ๋ค๋ ๋ป์ด๋ค.
\[D_{KL}(P | Q) = \sum_{i=1}^{n} P(x_i) \log \frac{P(x_i)}{Q(x_i)}\]์ฌ๊ธฐ์ $P(x)$๋ ์ค์ ๊ฐ์ ํ๋ฅ ๋ถํฌ, $Q(x)$๋ ์์ธก ๊ฐ์ ํ๋ฅ ๋ถํฌ๋ฅผ ๋ํ๋ธ๋ค.
KL Divergence์ Cross Entropy๋ ์ ์ฌํ์ง๋ง, KL Divergence๋ ๋ ํ๋ฅ ๋ถํฌ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ธก์ ํ ๋ ๋น๋์นญ์ฑ์ ๊ฐ์ง๋ค๋ ์ฐจ์ด์ ์ด ์๋ค.
KL Divergence์์๋ $D_{KL}(P | Q)$์ $D_{KL}(Q | P)$๊ฐ ์๋ก ๋ค๋ฅผ ์ ์๋ ๋ฐ๋ฉด, Cross Entropy๋ ํญ์ ๋์นญ์ ์ผ๋ก ๊ณ์ฐ๋๋ค. |
๋ฐ๋ผ์ KL Divergence๋ Cross Entropy๋ณด๋ค ๋ ์๊ฒฉํ ์งํ๋ก์จ ์์ธก ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๋์ฑ ์ ํํ๊ฒ ํ๊ฐํ ์ ์๋ค.
Cross Entropy Loss๋ Classification ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ๋๋ค.
Network์ output์ softmax ํจ์๋ฅผ ์ทจํ ํ, target vector์ ๋น๊ตํ๋ค.
Cross Entropy Loss ๊ณ์ฐ ์, Target $P(x)$์ Output $Q(x)$์ ๋ํด $-\sum P(x) \log Q(x)$๋ก ๊ณ์ฐํ๋ค.
\[H(P, Q) = -\sum P(x) \log Q(x)\]