Mathematics of Support Vector Machine
2019-05-06
Jun Sok Huhh | ๐ lostineconomics.com
Key Questions
- Support Vector Machine (SVM)์ ์๊ณ ๋ฆฌ๋ฌ์ ์ํ์ ์ผ๋ก ์ด๋ป๊ฒ ๋์ถํ ์ ์์๊น?
- ๋ณด๋ค ์ง๊ด์ ์ผ๋ก ์ดํดํ ์ ์๋ ๋ฐฉ๋ฒ์ ์์๊น?
Key Synopsis
- SVM์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ํ(minimize)๋ฅผ ํ ํ ์ด๋ฅผ ๋ค์ ๊ทน๋ํ(maximize)๋ฅผ ํ๋ ์ต๋์ต์(maxmin) ํํ์ ์ต์ ํ ๋ฌธ์ ์ด๋ค.
- ์ต์ํ: ๋ถ๋ฅ(classification)์ ๊ธฐ์ค์ด ๋๋ ๋ ์์ญ์ ๋๋๋ ํ์ดํผํ๋ ์ธ์ ์ฐพ์ ํ ์ด ํ์ดํผํ๋ ์ธ๊ณผ ๊ฐ์ฅ ๊ฐ๊น๊ฒ ์์นํ๋ ๋ ์์ญ์ ๋ฒกํฐ(์ํฌํธ ๋ฒกํฐ)๋ฅผ ์ฐพ๋๋ค.
- ์ต๋ํ: ๋ถ๋ฅ ๊ธฐ์ค์ด ๋๋ ํ์ดํผํ๋ ์ธ๊ณผ ํํํ ๋ ์ํฌํธ ๋ฒกํฐ๋ฅผ ์ง๋๋ ํ์ดํ๋ ์ธ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ต๋ํ ํ๋ค.
- ์ด maxmin ๋ฌธ์ ๋ฅผ ํ๋ฉด ๋ชฉ์ ํจ์์๋ training set์ ์ํ ๋ฒกํฐ๋ค์ ๋ท ํ๋ก๋ํธ๋ง ๋จ๊ฒ ๋๊ณ , ๋๋ถ์ ์ต์ ํ ๋ฌธ์ ๊ฐ ๋จ์ํด์ง๋ค.
- ์ด ๋ท ํ๋ก๋ํธ๋ค๋ก ๊ตฌ์ฑ๋ ๋ถ๋ถ์ ๋ค๋ฅธ ํจ์ ํํ๋ก ๋ฐ๊ฟ์ SVM ์๊ณ ๋ฆฌ๋ฌ์ '์ปค๋โ์ ์ ์ฐํ๊ฒ ๋ฐ๊ฟ ์ ์๋ค. ์ด๊ฒ์ด ์ปค๋ ํธ๋ฆญ (Kernel trick)์ด๋ค.
SVM Mathematically
Preliminary concepts
Length of a vector
๋ฒกํฐ x=(x1โ,x2โ,โฆ,xnโ) ์ ๋ฒกํฐ์ ๊ธธ์ด, ์ฆ ์ ํด๋ฆฌ๋ ๋
ธ๋ฆ(norm), ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค.
โฅxโฅ=x12โ+x22โ+โฆ+xn2โโ
Direction of a vector
๋ฒกํฐ x์ ๋ฐฉํฅ์ฑ w๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ ์ ์๋ค.
w=(โฅxโฅx1โโ,โฅxโฅx2โโ)
๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ณด์.
์ด๋ ๋ค์๊ณผ ๊ฐ์ด ์ผ๊ฐํจ์๋ก ํ์ํ ์ ์๋ค.
w=(cos ฮธ,cos ฮฑ)
Dot product (inner product)
๋ด์ ์ ๋ฒกํฐ ์ฐ์ฐ์ ์ผ์ข
์ผ๋ก, ์ด๋ ๋ ๋ฒกํฐ๋ฅผ ์ค์นผ๋ผ ๊ฐ์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ์ผ์ข
์ ํจ์๋ค.
cosฮธโ=cos(ฮฒโฮฑ)=cosฮฒcosฮฑ+sinฮฒ sinฮฑ=โฅxโฅx1โโโฅyโฅy1โโ+โฅxโฅx2โโโฅyโฅy2โโ=โฅxโฅโฅyโฅx1โy1โ+x2โy2โโโ
์ด๋ฅผ ์๋์ ๊ฐ์ด ์ ๋ฆฌํ ์๋ ์๋ค.
xโ
y=โฅxโฅโฅyโฅcosฮธ
Hyperplane
n ์ฐจ์ ๊ณต๊ฐ์ ๊ฐ๋ฅผ ์ ์๋ ํด๋น ๊ณต๊ฐ์ ์ฐจ์๋ณด๋ค ํ๋ ๋ฎ์ ์ํ์ ๊ด๊ณ๋ผ๊ณ ํ์ด์ ์ธ ์ ์๋ค.
- ์ฆ, x1โ์ด๋ x2โ ์ค ํ๋๋ง ์ฃผ์ด์ง๋ฉด ๋๋จธ์ง ์์น๊ฐ ์ฃผ์ด์ง๋ค.
- ์ฝ๊ฒ y=x+1์ ์ง์ ์ ์๊ฐํ๋ฉด ๋๋ค. 2์ฐจ์ ํ๋ฉด์์ x์ ๊ฐ์ด ์ฃผ์ด์ง๋ฉด y๊ฐ์ด ์ ํด์ง๋ค. ์ด ์ง์ ์ 2์ฐจ์ ํ๋ฉด์ ์์นํ์ง๋ง ์ฌ์ค์ 1์ฐจ์์ ์์ฑ์ ์ง๋๊ฒ ๋๋ค.
x=(x1โ,x2โ)์ ๋ฒกํฐ๊ฐ ์๋ค๊ณ ํ ๋, ํ์ดํผํ๋ ์ธ์ ๋ฒกํฐ w์ b์ ์ํด ์ ์๋๋ค. ์ฆ,
wโ
x+b=0
Classifier
ํ์ดํผํ๋ ์ธ์ ๊ธฐ์ค์ผ๋ก ํด๋์ํ์ด์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๋ค. ํน์ ํ ๊ด์ฐฐ ๋ฒกํฐ x๊ฐ ์๋ค๊ณ ํ์. ์ด๋ ๋ถ๋ฅ h์ ์ ์๋ ์๋์ ๊ฐ๋ค.
h(x)=โฉโชโจโชโงโ+1โ1โifwโ
x+bโฅ0ifwโ
x+b<0โ
Explained Visually
๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ค ์ง๊ด์ ์ผ๋ก ์ดํดํด๋ณด์.
์ด๋ค ์์ ์ ๊ธฐ์ค์ผ๋ก training example๊น์ง์ ๋ฒกํฐ๋ฅผ xiโ๋ผ๊ณ ํ์. ์ด๋ ๋์ ๊ฐ๋ฅด๋ ํ์ดํผํ๋ ์ธ์ด ์์ ๋ ์ด์ ์ง๊ตํ๋ ๋ฒกํฐ (orthogonal vector) $\mathbf{w} $๋ฅผ ์๊ฐํด๋ณด์. ์ orthogonalํด์ผ ํ๋๊ฐ? ์ ์ ํ ๊ทธ ์ด์ ๋ฅผ ์ ์ ์๋ค. ํ์ดํผํ๋ ์ธ์ ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋ ๋ฒกํฐ ์ฌ์ด์ ๋ท ํ๋ก๋ํธ๋ค. ๋ท ํ๋ก๋ํธ๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์ด๋ฅผ projection์ผ๋ก ์๊ฐํด๋ณด๋ ๊ฒ์ด๋ค.
์ฆ, xiโ๋ฅผ $\mathbf{w} $๋ก ํ๋ก์ ์
์ ํ๋ค๋ฉด(projection of xiโ on $\mathbf{w} $), ์ด๋
Projwโxiโ=โฅwโฅwโ
xiโโ
๋ท ํ๋ก๋ํธ์ ๋ถ๋ถ์ด ์๊ฐ์ ์ผ๋ก๋ projection ๊ฒฐ๊ณผ ๊ณฑํ๊ธฐ โฅwโฅ๋ก ๋ํ๋๋ค. ์ฆ, xiโ์์ w๋ฅผ ํฅํด ๋ด๋ฆฐ ์ ๋ถ์ด ํ๋ก์ ์
์ด๊ณ ์ด๋ฅผ โฅwโฅ๋ก ์ค์ผ์ผ๋ง ํ w ์์์์ ๊ธธ์ด๊ฐ ๋ท ํ๋ก๋ํธ๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ํ๋ธ ๊ฒ์ด๋ค. ์ด ํ๋ก์ ์
์ ๊ธธ์ด์ ๋ฐ๋ผ์ ํด๋น ํธ๋ ์ด๋ ์ํ์ด ์ด๋ค ๊ฒ์ผ๋ก ๋ถ๋ฅ๋ ์ง์ ๊ดํด์ ํ์
ํ ์ ์๋ค. โฅwโฅ๊ฐ ๊ณ ์ ๋์ด ์๋ค๊ณ ํ๋ฉด, ํ๋ก์ ์
์ ํฌ๊ธฐ๊ฐ ์ผ์ ์ซ์๋ณด๋ค ํฌ๋ฉด ๋ถ๋ฅ์ ์ค๋ฅธ์ชฝ์ ์์ผ๋ฉด ๋ถ๋ฅ์ ์ผ์ชฝ์ ์์นํ๋ ๊ฒ์ด๋ค. ์ด๋ฅผ ์๋์ ๊ฐ์ด ํ์ํด๋ณด์.
wโ
xrโ+bโฅ1
wโ
xlโ+bโค1
ํ๋ก์ ์
์ ๊ธธ์ด๊ฐ ์ผ์ ํ ๊ธฐ์ค๋ณด๋ค ๊ธธ๋ฉด ์ค๋ฅธ์ชฝ์ ์งง์ผ๋ฉด ์ผ์ชฝ์ ์์นํ ๊ฒ์ผ๋ก ๋ถ๋ฅํ ์ ์๋ค. ์ด ์กฐ๊ฑด์ yiโ์ ํจ๊ป ๋ํ๋ด๋ณด์. ์ฆ,
yiโ(wโ
xiโ+b)โ1โฅ0
์์ ๋ถ๋ฅ๊ธฐ์์ ํด๋น ๊ฐ์ด 0๋ณด๋ค ํฌ๋ฉด yiโ(wโ
xiโ+b)โ1โฅ0๊ฐ ์ฑ๋ฆฝํ๋ค. ๋ฐ๋ฉด, ํด๋น ๊ฐ์ด 0๋ณด๋ค ์์ผ๋ฉด ์์๋ฅผ ๊ณฑํ๋ ๊ฒ์ด ๋์ด ๋ถ๋ฑํธ๊ฐ ๋ฐ๋๊ฒ ๋๊ณ , ์ด ๊ฒฝ์ฐ ์ญ์ ์์ ์์ด ์ฑ๋ฆฝํ๋ค.
์ด์ cosฮธ๋ฅผ ๋ฒกํฐ xsvrโโxsvlโ์ w๊ฐ ์ด๋ฃจ๋ ๊ฐ์ด๋ผ๊ณ ์๊ฐํ์. ์ด๋ w๋ ํ์ดํผํ๋ ์ธ๊ณผ orthogonalํ๋ฉฐ ์ ์ ํ training sample ์ฆ, ์ ์ ํ ํ๋์ ์ํฌํธ ๋ฒกํฐ๋ฅผ ์ง๋๋ค. ์ด๋ cosฮธ๋ ๋ค์๊ณผ ๊ฐ์ด ์ฝ๊ฒ ์ ์๋๋ค.
cosฮธ=โฅxsvrโโxsvlโโฅโฅwโฅ(xsvrโโxsvlโ)โ
wโ
ํํธ, ํ์ดํผํ๋ ์ธ๊ณผ ํํํ๋ฉด์ ์ํฌํธ ๋ฒกํฐ๋ฅผ ์ง๋๊ฐ๋ ํ์ดํผํ๋ ์ธ์ ๊ฑฐ๋ฆฌ ฮxโ๋ ๋ค์๊ณผ ๊ฐ๋ค.
โฅxsvrโโxsvlโโฅฮxโโ=cosฮธ=โฅxsvrโโxsvlโโฅโฅwโฅ(xsvrโโxsvlโ)โ
wโ
๋ฐ๋ผ์
ฮxโ=โฅwโฅ(xsvrโโxsvlโ)โ
wโ
yiโ(wโ
xiโ+b)โ1=0์ ์๋ณ์ yiโ๋ฅผ ๊ณฑํ๋ฉด, yi2โ(wโ
xiโ+b)=yiโ๊ฐ ๋๋ค. yi2โ=1์ด๋ฏ๋ก,
xsvrโโ
w+bxsvlโโ
w+bโ=1=โ1โ
์ฌ๊ธฐ์ (xsvrโโxsvlโ)โ
w=2๋ฅผ ์ฝ๊ฒ ๋์ถํ ์ ์๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก ๋ ์ํฌํธ ๋ฒกํฐ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ต๋ํํ๋ ๋ฌธ์ ๋ โฅwโฅ๋ฅผ ์ต์ํํ๋ ๋ฌธ์ ์ ๊ฐ๋ค.
Optimization for SVM
Metrics to compare hyperplanes
Defining functional margin
fiโ=yiโ(wโ
xiโ+b)๊ฐ ์๋ค๊ณ ํ์. ์ด๋ ๋ถ๋ฅ๊ฐ ์ ๋๋ก ์ด๋ฃจ์ด์ก๋ค๋ฉด, fiโ์ ๋ถํธ๋ ์ธ์ ๋ ์์๋ค. ์์ ๋ถ๋ฅ์ ์ ์์ ๋ฐ๋ฅด๋ฉด ๊ทธ๋ ๋ค. ๋ฐ์ดํฐ ์
D์ ์ ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
D={(xiโ,yiโ)โฃxiโโRn, yiโโ{โ1,1}}i=1mโ
ํ์
๋ ๋ง์ง(functional margin)์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ F ๋ ๋ค์๊ณผ ๊ฐ๋ค.
F=i=1,โฆ,mminโyiโ(wโ
xiโ+b)
w์ b๋ก ์ ์๋๋ ํ์ดํผํ๋ ์ธ์ด ๋ชจ๋ ํธ๋ ์ด๋ ์
์ ์ ๋ถ๋ฅํ๋ค๋ฉด, fiโ>0๊ฐ ์ฑ๋ฆฝํ๋ค. ์ด fiโ ์ค ๊ฐ์ฅ ์์ ๊ฐ์ด functional margin์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ๋ฒ์งธ๋ก ์๋ก ๋ค๋ฅธ ํ์ดํผํ๋ ์ธ ์ค์์ ๊ฐ์ฅ ํฐ F๋ฅผ ์ง๋๋ ํ์ดํผํ๋ ์ธ์ด ์ต์ ์ด ํ์ดํผํ๋ ์ธ์ด๋ค.
- F๋ฅผ ์ป๊ธฐ ์ํ ๊ณผ์ ์์ ์ต์ํ ๋ก์ง์ด ๋ค์ด๊ฐ๋ค. ์ฆ, ํด๋น ํ์ดํผํ๋ ์ธ๊ณผ ๊ฐ์ฅ ๊ฐ๊น๊ฒ ์์นํ ๊ด์ธก์น๋ฅผ ์ป์ด๋ด๋ ๊ณผ์
- ์ด๋ ๊ฒ ์ป์ด๋ธ F๋ค์ ์๋ก ๋ค๋ฅธ ํ์ดํผํ๋ ์ธ๋ค ์ฌ์ด์ ๋น๊ตํ๊ณ , ๊ฐ์ฅ ํฐ F๋ฅผ ์ฃผ๋ ํ์ดํผํ๋ ์ธ์ ์ฑํํ๋ค.
ํ์คํ๋ฅผ ์ํด์ w์ norm์ผ๋ก fiโ ๊ฐ์ ๋๋๊ณ ๊ทน๋ํ ๋ฌธ์ ๋ฅผ ์ ์ํํ๋ฉด ์๋์ ๊ฐ๋ค.
Derivation of SVM optimization problem
ํ์คํ๋ฅผ ์ํด์ โฅwโฅ๋ก ๋ชฉ์ ํจ์์ ์ ์ฝ์ ๋๋์.
w,bmaxโMs.t.ฮณiโโฅMfori=1,โฆ,m
where
ฮณiโ=yiโ(โฅwโฅwโโ
xiโ+โฅwโฅbโ)
M=i=1,โฆ,mminโฮณiโ
ํ์คํ๋ ํ์
๋ ๋ง์ง์ ์ต๋ํํ๋, ํธ๋ ์ด๋ ์ํ๋ค์ด ์ด๊ฒ๋ณด๋ค ์ปค์ผ ํ๋ค๋ ์กฐ๊ฑด(์ต์ํ)์ด ์ ์ฝ์ผ๋ก ๋ค์ด๊ฐ๋ค. ์ฆ, ์๋์ ์์ ์ต์ํ ์ ์ฝ ํ์์ F๋ฅผ ์ต๋ํํ๋ค๋ ์ด์ค ์ต์ ํ ๊ณผ์ ์ ๋ณด์ฌ ์ค๋ค.
w,bmaxโโฅwโฅFโs.t.fiโโฅFfori=1,2,โฆ,m
์ ๊ทน๋ํ ๋ฌธ์ ์์ ๋ชจ๋ ๋ณ์๋ ์๋๊ฐ์ผ๋ก ์ ์ํ ์ ์์ผ๋ฏ๋ก F๋ฅผ 1๋ก ์ ํํด๋ ํด๋ ๋ฐ๋์ง ์๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋์ ๊ฐ์ ์ฐจ๋ก๋ก ์ ์ํํ ์ ์๋ค.
w,bmaxโโฅwโฅ1โs.t.fiโโฅ1fori=1,2,โฆ,m
w,bminโโฅwโฅs.t.fiโโฅ1fori=1,2,โฆ,m
w,bminโ21โโฅwโฅ2s.t.fiโโฅ1fori=1,2,โฆ,m
Optimization by Wolfe duality
์ ์ฝ ํ์ ๊ทน๋ํ ๋ฌธ์ ์ด๋ฏ๋ก ๋ผ๊ทธ๋์ฃผ ์ต์ ํ๋ก ๋ฐ๋์ ๋ณผ ์ ์๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ผ๊ทธ๋์ฃผ ๋ฐฉ์ ์์ ์ ์ํ์.
L(w,b,ฮฑ)=21โwโ
wโi=1โmโฮฑiโ[yiโ(wโ
x+b)โ1]
์ฌ๊ธฐ์ ๋ฒกํฐ ฮฑ๋ ๋ผ๊ทธ๋์ฃผ ์ต์ ํ์ ๋ผ๊ทธ๋์ฃผ ์น์๋ก ์ ์ฝ์์ ๋ฐ์ํ๋ ๋ถ๋ถ์ด๋ค.
์ผ๋จ, ฮฑiโ๋ฅผ ๋ฌด์ํ๊ณ ๋ ์ต์ ํ ๋ณ์์ธ w์ b ์ ๋ํด์๋ฉด 1๊ณ ์กฐ๊ฑด์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
KaTeX parse error: Expected '}', got '&' at position 89: โฆmbol \alpha}) =&ฬฒ \mathbf{w} - \โฆ
์ด ๋
์๋ค์ ๋ค์ ๋ผ๊ทธ๋์ฃผ ๋ฐฉ์ ์์ ๋ฃ์ผ๋ก๋ง ฮฑ๋ก๋ง ๋ ์ผ์ข
์ maximal function ํน์ ๋ผ๊ทธ๋์ฃผ ๋ฐฉ์ ์์ ํํ(infimum)์ ๋ง๋ค ์ ์๋ค. Wolfe duality์ ๋ฐ๋ฅด๋จผ, ์ต์ํ ์ต๋ํ๋ฅผ ํ ๋ฒ์ ํธ๋ ๊ฒ๊ณผ ํ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ๋จผ์ ํผ ํ ํด๋น ๊ฒฐ๊ณผ๋ฅผ ๋ชฉ์ ํจ์์ ๋ฃ๊ณ ๋ ๋ฒ์งธ ๋ฌธ์ ๋ฅผ ์์ฐจ์ ์ผ๋ก ํธ๋ ๊ฒ์ด ๋์ผํ๋ค. ๋ฐ๋ผ์ ์์ ์ผ๊ณ ์กฐ๊ฑด์ ๋ชฉ์ ํจ์์ ๋ฃ์ ๋ชฉ์ ํจ์๋ ๊ตฌํด๋ณด์.
W(ฮฑ)=i=1โmโฮฑiโโ21โi=1โmโj=1โmโฮฑiโฮฑjโyiโyjโxiโโ
yjโ
์ด์ ๋ฌธ์ ๋ ฮฑ์ ๊ดํด์ ๊ทน๋ํ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ผ๋ก ๋ฐ๋๋ค. ์ฆ,
ฮฑmaxโW(ฮฑ)s.t.ฮฑiโโฅ0,i=1โmโฮฑiโ(yiโ(wโ
xโ+b)โ1)=0
์ ์ฝ ๋ถ๋ถ์ด ๋ถ๋ฑ์์ด๋ฏ๋ก KKT ์กฐ๊ฑด์ ๋ฐ๋ผ์ ํ๋ฉด ๋๋ค.
ฮฑiโ[yiโ(wโ
xโ+b)โ1]=0
KKT ์กฐ๊ฑด์ด๋ ๋ถ๋ฑ์ ์ ์ฝ์ ํธ๋ ํ
ํฌ๋์ด๋ค. ์ฆ, ฮฑiโ>0์ ์ ์ฝ์ด ์ ํจํ๋ค๋ฉด ์ ์ฝ์ ๋ง์กฑ์ํค๊ธฐ ์ํด์๋ yiโ(wโ
xโ+b)โ1=0์ด ๋ง์กฑํด์ผ ํ๋ค. ์ด๋ ๊ฒ ์ ์ฝ์ด ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ์ ์์นํ xโ๊ฐ ๋ฐ๋ก '์ํฌํธ ๋ฒกํฐโ๋ค. ๋ฐ๋ฉด, ฮฑiโ=0๋ ์ ์ฝ์ด ๋ฑํธ๋ก ๊ฑธ๋ฆด ํ์๊ฐ ์๋ ํธ๋ ์ด๋ ์
์ ๊ด์ฐฐ๋ค์ด๋ค. ์ด๋ค์ ๋ถ๋ฅ ํ์ดํผํ๋ ์ธ๊น์ง์ ๊ธธ์ด๊ฐ ์ํฌํธ ๋ฒกํฐ์ ๊ธธ์ด๋ณด๋ค ํฌ๋ค.
Compute w and b
w ์ ๊ฒฝ์ฐ 1๊ณ ์กฐ๊ฑด์์ ์ฝ๊ฒ ์ป์ ์ ์๋ค.
wโi=1โmโฮฑiโyiโxiโ=0
ํํธ, b์ ๊ฒฝ์ฐ ์ํฌํธ ๋ฒกํฐ์ ๊ฒฝ์ฐ ์์์ ๋ณธ ๊ฒ ๊ฐ์ด ์ ์ฝ ์์ ๋ฑํธ๊ฐ ์ฑ๋ฆฝํ๋ค. ์ฆ, ์ํฌํธ ๋ฒกํฐ๋ฅผ xโ๋ผ๊ณ ํ ๋,
yiโ(wโ
xโ+b)โ1=0
- ์๋ณ์ yiโ๋ฅผ ๊ณฑํ๋ฉด, yi2โ=1์ด๋ฏ๋ก,
b=yiโโwโ
xโ
- ์ํฌํธ ๋ฒกํฐ๊ฐ S๊ฐ ์กด์ฌํ ๊ฒฝ์ฐ๋ผ๋ฉด,
b=S1โi=1โSโ(yiโโwโ
xiโโ)
Limitation
์์ ๋ณธ ๊ฒ์ ์ด๋ฅธ๋ฐ hard margin SVM์ด๋ค. ์ฆ, ์ํฌํธ ๋ฒกํฐ ์ฌ์ด์ ๋ง์ง์ ํ์ผ์ ์ผ๋ก ์ ์ฉํ๋ ๋ถ๋ฅ ์๊ณ ๋ฆฌ๋ฌ์ด๋ค. ํ๋ ๋ง์ง SVM์ ๋ค์์ ๋๊ฐ์ง ๊ฒฝ์ฐ์ ์ทจ์ฝํ๋ค.
๋ฐ์ดํฐ์ ๋
ธ์ด์ฆ๊ฐ ์์ ๊ฒฝ์ฐ
ํ๋ ๋ง์ง์ ํฐ ๋ฌธ์ ๋ ์์๋ผ์ด์ด์ ์ทจ์ฝํ ์ ๋ฐ์ ์๋ค๋ ๊ฒ์ด๋ค. ํ์ด์ ๋งํ๋ฉด ์ ์ฝ์ด ์ ํ์ด๊ณ ๊ทธ ์ ์ฝ์ด ๊ฐ๋ ฅํ๋ค๋ ๋ฐ ์๋ค. ํธ๋ ์ด๋ ๋ฐ์ดํฐ์ ์ด๋ฐ ์ ๋ฐ ๋
ธ์ด์ฆ๊ฐ ์์ ๊ฒฝ์ฐ ํ๋ ๋ง์ง์ ์์ ๊ณ์ฐ์ด ๋ถ๊ฐ๋ฅํ ์ ์๋ค. ์ด๋ ์ฌ์ฉํ๋ ๊ธฐ๋ฒ์ด soft margin SVM์ด๋ค.
๋ฐ์ดํฐ ์์ฒด๊ฐ ์ ํ์ผ๋ก ๋ถ๋ฆฌ๋์ง ์์ ๊ฒฝ์ฐ
์ ์ด๋ถํฐ ๋ฐ์ดํฐ ์์ฒด๊ฐ ์ ํ์ ํตํ ๋ถ๋ฅ๋ฅผ ํ์ฉํ์ง ์์ ๊ฒฝ์ฐ์๋ ๋น์ ํ ๋ถ๋ฅ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ ๋์ํ๋ ํ
ํฌ๋์ด ์ปค๋ ํธ๋ฆญ (kernel trick)์ด๋ค.
Soft Margin SVM
์ ์ฝ์ ์ฝ๊ฐ ํ์ด์ฃผ๋ ฮถ๋ฅผ ๋์
ํ์ฌ ์ต์ ํ ๋ฌธ์ ๋ฅผ ์ ์ํํ๋ฉด ์๋์ ๊ฐ๋ค.
w,b,ฮถminโ21โโฅwโฅ2+Ci=1โmโฮถiโ s.t yiโ(wโ
xiโ+b)โฅ1โฮถiโ for i=1,2,โฆ,m
๋ฌธ์ ๋ฅผ ํ๋ฉด
ฮฑmaxโi=1โmโฮฑiโโ21โi=1โmโj=1โmโฮฑiโฮฑjโyiโyjโxiโโ
xjโs.t.
0โคฮฑiโโคCfori=1,2,โฆ,m
i=1โmโฮฑiโyiโ=0
What is C
์ ๊ทํ ํ๋ผ๋ฏธํฐ์ธ C๋ฅผ ์ด๋ป๊ฒ ์ดํดํ ๊น? ์ ๊ทธ๋๋ก ๋ณด๋ฉด, ฮถ๋ฅผ ์ผ๋ง๋ ์ค์ํ๊ฒ ์ต์ ํ ๋ฌธ์ ์ ๋ฐ์ํ ๊ฒ์ธ์ง๊ฐ ์ค์ํ๋ค. ๋ค์ ๋งํ๋ฉด ์ด๋ ์๋ฌ๋ฅผ ์ด๋ป๊ฒ ๋ณผ ๊ฒ์ธ๊ฐ์ ์ฐ๊ฒฐ๋์ด ์๋ค. ๋ง์ผ C๊ฐ ์์ ๋ฌดํ๋ ๊ฐ์ด๋ผ๋ฉด ์ด๋ ํ๋ ๋ง์ง๊ณผ ๋์ผํ๋ค. ๋ง์ผ C=0 ์ด๋ผ๋ฉด ฮฑiโ=0๊ฐ ๋๋ค. ์ด๋ ์ฌ์ค์ ์ ํ ์ ์ฝ์ด ์ฌ๋ผ์ง๊ฒ ๋๋ ๊ฒฐ๊ณผ๊ฐ ๋๋ค. ๋ฐ๋ผ์ ํ์ดํผํ๋ ์ธ์ด ์ด๋ค ๊ฒ๋ ๋ถ๋ฅํ๊ธฐ ๋ชปํ๊ฒ ๋ ๊ฒ์ด๋ค. ์ฆ, C๋ ํ๋ ๋ง์ง๊ณผ ์ํํธ ๋ง์ง ์ฌ์ด๋ฅผ ์ ์ ํ๊ฒ ์กฐ์ ํ๋ ์ญํ ์ ์ํํ๋ค.
Kernel Trick
๋ง์ง๋ง์ ์ป์ ๊ทน๋ํ ๋ฌธ์ ๋ฅผ ์ดํด๋ณด๋ฉด, training set์ด ๊ด๋ จ๋ ๋ถ๋ถ์ด ๋ฑ ํ๋ ๋ฐ์ ์๋ค. xiโโ
xjโ ๋ฟ์ด๋ค. ๋ฐ๋ผ์ ์ด ๋ถ๋ถ์ ์ ์ฐํ๊ฒ ์กฐ์ ํด์ค์ผ๋ก์จ ๋น์ ํ์ ํํ์ ๋ถ๋ฅ๋ฅผ ๋ง๋ค ์ ์๋ ๊ฒ์ด๋ค. ์์ ๋ดค๋ ํ๋ ๋ง์ง SVM์ ์ ํ ์ปค๋์ ์ฌ์ฉํ๋ค. ์ฆ,
K(xiโ,xjโ)=xiโโ
xjโ
์ด๋ฐ ์ปค๋๋ง ์์ ํํ๋ ์๋ค. ์ฌ๋ฌ๊ฐ์ง ํจ์๋ฅผ ์ปค๋๋ก ์ทจํ ์ ์์ ๊ฒ์ด๋ค. ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ปค๋์ RBF(Radial Basis Function) ํน์ ๊ฐ์ฐ์์์ด๋ผ๊ณ ํ๋ค.
K(xiโ,xjโ)=exp(โฮณโฅxiโโxjโโฅ)
- ฮณ ๊ฐ์ด ์ถฉ๋ถํ ์์ผ๋ฉด ์ ํ ์ปค๋๊ณผ ๋น์ทํ๊ฒ ์๋ํ๋ค.
- ฮณ๊ฐ ํฌ๋ฉด ์ํฌํธ ๋ฒกํฐ์๊ฒ ํฌ๊ฒ ์ํฅ ๋ฐ๋๋ค.
Resource
์ด ์๋ฃ๋ ์๋ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ๋ง๋ค์ด์ก์ต๋๋ค.
๐พJun Sok Huhh | ๐ lostineonomics.com