๋ถ„๋ฅ˜์™€ ํšŒ๊ท€ ๋ถ„์„์„ ์œ„ํ•œ ๋Œ€ํ‘œ์ ์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฒ•์ธ SVM์— ๋Œ€ํ•œ ์ •๋ฆฌ

SVM ๊ฐœ์š”

  • SVM(Support Vector Machine)์€ ์ „ํ†ต์ ์ธ ์ด์ง„ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, N ์ฐจ์› ๊ณต๊ฐ„์„ N-1 ์ฐจ์›์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ์ดˆํ‰๋ฉด(hyper plane)์„ ์ฐพ๋Š” ๋ถ„๋ฅ˜ ๊ธฐ๋ฒ•.
  • ์ดˆํ‰๋ฉด์€ ์–ด๋–ค N์ฐจ์› ๊ณต๊ฐ„์—์„œ ํ•œ ์ฐจ์› ๋‚ฎ์€ N-1์ฐจ์›์˜ subspace์„ ์˜๋ฏธํ•˜๋ฉฐ ์˜ˆ๋ฅผ ๋“ค์–ด, 2์ฐจ์›์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๊ฒฝ์šฐ 2์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋Š” 1์ฐจ์› ์„ ์œผ๋กœ ์ดˆํ‰๋ฉด์ด ๊ฒฐ์ •๋œ๋‹ค.
  • ๋‘ ํด๋ž˜์Šค(๋ฐ์ดํ„ฐ) ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š”ย โ€˜์—ฌ๋ฐฑ(margin)์„ ์ตœ๋Œ€ํ™”โ€™ ํ•˜๋ ค๋Š” ๋ชฉ์ ์œผ๋กœ ์„ค๊ณ„๋จ.
  • ๋น„์„ ํ˜• ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ ์ปค๋„ ํŠธ๋ฆญ(Kernel Trick)์„ ํ™œ์šฉํ•˜์—ฌ ๊ณ ์ฐจ์› ๊ณต๊ฐ„์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ถ„๋ฅ˜ํ•จ.

SVM์˜ Decision Rule

๊ฒฐ์ • ์ดˆํ‰๋ฉด(Decision Hyperplane)

  • ๋ฒ•์„  ๋ฒกํ„ฐ์™€ ์ž„์˜์˜ ์‹ค์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด n์ฐจ์› ๊ณต๊ฐ„์—์„œ์˜ ์ดˆํ‰๋ฉด(hyperplane)์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • SVM์˜ ๊ฒฐ์ • ๊ทœ์น™(Decision Rule) ์€ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ ๊ฐ€ ์–ด๋–ค ํด๋ž˜์Šค๋กœ ๋ถ„๋ฅ˜๋˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ทœ์น™.
  • SVM์˜ ๋ชฉํ‘œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ์ž˜ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒฐ์ • ์ดˆํ‰๋ฉด(Decision Hyperplane) ์„ ์ฐพ๋Š” ๊ฒƒ์œผ๋กœ 2์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด, ์ง์„ ์˜ ๋ฐฉ์ •์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
  • ์ด๋•Œ, ๋Š” ์ดˆํ‰๋ฉด์˜ ๋ฒ•์„  ๋ฒกํ„ฐ(normal vector) ์ด๊ณ  ๋Š” ๋ฐ”์ด์–ด์Šค(bias)๋ฅผ ์˜๋ฏธํ•จ.
  • ๋”ฐ๋ผ์„œ, ์ดˆํ‰๋ฉด ์ง์„ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฒ•์„  ๋ฒกํ„ฐ ์™€ ์ž„์˜์˜ ๋ฐ์ดํ„ฐ ์— ๋Œ€ํ•ด ์˜ ๊ฐ’์ด ํŠน์ • ์ƒ์ˆ˜๋ณด๋‹ค ํฐ์ง€ ์ž‘์€์ง€๋ฅผ ํ™•์ธํ•˜์—ฌ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

