bskyvision.com/163

 

์„œํฌํŠธ ๋ฒกํ„ฐ ๋จธ์‹ (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๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

'๐Ÿ™‚ > ๋จธ์‹ ๋Ÿฌ๋‹ (ML)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ML] Gradient Boosting (GBM)  (6) 2021.02.09
[ML] multi-class performance  (0) 2020.10.10
[ML] ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ (random forest)  (0) 2020.10.10
[ML] ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€  (0) 2020.10.10

+ Recent posts