SVM; Support Vector Machine
๋ณธ ๊ธ์ 2020-2ํ๊ธฐ โ์ปดํจํฐ ๋น์ โ ์์ ์ ๋ด์ฉ์ ๊ฐ์ธ์ ์ผ๋ก ์ ๋ฆฌํ ๊ฒ์ ๋๋ค. ์ง์ ์ ์ธ์ ๋ ํ์์ ๋๋ค :)
๐ฅ (before start) SVM์์๋ class label์ด $\{ -1, +1\}$๋ก ์ธ์ฝ๋ฉ ๋์ด ์๋ค๊ณ ๊ฐ์ ํ๋ค.
Introduction to SVM
Linearly Separableํ ๋ฐ์ดํฐ ํฌ์ธํธ์ ์งํฉ์ด ์์ ๋, ๋ ์งํฉ์ ๋๋๋ hyper-plane์ ๋ฌดํํ ๋ง์ด ๊ทธ๋ฆด ์ ์๋ค. <SVM; Support Vector Machine>์ ๋ฌดํํ ๋ง์ hyper-plane ์ค ์ด๋ค ๊ฒ์ด ๊ฐ์ฅ best์ธ์ง ์ฐพ๋ ๋ถ๋ฅ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
<SVM>์์๋ best hyper-plane์ ์๋์ ๊ฐ์ด ์ ์ํ๋ค.
์ฆ, <SVM>์ โmarginโ์ ์ต๋ํํ๋ hyper-plane์ธ ๊ฒ์ด๋ค. ๊ทธ๋ผ โmarginโ์ ๋ฌด์์ผ๊น? ์ฝ๊ฒ ์ค๋ช ํ๋ฉด, ๋ฐ์ดํฐ๋ฅผ ์ ํ์ผ๋ก ๋ถ๋ฆฌํ๋ hyper-plane์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐ์ดํฐ์ ๊ฑฐ๋ฆฌ โmarginโ์ด๋ผ๊ณ ํ๋ค.
์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด, $B_1$๊ณผ $B_2$ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ ์ ๋ถํ ํ๊ณ ์์ง๋ง, $B_1$์ด $B_2$ ๋ณด๋ค ๋ ์ฌ์ ๋กญ๊ฒ ๋ถ๋ฆฌํ๊ณ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด๋, ์ผ๋ง๋ ์ฌ์ ๋กญ๊ฒ ๋ถ๋ฆฌํ๊ณ ์๋์ง๋ฅผ hyper-plane๊ณผ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐ์ดํฐ์ ๊ฑฐ๋ฆฌ๋ก ์์นํํ ์ ์์ผ๋ฉฐ, ์ด๊ฒ์ด ๋ฐ๋ก โmarginโ์ด๋ค.
โmarginโ์ ๋ํ ์์ ์ ๋ํ๊ธฐ ์ํด hyper-plane์ ์๋์ ๊ฐ์ด ์ ์ํด๋ณด์.
\[w^T x + b = 0\]์ด๋, $w$๋ hyper-plane์ ๋ฒ์ ๋ฒกํฐ๋ค.
hyper-plane์ ์ ์ ์ํ์ผ๋ฉด, โmarginโ์ โ์ ๊ณผ ํ๋ฉด ์ฌ์ด ๊ฑฐ๋ฆฌ ๊ณต์โ์ ํตํด ์ฝ๊ฒ ๊ตฌํ ์ ์๋ค.
* ๋ง์ฝ margin์ ๋ฐฉํฅ์ ๊ตฌ๋ถํ๊ณ ์ถ๋ค๋ฉด, ๋ถ์ ๋ถ๋ถ์ ์ ๋๊ฐ์ ์ฐ์ง ์์ผ๋ฉด ๋๋ค!
๋๋ ์์ ์์ ์ฝ๊ฐ ๋ณํํด ์๋์ ๊ฐ์ด ์ฌ์ฉํ ์๋ ์๋ค.
\[\text{dist}(x_0) = \frac{ y_0 \cdot (w^T x_0 + b) }{ \| w \| }\]์ฌ์ค ์ฐ๋ฆฌ๊ฐ ํ์์ ์ฐ๋ โmarginโ์ ๊ฐ๋ ์ ์์ ์์์ ๋ถ์์ธ $y_0 \cdot (w^T x_0 + b)$์ด๋ค. ์ด โmarginโ์ class label์ด correctly classified ๋์๋ค๋ฉด, ํญ์ ์์์ ๊ฐ์ ๊ฐ๋๋ค. (linearly separable)ํ SVM์์๋ ์ด margin ๊ฐ์ด ํญ์ ์์๋ค!
์์ ์ -ํ๋ฉด ๊ฑฐ๋ฆฌ ๊ณต์์ ๋ฐํ์ผ๋ก โthe minimal distanceโ์ธ โmarginโ์ ํํํ๋ฉด ์๋์ ๊ฐ๋ค.
\[\begin{aligned} \text{margin} &= \min_i \left[ \text{dist}(x_i) \right] \\ &= \min_i \left[ \frac{ y_i \cdot (w^T x_i + b) }{ \| w \| } \right] \\ &= \frac{1}{\| w \|} \min_i \left[ y_i \cdot (w^T x_i + b) \right] \end{aligned}\]์ด์ ์์์ ์ ๋ํ โmarginโ์ ๋ํ ์์ผ๋ก <SVM>์ ์ต์ ํ ๋ฌธ์ ๋ฅผ ๊ธฐ์ ํ๋ฉด ์๋์ ๊ฐ๋ค.
\[\underset{w, b}{\text{argmax}} \left[ \frac{1}{\| w \|} \min_i \left[ y_i \cdot (w^T x_i + b) \right] \right]\]์ด์ <SVM>์ ์ต์ ํ ๋ฌธ์ ๋ฅผ ์ ์ํ์ผ๋, ์ด ๋ฌธ์ ์ solution์ ์ฐพ์๋ณด์!
Convex Optimization
\[\underset{w, b}{\text{argmax}} \left[ \frac{1}{\| w \|} \min_i \left[ y_i \cdot (w^T x_i + b) \right] \right]\]๋จผ์ , <SVM>์ ์ต์ ํ ์์์ ์ฝ๊ฐ์ normalization์ ์ํํด์ค๋ค.
๊ทธ ์ด์ ๋ hyper-plane $w^T x + b$๋ $c(w^T x + b)$๋ ๋์ผํ ํ๋ฉด์ ์ ์ํ๊ธฐ ๋๋ฌธ์, ๋ฌธ์ ์ ์์ ๋๋ฅผ ๋ฎ์ถ๊ณ ์์ ํ๊ธฐ ์ฝ๊ฒ ๋ณํํ๊ธฐ ์ํจ์ด๋ค!
์ฐ๋ฆฌ๋ ์๋์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ $w$์ $b$๋ก hyper-plane์ ์์ normalize ํ๋ค.
\[w^T x_{+} + b = 1 \quad \text{and} \quad w^T x_{-} + b = -1\]์ด๋, $x_{+}$์ $x_{-}$๋ hyper-plane์ด ๋ถํ ํ๋ label์์ โmarginโ์ ์ด๋ฃจ๋ ์ ์ด๋ค. ์ฐ๋ฆฌ๋ ์ด ์ ์ โsupport vectorโ๋ผ๊ณ ๋ถ๋ฅธ๋ค!
ps) ๋ณธ์ธ์ ์์ ๊ฐ์ด ๋ support vector์ ๋ํ ๊ฐ์ด $\pm1$์ด ๋๋๋ก normํ๋๊ฒ ๊ฐ๋ฅํ์ง ์ ์ดํด๊ฐ ์ ๋์๋๋ฐ, ์ ์๊ฐํด๋ณด๋๊น ๋ support vector๊ฐ ๊ฐ์ margin์ ๊ฐ์ง๋๋ก ์ค์ ํ๋ฉด ๋๋ ๊ฑฐ์๋ค.1 ๋ค๋ฅด๊ฒ ์๊ฐํ๋ฉด, ์์ ๊ฐ์ด normalize ํ๋ ๊ฒ ์ญ์ ์ต์ ํ ์์ constraint๋ก ์์ฉํ ๊ฑฐ๋ผ๋ ์๊ฐ์ด ๋ ๋ค.
์์ ๊ฐ์ด ์ค์ ํ๋ฉด, ๊ณง ์๋์ ์์ด ์ฑ๋ฆฝํ๋ค.
\[\text{margin} = \frac{1}{\| w \|}\]์ด๋ฅผ ๋ฐํ์ผ๋ก <SVM>์ ์ต์ ํ ์์ ๋ค์ ์ฐ๋ฉด ์๋์ ๊ฐ๋ค. ์ฐ๋ฆฌ๊ฐ โsupport vectorโ์ ๊ฐ์ด $\pm1$์ด ๋๋๋ก ์ค์ ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด ์์์ โconstraintโ ํ ์ด ๋ถ๋๋ค.
\[\underset{w, b}{\text{argmax}} \frac{1}{\| w \|} \cdot 1 \quad \text{subject to} \quad y_i (w^T x_i + b) \ge 1 \;\; \forall i\]์ด๋ ์์ ์ต์ ํ ์์ ์๋์ convex optimization๊ณผ ๋์น๋ค.
\[{\color{red}{\underset{w, b}{\text{argmin}} \frac{1}{2} \| w \|^2}} \quad \text{subject to} \quad y_i (w^T x_i + b) \ge 1 \;\; \forall i\]Dual Problem
์์ ๊ณผ์ ์ ํตํด ์ฐ๋ฆฌ๋ <SVM>์ โConvex Optimizationโ ๋ฌธ์ ์ ํํ๋ก ์ ์ ๋ํ๋ค.
\[\min_{w, b} \frac{1}{2} \| w \|^2 \quad \text{subject to} \quad y_i (w^T x_i + b) \ge 1 \;\; \forall i\]์ด๋, โConvex Optimizationโ ๋ฌธ์ ์ โLagrange Multiplierโ $\lambda_i$๋ฅผ ๋์ ํ๋ฉด <Dual Problem>์ด๋ผ๋ ์๋ก์ด ์ต์ ํ ๋ฌธ์ ๋ฅผ ์ป๋๋ค. ์ด๊ฒ์ <Dual Problem>์ด๋ผ๊ณ ํ๋ฉฐ <SVM>์ ๊ฒฝ์ฐ๋ ์๋์ ๊ฐ๋ค.
\[\max_{\lambda} \left[ \min_{w, b} L(w, b, \lambda) \right] \quad \text{where} \quad L(w, b, \lambda) = \frac{1}{2} \| w \|^2 - \sum_{i=1}^n {\color{red}{\lambda_i}} \{ y_i (w^T x_i + b) - 1 \} \quad \text{and} \quad \lambda_i \ge 0\]Lagrange Multiplier $\lambda_i$๋ฅผ ๋์ ํ๋ฉด์, ๊ธฐ์กด ์์ constraint ๋ถ๋ถ์ด ์ $L(w, b, \lambda)$๋ก ํก์ ๋์๋ค.
์์ด ๊ธฐ์กด๋ณด๋ค ํจ์ฌ ๋ณต์กํด์ก์ง๋ง, ์์ ์์ ์ ๋ง ์๊ฐ๋ณด๋ค ๋๋ฌด ์ฝ๊ฒ ํ๋ฆฐ๋ค!! ๐ฒ
\[\frac{\partial L(w, b, \lambda)}{\partial w} = w - \sum_{i=1}^n \lambda_i y_i x_i = 0 \quad \iff \quad w = \sum_{i=1}^n \lambda_i y_i x_i\] \[\frac{\partial L(w, b, \lambda)}{\partial b} = 0 - \sum_{i=1}^n \lambda_i y_i = 0 \quad \iff \quad \sum_{i=1}^n \lambda_i y_i = 0\]์์ฐ ์ ๋ง ๊ฐ๋จํ์ง ์์๊ฐ?? ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ Lagrange Multiplier๋ฅผ ๋์ ํ๋ฉด์, constraint๋ฅผ ํก์ํ๊ธฐ ๋๋ฌธ์ ๋จ์ํ ํธ๋ฏธ๋ถ ๋ง์ผ๋ก ์ต์ ํ ์์ ํด(่งฃ)๋ฅผ ๊ตฌํ ์ ์๋ ๊ฒ์ด๋ค!! ๐
ํ์ง๋ง ์์ง ๋ฌธ์ ๋ฅผ ์์ ํ ํด๊ฒฐํ ๊ฒ์ ์๋๋ค. ์ต์ ์ $w$๋ ์ฐพ์์ง๋ง, ๊ทธ ์์ $\lambda_i$๊ฐ ์์ด ์์ ํ ่งฃ๋ฅผ ์ป์ ๊ฒ์ด ์๋๋ค. ์์ ๊ณผ์ ์ ๊ธฐ์กด์ <Dual Problem>์ ์ต์ ํ ๋ฌธ์ ๋ฅผ ์๋์ ๊ฐ์ด ํ๊บผํ ๋ฒ๊ธด ๊ฒ์ ๋ถ๊ณผํ๋ค.
\[\begin{aligned} &\max_{\lambda} \left[ \frac{1}{2} \| w \|^2 - \sum_{i=1}^n \lambda_i \{ y_i (w^T x_i + b) - 1 \} \right] \\ &\text{where} \quad w = \sum_{i=1}^n \lambda_i y_i x_i \quad \text{and} \quad \sum_{i=1}^n \lambda_i y_i = 0 \quad \text{and} \quad \lambda_i \ge 0 \end{aligned}\]์ด๋ ์์ ์์์ $\sum \lambda_i y_i = 0$๋ฅผ ์ ์ฉํด ์์ ์ค๋ฅธ์ชฝ ํ ์ ์๋์ ๊ฐ์ด ๋ง๋ค ์ ์๋ค.
\[\max_{\lambda} \left[ \frac{1}{2} \| w \|^2 - \sum_{i=1}^n \lambda_i ( y_i w^T x_i - 1 ) \right] = \max_{\lambda} \left[ \frac{1}{2} \| w \|^2 - \sum_{i=1}^n \lambda_i y_i w^T x_i + \sum_{i=1}^n \lambda_i \right]\]์ด๋ฒ์๋ $w = \sum \lambda_i y_i x_i$๋ฅผ ๋์ ํ์.
\[\begin{aligned} \max_{\lambda} \left[ \frac{1}{2} \| w \|^2 - \sum_{i=1}^n \lambda_i y_i w^T x_i + \sum_{i=1}^n \lambda_i \right] &= \max_{\lambda} \left[ \frac{1}{2} \| \sum_{i=1}^n \lambda_i y_i x_i \|^2 - \sum_{i=1}^n \lambda_i y_i \sum_{j=1}^n \lambda_j y_j x_j^T x_i + \sum_{i=1}^n \lambda_i \right] \\ &= \max_{\lambda} \left[ \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \lambda_i \lambda_j y_i y_j x_i^T x_j - \sum_{i=1}^n \sum_{j=1}^n \lambda_i \lambda_j y_i y_j x_i^T x_j + \sum_{i=1}^n \lambda_i \right] \\ &= \max_{\lambda} \left[ \sum_{i=1}^n \lambda_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \lambda_i \lambda_j y_i y_j x_i^T x_j \right] \end{aligned}\]์์ ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ๋ค.
\[\begin{aligned} \max_{\lambda} \left[ \sum_{i=1}^n \lambda_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \lambda_i \lambda_j y_i y_j x_i^T x_j \right] \\ \text{where} \quad \lambda_i \ge 0 \quad \text{and} \quad \sum_{i=1}^n \lambda_i y_i = 0 \end{aligned}\]์์ ์ต์ ํ ๋ฌธ์ ์ ่งฃ๋ <QP; Quadratic Programming)>๋ก ์ป์ ์ ์๋ค๋ฉฐ, ๊ทธ๋์ ่งฃ $\lambda^{*}$๋ ์๋์ ๊ฐ๋ค.
\[\begin{aligned} \lambda^{*} = \underset{\lambda}{\text{argmax}} \; \left[ \sum_{i=1}^n \lambda_i - \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n \lambda_i \lambda_j y_i y_j x_i^T x_j \right] \\ \text{where} \quad \lambda_i \ge 0 \quad \text{and} \quad \sum_{i=1}^n \lambda_i y_i = 0 \end{aligned}\]์ด์ , solution $\lambda^{*}$๋์ ํ๋ฉด $w$, $b$์ ๋ํ ่งฃ๋ฅผ ์ป์ ์ ์๋ค.
\[w^{*} = \sum_{i=1}^n \lambda^{*}_i y_i x_i\]์ด๋ $\lambda^{*}_i$๋ 0 ๋๋ ์์์ ๊ฐ์ ๊ฐ๋๋ฐ,
- If $\lambda^{*}_i = 0$, then $x_i$๋ hyper-plane์ ์ ์ํ๋๋ฐ ๊ธฐ์ฌํ์ง ์๋๋ค.
- If $\lambda^{*}_i > 0$, then $x_i$๋ hyper-plane์ ์ ์ํ๋๋ฐ ๊ธฐ์ฌํ๊ณ , ์ด๊ฒ์ โsupport vectorโ๋ผ๊ณ ๋ถ๋ฅธ๋ค!
$b^{*}$๋ $w^T x_{+} + b = 1$์ ์์ ํตํด ์ ๋ํ๋ฉด ๋๋ค. ๋ฐ๋ก ์์ ์ ์ํ์ง๋ ์๊ฒ ๋ค.
Soft-margin SVM
๋ง์ฝ ๋ฐ์ดํฐ์ ์ด linearly separable ํ์ง ์๋ค๋ฉด, ์์ <SVM>์ ่งฃ๋ฅผ ๊ตฌํ ์ ์๋ค! ๐คฏ ์ด๋ฐ ๊ฒฝ์ฐ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด <slack variable> $\xi_i$๋ฅผ ๋์ ํ๋ค! ๊ทธ ๊ฒฐ๊ณผ, <SVM>์ ๋ํ ์์ ์๋์ ๊ฐ์ ์ต์ ํ ๋ฌธ์ ๊ฐ ๋๋ค.
\[\begin{aligned} \min_{w, b, \xi} \frac{1}{2} \| w \|^2 &+ C \sum_{i=1}^n \xi_i\\ \text{subject to} &\quad y_i (w^T x_i + b) \ge 1 - \xi_i \;\; \forall i, \quad \text{and} \quad \xi_i \ge 0 \end{aligned}\]์ด๊ฒ์ support vector๊ฐ ๋ง๋๋ margin ์์ญ๋ณด๋ค ๋ ์์ชฝ์ ๋ช๊ฐ์ ๋ฐ์ดํฐ ํฌ์ธํธ๊ฐ ์กด์ฌํ ์ ์๋๋ก ๋ง๋ค์ด ์ค๋ค!
\[y_i (w^T x_i + b) \ge 1 - \xi_i\]์ฝ๊ฒ ์๊ฐํด ๋ฐ์ดํฐ์ ์ non-separable ํ๊ฒ ๋ง๋๋ ๋ฐ์ดํฐํฌ์ธํธ์ ๋ํด์ $\xi_i$๊ฐ ์์์ ๊ฐ์ ๊ฐ์ ธ ๊ทธ๋ค์ margin ๊ฐ์ด ์กฐ๊ธ ์์์ ธ๋ ํ์ฉํ๋ค๊ณ ์ดํดํด๋ ๋ ๊ฒ ๊ฐ๋ค.
Non-Linear SVM
-
๋ฌผ๋ก ์ด๋ ํ์ชฝ์ support vector๊ฐ ๋ ์งง์ ์๋ ์๊ฒ ์ง๋ง, ๊ทธ๊ฒ์ SVM์ ์ทจ์ง์ ์ด๊ธ๋๋ฏ๋ก ๊ธฐ๊ฐํ๋ค.ย ↩