Margin

  • ์ตœ๋Œ€ํ™”ํ•˜๋ ค๋Š” m argin์„ ์ •์˜ํ•˜๊ธฐ ์ „์— ๋จผ์ € ์ž„์˜๋กœ 2๊ฐœ์˜ ํ‰ํ–‰ํ•œ ์ง์„ ์„ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.

  • ์ดˆํ‰๋ฉด์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ƒ˜ํ”Œ(support vector)์„ ์ด์šฉํ•˜์—ฌ ์ดˆํ‰๋ฉด์— ํ‰ํ–‰ํ•˜๊ณ  ์ž„์˜์˜ ๋งŒํผ ๋™์ผํ•˜๊ฒŒ ๋–จ์–ด์ง„ ๋‘ ์ง์„ ์€ ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.
  • ๋Š” ์ž„์˜์˜ + ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ, ๋Š” ์ž„์˜์˜ - ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ
  • ์œ„ ์‹์„ ์ •๊ทœํ™”ํ•˜์—ฌ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
  • + ํด๋ž˜์Šค๋ฅผ +1๋กœ, -ํด๋ž˜์Šค๋ฅผ -1๋กœ ๋‘์–ด ํด๋ž˜์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฅผ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
  • ๋ฅผ ์ด์šฉํ•ด ๋‘ ํ‰ํ–‰ํ•œ ์ง์„  ์กฐ๊ฑด์„ ํ•˜๋‚˜์˜ ์‹์œผ๋กœ ๋งŒ๋“ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์ œ์•ฝ์‹์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋•Œ ๋‘ ํ‰ํ–‰ํ•œ ์ง์„ (์ดˆํ‰๋ฉด) ์œ„์— ์žˆ๋Š” ๋ชจ๋“  ์ ๋“ค์„ Support Vector๋ผ ํ•œ๋‹ค.
  • ๋งˆ์ง„์€ +์ดˆํ‰๋ฉด๊ณผ -์ดˆํ‰๋ฉด ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์˜๋ฏธํ•จ. ์œ„ ๊ทธ๋ฆผ์—์„œ ์ง์„  ๊ณผ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ๋งˆ์ง„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์„œํฌํŠธ ๋ฒกํ„ฐ ์™€ ๋Š” ๊ฐ ํ‰ํ–‰์ดˆํ‰๋ฉด์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ์ด๋ฉฐ, ๊ฐ๊ฐ ๋‹ค์Œ์„ ๋งŒ์กฑํ•œ๋‹ค.
  • ์ ๊ณผ ํ‰๋ฉด ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ๊ณต์‹์„ ์ด์šฉํ•˜์—ฌ ๊ฒฐ์ • ์ดˆํ‰๋ฉด๊ณผ ์„œํฌํŠธ ๋ฒกํ„ฐ ์™€ ๊ฐ๊ฐ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
  • ๋”ฐ๋ผ์„œ, ๋งˆ์ง„(Margin)์€ ๋‘ ์„œํฌํŠธ ๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ์ด๋ฏ€๋กœ, ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

Optimization

Linear SVM ์ •์˜

  • SVM์˜ ๋ชฉ์ ์€ ๋งˆ์ง„์„ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ๊ฒฝ๊ณ„๋ฉด์„ ์ฐพ๋Š” ๊ฒƒ.
  • ์ˆ˜ํ•™์  ๊ณ„์‚ฐ์˜ ์šฉ์ดํ•จ์„ ์œ„ํ•ด ๋งˆ์ง„์˜ ์ ˆ๋ฐ˜์„ ์ œ๊ณฑํ•œ ๊ฒƒ์— ์—ญ์ˆ˜๋ฅผ ์ทจํ•œ ๋’ค ๊ทธ ์ ˆ๋ฐ˜์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฌธ์ œ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.(์ด ์ œ๊ณฑ๊ทผ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ’€๊ธฐ ์–ด๋ ต๋‹ค)
  • ์œ„ ์‹์ด SVM ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์‹(Objective) ์ด๋ฉฐ, ๋งŒ์กฑํ•ด์•ผํ•˜๋Š” ์ œ์•ฝ์‹(Constraint) ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
  • ์œ„์—์„œ ์ •์˜๋œ ๋ชฉ์ ์‹๊ณผ ์ œ์•ฝ์‹์ด ์„ ํ˜• ๋ถ„๋ฆฌ๋ฅผ ์œ„ํ•œ Hard Margin SVM ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์ด๋ฉฐ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๊ฐ€ ๊ฒฐ์ • ์ดˆํ‰๋ฉด์œผ๋กœ๋ถ€ํ„ฐ ์ผ์ • ๊ฑฐ๋ฆฌ ์ด์ƒ ๋–จ์–ด์ ธ ์žˆ์–ด์•ผ ํ•˜๋ฏ€๋กœ, ์™„์ „ํžˆ ์„ ํ˜• ๋ถ„๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์— ์ ์šฉ๋œ๋‹ค.
  • Soft Margin SVM์€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์„ ํ˜• ๋ถ„๋ฆฌ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ, ํ—ˆ์šฉ ์˜ค์ฐจ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ตœ์ ์˜ ์ดˆํ‰๋ฉด์„ ๊ตฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค.(์™„๋ฒฝํ•œ ์„ ํ˜• ๋ถ„๋ฆฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•  ๋•Œ ์˜ค๋ฅ˜๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•)

