KNN & kernel method
2021-1ํ๊ธฐ, ๋ํ์์ โํต๊ณ์ ๋ฐ์ดํฐ๋ง์ด๋โ ์์ ์ ๋ฃ๊ณ ๊ณต๋ถํ ๋ฐ๋ฅผ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ง์ ์ ์ธ์ ๋ ํ์์ ๋๋ค :)
์ด ํฌ์คํธ๋ Regression Spline๊ณผ Spline Method (2)์ด์ด์ง๋ ๋ด์ฉ์ ๋๋ค ๐
KNN; K-Nearest Neighbor method
Regression function $f(x) = E(Y \mid X=x)$๋ฅผ ๋ชจ๋ธ๋ง ํ๋ ๊ฐ์ฅ ์์ฐ์ค๋ฌ์ด ์ ๊ทผ์ค ํ๋๋ ๋ฐ๋ก $x$์ ๊ฐ์ฅ ๊ฐ๊น์ด $k$๊ฐ์ ์ ์ผ๋ก ํ๊ท ์ ๋ด๋ <KNN>์ด๋ค.
\[\hat{f}(x) = \text{Avg} \, (y_i \, \mid \, x_i \in N_k(x))\]where $N_k(x)$ is the set of $k$ points nearest to $x$.
์ด๋ ๊ฒ KNN์ ์ธ๋ ๊น๋ฆฐ ๊ฐ์ ์ โ์ถ์ ํ๋ ค๋ ํจ์ $f(x)$๊ฐ smooth ํ๋คโ์ด๋ค.
KNN์ parameter์ธ $k$๋ model complexity๋ฅผ ์ปจํธ๋กค ํ๋ค.
- small $k$: model complexity โฒ, bias โผ, variance โฒ // make ziggle model
- Large $k$: model complexity โผ, bias โฒ, variance โผ // make smooth model
[Problem ๐ฑ] KNN $\hat{f}(x)$ is not smooth and not continuous!!
KNN์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์ ํ๋ ๊ฒ์ด ๋ฐ๋ก <kernel method>๋ค!
Kernel Method
KNN์ ์์ ๋ค์ ๊ธฐ์ ํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค.
\[\hat{f}(x) = \frac{\displaystyle \sum^n_{i=1} \, K_k (x, x_i) \cdot y_i}{\displaystyle \sum^n_{i=1} \, K_k (x, x_i) }\]where $K_k (x, x_i) = I(x_i \in N_k (x))$.
<kernel method>์ ๋ฉ์ธ ์์ด๋์ด๋ KNN์์ $I(x_i \in N_k(x))$๋ฅผ ๋ค๋ฅธ smooth function $K_{\lambda}(x, xโ)$๋ก ๋์ฒดํ๋ค๋ ๊ฒ์ด๋ค!! ์ด๋์ ๊ทธ smooth function $K_{\lambda}(x, xโ)$๋ฅผ <kernel function>์ด๋ผ๊ณ ํ๋ค!!
์์ ๊ทธ๋ฆผ์ <kernel function> ์ค ํ๋์ธ <Epanechnikov kernel>์ ์๊ฐํํ ๊ฒ์ด๋ค.
์ฆ, <kernel method>๋ equally weighting ํ๋ KNN๊ณผ ๋ฌ๋ฆฌ, kernel์ ๋ฐ๋ผ ๊ฐ๊น์ด ์๋ point์๋ ๋ ํฐ weight์ ๋ถ์ฌํด์ฃผ๋ ์ญํ ์ ํ๋ค.
Q. <kernel method>๋ฅผ ์ ์ฉํ ๊ทธ๋ฆผ์์ boundary ์ชฝ์ ๋ณด๋ฉด, estimated curve๊ฐ ์ฝ๊ฐ ์ฌ๋ผ๊ฐ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด๊ฒ์ ์ ๋ฐ์ํ๋ ๊ฒ์ด๋ฉฐ, ์ด ๋ฌธ์ ๋ dataset์ ์๊ด์์ด ์ผ์ด๋๋ <kernel method>์ ๋ณธ์ง์ ์ธ ๋ฌธ์ ์ธ๊ฐ?
A. ์๋ฌด๋ฆฌ <kernel method>๋ผ๊ณ ํด๋ boundary problem์์ ์์ ๋ก์ธ ์ ์๋ค. ์ด๊ฒ์ <kernel method>์ ๋ณธ์ง์ ์ธ ๋ฌธ์ ๋ค.
// ์ถ๊ฐ๋ก ํจ์์ ๊ฐ์ด๋ฐ ๋ถ๋ถ์์๋ ์ถ์ ์ด ์ ํํ์ง ์์ ๊ฒ์ ๋ณผ ์ ์๋ค ๐ฅ
Nadaraya-Watson Estimator
For a given kernel $K_\lambda$, <Nadaraya-Watson Estimator> is
\[\hat{f}(x) = \frac{\displaystyle \sum^n_{i=1} K_{\lambda} (x, x_i) \cdot y_i}{\displaystyle\sum^n_{i=1} K_{\lambda} (x, x_i)}\]์ด <NW Estimator>์ ์ฌ์ฉ๋๋ ์ปค๋ ์ค ์ ๋ช ํ ๊ฒ์ ๋๋ถ๋ถ ์๋์ ํํ๋ฅผ ์ง๋๋ค.
\[K_{\lambda} (x, x') = D \left( \frac{\left| x - x' \right|}{\lambda} \right)\]where $D$ is a non-negative decreasing on $[0, \infty)$.
$D$๋ ๋์ถฉ ์ข ๋ชจ์์ ์ฐํจ์๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. <Epanechnikov kernel>๊ฐ ๋ํ์ ์ธ ์์๋ค.
Examples.
- Epanechnikov kernel
- Tri-cube kernel
- Gaussian kernel
$\lambda$๋ ์ผ์ข ์ tuning parameter๋ก, scale์ ์กฐ์ ํ๋ ๊ธฐ๋ฅ์ ํ๋ค; bandwidth (smoothing) parameter.
- small $\lambda$: model complexity โฒ, bias โผ, variance โฒ // make ziggle model
- Large $\lambda$: model complexity โผ, bias โฒ, variance โผ // make smooth model
// KNN์ $k$์ฒ๋ผ model complexity๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ํ๋ค!!
๐ฅ Problem: <Nadaraya-Watson Estimator> has large bias around the boundary ๐ฅ
Local Linear Regression with kernel method
kernel method๋ฅผ ์ฐ๋ <Nadaraya-Watson Estimator>์์ โcurvurse๋ฅผ ์ ๋๋ก catchํ์ง ๋ชป ํ๋คโ, โboundary์์ bias๊ฐ ํฌ๋คโ ๋ฑ์ ๋ฌธ์ ๊ฐ ์์๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ์ดํด๋ณด์!
์ง๊ธ๊น์ง์ <kernel method>๋ ์ฌ์ค weighted local constant fitting์ ํ ๊ฒ์ด๋ค. ์ฆ, โlocal constant fittingโ์ ํ๊ธด ํ๋๋ฐ, kernel function์ผ๋ก weighting์ ํ๋ค๋ ๋ง์ด๋ค. ๊ทธ๋์ ์ด๋ฒ์๋ constant fitting ๋์ ์ linear fitting ํ๋ ๋ฐฉ๋ฒ์ ๋์ ํ๊ฒ ๋๋ค!
๐ <local linear regression>์ด <NW estimator> ๋ณด๋ค boundary์์ ํจ์ฌ bias๊ฐ ์ค์ด๋ ๊ฒ์ ํ์ธํ ์ ์๋ค!! ๐
Find a local linear estimator $\hat{f}(x) = \alpha(x) + \beta(x)\cdot x$ where
\[\underset{\alpha(x), \, \beta(x)}{\text{argmin}} \; \sum^n_{i=1} \; K_{\lambda} (x, x_i) \, \left[ y_i - \alpha(x) - \beta(x) \cdot x_i \right]^2\]์์ ์์ local ๊ตฌ๊ฐ ์ค ํ๋์ ๊ตฌ๊ฐ์ ๋ํ estimated function $\hat{f}(x)$์ ๊ธฐ์ ํ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์ ์ฒด ๊ตฌ๊ฐ์ผ๋ก ํ์ฅํด์ ํ๋ ฌ์ ํํ๋ก ๊ธฐ์ ํ๋ฉด ์๋์ ๊ฐ๋ค.
Let $\mathbf{W}(x) = \text{diag} (K_\lambda (x, x_i))$, and $\mathbf{B}$ be $n\times 2$ with $i$-th row $b(x_i)^T$, where $b(x) = (1, x)^T$.
Then,
\[\hat{f}(x) = b(x)^T \cdot \left( \mathbf{B}^T \mathbf{W}(x) \mathbf{B} \right)^{-1} \cdot \mathbf{B}^T \mathbf{W}(x) \mathbf{y}\]์์ด ๋ง์ด ๋ณต์กํ๋ค. ์กฐ๊ธ ๊ฐ๋จํ๊ฒ ๋ณด๋ ค๋ฉด, weight ๋ถ๋ถ์ธ $\mathbf{W}(x)$๋ฅผ ๋นผ๊ณ ์์ ๋จผ์ ์ดํดํ๋๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค.
์ด <local linear regression>์ ์์ด๋์ด๋ฅผ ํ์ฅ์ <local polynomial regression>์ผ๋ก ํ์ฅํด๋ณผ ์๋ ์๋ค!!
๐ <local quadratic regression>์ด <local linear regression>๋ณด๋ค curverture๊ฐ ์๋ ๋ถ๋ถ์ ๋ ์ fitting ํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๐
Q. ์ง๊ธ๊น์ง์ ์ดํด๋ณธ ๊ฒ์ ์ข ํฉํด๋ณด๋ฉด, <local constant fit> ๋ณด๋จ <local linear fit>์ด ์ข์๋ค. ๋, <local quadratic fit>์ด ๋ ์ข์๋ค. ๊ทธ๋ ๋ค๋ฉด, polynomial fitting์ ์ฐจ์๊ฐ ๋์ ์๋ก ์ข์ ๊ฒ ์ผ๊น?
A. NO!!!
์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค!!! ์๋์ ๊ทธ๋ฆผ์ ์ดํด๋ณด์.
์ด ๊ฒฝ์ฐ, <constant fit>์ด ๊ฐ์ฅ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์๋ค. ๋, boundary์์ <quadratic fit>์ ํฐ variance์ ๋ณด์ด๋ ๊ฑธ ํ์ธํ ์ ์๋ค. // ์ ๊ทธ๋ฆผ์์ bias๋ ๋๊ฐ์๋ฐ variance๋ quadratic์ด ๊ฐ์ฅ ์ปธ๋ค.
์ด๊ฒ์ ๊ฒฐ๊ตญ <bias-variance tradeoff>๋ก higher polynomial์ bias๋ฅผ ์ ๋ง์ถ ์ ์์ด๋ variance๊ฐ ๋์์ง๋ ๊ฒฝํฅ์ด ์๋ค.
๋ฐ๋ผ์, higher polynomial๋ก fitting ํ๋ ์ ๋ต์ด ํญ์ ์ฐ์ธํ๋ค๊ณ ๋งํ ์๋ ์๋ ๊ฒ์ด๋ค.
๐ฅ ๋น์ฐํ๊ฒ๋ dataset์ true relation์ curvurture๊ฐ ์์ ์๋ก linear fit์ด ์ผ๋ฐ์ ์ผ๋ก ๋ ์ข์ ์ฑ๋ฅ์ ๋ธ๋ค.
Local Likelihood Approach for logistic regression
์ด๋ฒ์๋ <spline method>์์ ์ดํด๋ดค๋ <non-parametric (binary) logistic regression> ๋ชจ๋ธ์ <kernel method>๋ฅผ ์ ์ฉํด๋ณด์.
<logistic regreeion>์์๋ $f(x) = x^T \beta(x)$๋ฅผ ๊ตฌํ์๋ค. ์ฌ๊ธฐ์ <kernel method>๋ฅผ ์ถ๊ฐํ๋ฉด, ์๋์ ์ต์ ํ ๋ฌธ์ ๋ฅผ ํ์ด $\hat{\beta}(x)$๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๊ฐ ๋๋ค.
\[\hat{\beta}(x) = \underset{\beta}{\text{argmax}} \; \sum^n_{i=1} \; K_{\lambda}(x, x_i) \cdot \ell (y_i, x_i^T\beta)\]where $\ell(y, f(x)) = y \cdot f(x) - \log (1 + e^{f(x)})$.
Kernel method with $p > 1$
์ง๊ธ๊น์ง ์ดํด๋ณธ <kernel method>๋ input variable์ ์ฐจ์ $p$๊ฐ 1์ธ ๊ฒฝ์ฐ ์๋ค. ์ด๋ฒ์๋ $p$๊ฐ 1 ์ด์์ธ ๊ฒฝ์ฐ, <kernel method>์ ๋ํ ์์ ์ดํด๋ณด๊ฒ ๋ค.
์ผ๋ฐ์ ์ผ๋ก $p$๊ฐ ์ปค์ง๋ฉด, โneighborhoodโ์ ๊ฐ๋ ์ด ์ ๋์ํ์ง ์๊ฒ ๋๋ค. (curse of dimensionality) ๊ทธ๋์ $p > 1$์์๋ โneighborโ๋ฅผ ๋จ์ํ ๊ตฌํ๋ ๊ฒ๋ณด๋จ ์ด๋ค structure๋ฅผ ๊ฐ์ ํ๊ณ ์ ๊ทผํ๋ค.
\[K_\lambda (x, x') = D \left( \frac{(x-x')^T A (x - x')}{\lambda} \right)\]์ด๋ฐ โstructured assumptionโ์ ์์๋ก๋
- $f(X) = \alpha + \beta^T X$; linear structure
- $f$ is a super-smooth function
- $f$ can be represented by few basis functions
- Additive model: $f(X_1, \dots, X_p) = \alpha + f_1(X_1) + \cdots + f_p(X_p)$
- โฆ
์ด ์ค์์ ๋ง์ง๋ง ์ ๊ทผ์ธ <Additive Model>์ด ๋ฐ๋ก ๋ค์ ํฌ์คํธ์์ ๋ค๋ฃฐ ๋ด์ฉ์ด๋ฉฐ, $p$ ์ฐจ์ ํจ์๋ฅผ ์ถ์ ํ๋ ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ 1์ฐจ์ ํจ์ $p$๊ฐ๋ฅผ ์ถ์ ํ๋ ๋ฌธ์ ๋ก ๊ฐ์ ํด ํด๊ฒฐํ๋ ์ ๊ทผ๋ฒ์ด๋ค.
๐ Additive Model ๐ฅ