[ML] SVM
์ํฌํธ ๋ฒกํฐ ๋จธ์ (SVM)์ ์ฌ์ฉ์๋ก์ ๊ผญ ์์์ผํ ๊ฒ๋ค - ๋งค๊ฐ๋ณ์ C์ gamma
์ํฌํธ ๋ฒกํฐ ๋จธ์ (SVM)์ ๋ฅ ๋ฌ๋์ด ๋์จ ์ดํ์๋ ์ฌ์ ํ ํ์๋ฐ๊ณ ์๋ ๋จธ์ ๋ฌ๋(๊ธฐ๊ณํ์ต) ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ฌ๋งํ ์ํฉ์์ ๋ฅ ๋ฌ๋ ๋ชป์ง ์์ ์ฑ๋ฅ์ ๋ด๊ณ , ๋ฌด์๋ณด๋ค๋ ๊ฐ๋ณ๊ธฐ ๋๋ฌธ์ด๋ค. ๋๏ฟฝ๏ฟฝ
bskyvision.com
* ์ ๋ธ๋ก๊ทธ์ ๋ด์ฉ์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค
SVM
SVM์ ๋ฐ์ดํฐ๋ฅผ ์ ํ์ผ๋ก ๋ถ๋ฆฌํ๋ ์ต์ ์ ์ ํ ๊ฒฐ์ ๊ฒฝ๊ณ๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ํด๋์ค๊ฐ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ํฐ margin์ผ๋ก ๋ถ๋ฆฌํ ์ ์๋ ์ ๋๋ ๋ฉด, hyperplane์ ์ฐพ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค. ์ด ๋ ๋ถ๋ฆฌํ ์ ์๋ ์ , ๋ฉด, hyperplane์ ๊ฒฐ์ ๊ฒฝ๊ณ(decision boundary)๋ผ๊ณ ํ๋ค. ์ฌ๊ธฐ์ ๊ฐ์ฅ ํฐ margin์ผ๋ก ๋ถ๋ฆฌํ๋ค๊ณ ํ์๋๋ฐ, ๋ง์ง(margin)์ด๋ ๋ค๋ฅธ ํด๋์ค์ ์ํ ๋ฐ์ดํฐ์ ๊ฒฐ์ ๊ฒฝ๊ณ(decision boundary)๊ฐ ๋จ์ด์ ธ ์๋ ์ ๋๋ฅผ ์๋ฏธํ๋ค. ์ด๋ ๊ฒ margin์ ์ต๋ํํ๋ ๊ฒฐ์ ๊ฒฝ๊ณ๋ฅผ ์ฐพ๋ ์ด์ ๋ ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋์ด๋ ๋น๊ต์ robustํ๊ฒ label์ ์์ธกํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฌ๊ธฐ๊น์ง SVM์ ๊ฐ๋จํ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์ค๋ช ์ด์๋ค. ์ด์ SVM์ ์ด๋ฆ์ ๋ํ ์ค๋ช ์ ์งํํ๊ฒ ๋ค. SVM๋ support vector machine์ ์ถ์ฝ์ธ๋ฐ, ๊ทธ๋ ๋ค๋ฉด support vector๋ ๋ฌด์์ธ๊ฐ? support vector๋ ๋ ํด๋์ค ์ฌ์ด์ ๊ฒฝ๊ณ์ ์์นํ ๋ฐ์ดํฐ์ด๋ค. ์ด support vector๋ ๊ฒฐ์ ๊ฒฝ๊ณ(decision boundary)๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์ํฅ์ ์ค๋ค.
์ฆ, ๋ค์ SVM์ ๋ํด ์์ฝํ์๋ฉด support vector๋ฅผ ์ฐพ์ margin์ ์ต๋ํํ๋ decision boundary๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
ํ์ง๋ง ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํญ์ ์ ํ์ ์ผ๋ก ์๋ฒฝํ๊ฒ ๋ถ๋ฆฌํ ์ ์๋ ๊ฒ์ ์๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์ฝ๊ฐ์ ์ค๋ฅ๋ฅผ ํ์ฉํ๊ธฐ ์ํ hyper-parameter C๊ฐ ์๊ฒจ๋ฌ๋ค. C๋ ์ผ๋ง๋ ๋ค๋ฅธ ํด๋์ค๋ก ์์ธก๋๋ ๊ฒ์ ํ์ฉํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ค. C๋ ์ค๋ฅ์ ๋ํ penalty๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค. C๊ฐ ์์์๋ก ์ค๋ฅ๋ฅผ ๋ง์ด ํ์ฉํ๊ณ , ํด์๋ก ์ค๋ฅ๋ฅผ ์ ๊ฒ ํ์ฉํ๋ค. ์ฆ, C๊ฐ ์์์๋ก ์ผ๋ฐ์ ์ธ ๊ฒฐ์ ๊ฒฝ๊ณ๋ฅผ ์ฐพ๊ณ , C๊ฐ ํด์๋ก ์ง์ญ์ ์ธ ๊ฒฐ์ ๊ฒฝ๊ณ๋ฅผ ์ฐพ๋๋ค. ์ฌ๊ธฐ์ C๋ฅผ ์ค์ ํ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ๋ค. ์๋ํ๋ฉด C๊ฐ ์์์๋ก underfitting๋ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๊ณ , C๊ฐ ํฌ๋ฉด overfitting๋ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๊ธฐ ๋๋ฌธ์ด๋ค. ์ถ๊ฐ์ ์ผ๋ก ์ค๋ฅ ํ์ฉ ์ฌ๋ถ์ ๋ฐ๋ผ hard-margin SVM๊ณผ soft-margin SVM์ผ๋ก ๋๋๋ค.
ํ์ง๋ง ์ ํ SVM์ผ๋ก๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋๋ก ๋ถ๋ฆฌํ ์ ์๋ ์ํฉ์ด ๋ง๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์๋ ์์ธก์ ์งํํ ์ ์๋๋ก ๋ง๋ค์ด์ง ์๊ณ ๋ฆฌ์ฆ์ด RBF(radial basis function) kernel SVM์ด๋ค. ์ด kernel์ด๋ผ๋ ๊ฒ์ ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๊ณ ์ฐจ์ ํน์ง ๊ณต๊ฐ์ผ๋ก ์ฌ์ํด์ฃผ๋ ์ญํ ์ ์ํํ๋ค. ๋ณธ๋ ๋ฐ์ดํฐ๋ฅผ ๊ณ ์ฐจ์ ๊ณต๊ฐ์ ์ฌ์ํ๋ฉด ๋ณธ๋ ๊ณต๊ฐ์์๋ ์ฐพ์ ์ ์์๋ ์ ํ ๋ถ๋ฅ ๊ฒฐ์ ๊ฒฝ๊ณ๊ฐ ๋ณด์ด๊ฒ ๋๋ค. polynomial kernel, sigmoid kernel, RBF kernel ๋ฑ ๋ค์ํ kernel ํจ์๊ฐ ์กด์ฌํ๋๋ฐ, ์ด ์ค ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ kernel function์ RBF kernel์ด๋ค. RBF kernel์ ๊ฒฝ์ฐ gamma์ C๋ผ๋ hyper-parameter๋ฅผ ์ง๋๋๋ฐ, gamma๋ ํ๋์ ๋ฐ์ดํฐ ์ํ์ด ์ํฅ๋ ฅ์ ํ์ฌํ๋ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฒฐ์ ํ๋ค. gamma๋ ๊ฐ์ฐ์์ ํจ์์ ํ์คํธ์ฐจ์ ์ฐ๊ด๋์ด ์๋๋ฐ, gamma๊ฐ ํด์๋ก ์์ ํ์คํธ์ฐจ๋ฅผ ๊ฐ๋๋ค. ์ฆ, gamma๊ฐ ํด์๋ก ์์ ํ์คํธ์ฐจ๋ฅผ ๊ฐ๊ณ , ๋ฐ์ดํฐ๊ฐ ์ํฅ๋ ฅ์ ํ์ฌํ ์ ์๋ ๊ฑฐ๋ฆฌ๋ ์์์ง๋ค. ๋ฐ๋๋ก gamma๊ฐ ์์์๋ก ํฐ ํ์คํธ์ฐจ๋ฅผ ๊ฐ๊ณ , ๋ฐ์ดํฐ๊ฐ ์ํฅ๋ ฅ์ ํ์ฌํ ์ ์๋ ๊ฑฐ๋ฆฌ๋ ์ปค์ง๋ค. C๋ ์์์ ์ธ๊ธํ ๊ฒ๊ณผ ๋์ผํ๊ฒ ์ค๋ถ๋ฅ ํ์ฉ ์ ๋๋ฅผ ์๋ฏธํ๋ค. (C๊ฐ ์์์๋ก ์ค๋ถ๋ฅ๋ฅผ ๋ ํ์ฉํ๊ณ , C๊ฐ ํด์๋ก ์ค๋ถ๋ฅ๋ฅผ ๋ ํ์ฉํ๋ค.)
์์ ์ฌ์ง์ ๋ณด๋ฉด, C๊ฐ ์ปค์ง์๋ก ์ค๋ถ๋ฅ์ ๋ํ ํ๋ํฐ๊ฐ ์ปค์ง๊ธฐ ๋๋ฌธ์ ์ง์ญ์ ์ธ ํจํด์ ๋ ์ ๋ฐ์ํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ฐ๋๋ก C๊ฐ ์์์๋ก ์ผ๋ฐํ๋ ๊ฒฐ์ ๊ฒฝ๊ณ๋ฅผ ์ฐพ์๋ธ๋ค.
gamma์ ๊ฒฝ์ฐ gamma๊ฐ ์ปค์ง์๋ก ๊ฒฐ์ ๊ฒฝ๊ณ๊ฐ ๋ ๊ตฌ๋ถ๊ตฌ๋ถํด์ง๋ ๊ฒ์ ๋ณผ ์ ์๋ค. gamma๊ฐ ์ปค์ง์๋ก ํ์คํธ์ฐจ๋ ์์์ง๊ณ , ๋ฐ์ดํฐ๊ฐ ์ํฅ๋ ฅ์ ํ์ฌํ ์ ์๋ ๊ฑฐ๋ฆฌ ๋ํ ์์์ง๊ธฐ ๋๋ฌธ์ ๊ฒฐ์ ๊ฒฝ๊ณ๊ฐ ๊ตฌ๋ถ๊ตฌ๋ถํด์ง๋ ๊ฒ์ด๋ค.
์ด์ฒ๋ผ RBF kernel SVM์ ๊ฒฝ์ฐ C์ gamma๋ฅผ ์ด๋ป๊ฒ ์ค์ ํ๋๋์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ search๋ฅผ ํตํด ์ ํฉํ C์ gamma๋ฅผ ์ฐพ์๋ด๋ ๊ฒ์ด ์ค์ํ๋ค.