๋ผ๊ทธ๋ž‘์ฃผ ํ•จ์ˆ˜(Lagrangian) ์ •์˜

  • ์ œ์•ฝ ์กฐ๊ฑด์„ ํฌํ•จํ•œ ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ๋ผ๊ทธ๋ž‘์ฃผ ์Šน์ˆ˜๋ฒ•(Lagrange Multipliers) ์„ ์‚ฌ์šฉํ•จ.
  • ์ œ์•ฝ ์กฐ๊ฑด์„ ๋ผ๊ทธ๋ž‘์ฃผ ์Šน์ˆ˜ ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ผ๊ทธ๋ž‘์ฃผ ํ•จ์ˆ˜๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์—ฌ๊ธฐ์„œ, ์œ„ ์‹์€ ์•„๋ž˜๋ฅผ ๋งŒ์กฑํ•จ.
    • ๋ชฉ์  ํ•จ์ˆ˜์— ์ œ์•ฝ ์กฐ๊ฑด์ด ํฌํ•จ๋˜์—ˆ์Œ
    • ๋Š” ๋ผ๊ทธ๋ž‘์ฃผ ์Šน์ˆ˜ (๊ฐ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ์— ๋Œ€ํ•ด ํ•˜๋‚˜์”ฉ ์กด์žฌ)
    • (KTT* ์กฐ๊ฑด์— ์˜ํ•ด)

KTT(Karush-Kuhn-Tucker) ์กฐ๊ฑด์€ ์ œ์•ฝ์ด ์žˆ๋Š” ์ตœ์ ํ™” ๋ฌธ์ œ์˜ ํ•ด๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ํ•„์ˆ˜ ์กฐ๊ฑด์ด๋ฉฐ, ์•„๋ž˜ ์กฐ๊ฑด์„ ํฌํ•จ ํ•œ๋‹ค.

  1. ๋ชจ๋“  ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ฏธ๋ถ„๊ฐ’์€ 0์ด๋‹ค.
  2. ๋ชจ๋“  ๋ผ๊ทธ๋ž‘์ฃผ ์Šน์ˆ˜๊ฐ’๊ณผ ์ œ์•ฝ ์กฐ๊ฑด ๋ถ€๋“ฑ์‹์˜ ๊ณฑ์€ 0์ด๋‹ค.
  3. ๋ผ๊ทธ๋ž‘์ฃผ ์Šน์ˆ˜๊ฐ’์€ ์Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค.
  • ๋ชฉ์ ํ•จ์ˆ˜ ๋ฅผ ์™€ ์— ๋Œ€ํ•ด ํŽธ๋ฏธ๋ถ„ํ•˜์—ฌ 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.(๊ฐ ํŽธ๋ฏธ๋ถ„ 0์ด ๋˜๋Š” ์ง€์ ์—์„œ ์ตœ์†Œ๊ฐ’์„ ๊ฐ€์ง€๋ฏ€๋กœ)
  • ์ฆ‰, ๋Š” ์ผ๋ถ€ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ(์„œํฌํŠธ ๋ฒกํ„ฐ)๋“ค์˜ ์„ ํ˜• ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์„œํฌํŠธ ๋ฒกํ„ฐ๋Š” ์ธ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๊ฐ€ ๋œ๋‹ค. ๊ฒฝ๊ณ„์„ ์— ์กด์žฌํ•˜๋Š” ์ƒ˜ํ”Œย โ€‹๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋ชจ๋“  ์ƒ˜ํ”Œ์—์„œ์˜ย ย ๊ฐ’์€ 0์ด ๋œ๋‹ค.
  • ๋”ฐ๋ผ์„œ, ๊ฐ’๋งŒ ์•Œ๊ฒŒ๋˜๋ฉด ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋“€์–ผ ๋ฌธ์ œ(Dual Problem) ์œ ๋„ ๋ฐ ํ•ด๊ฒฐ

  • ๋ผ๊ทธ๋ž‘์ฃผ ํ•จ์ˆ˜์‹(1)์— ์™€ ์˜ ํŽธ๋ฏธ๋ถ„ ์‹ (2), (3)์„ ๋Œ€์ž…ํ•˜์—ฌ ์ •๋ฆฌํ•˜๋ฉด, ๋ผ๊ทธ๋ž‘์ฃผ ํ•จ์ˆ˜ ์‹์„ ๋ณ€ํ˜•ํ•œ ๋ชฉ์  ํ•จ์ˆ˜์˜ dual problem(์Œ๋Œ€ ํ˜•์‹)์„ ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์•„๋ž˜์™€ ๊ฐ™์ด ์— ๋Œ€ํ•œ ์ตœ์  ๋ฌธ์ œ๋กœ ์ •๋ฆฌ๋œ๋‹ค.
  • ์„ ์ตœ๋Œ€ํ™”
  • ์œ„ ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ณ , ๋ฅผ ์‹ (2)์ธ \mathbf w = \sum\limits_{i=1}^{n}\alpha_i y_i \mathbf x_i \tag{2} ์— ๋Œ€์ž…ํ•˜์—ฌ ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
  • ๋ฅผ ์•Œ๊ฒŒ๋˜๋ฉด ์ œ์•ฝ์‹ ์„ ์ด์šฉํ•ด ์—ญ์‹œ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

์ฐธ๊ณ