교재 쪽수: 370~394쪽 (Chapter 12)
교재 밖 보충: 교재에 없는 내용(Cover 정리, Pegasos, SMO, Platt 식)은 “교재 밖 보충"으로 표시했다.
선수 지식 및 연계: 2장 선형대수학(아핀 부분공간으로서의 초평면), 3장 해석기하학(내적, 직교 사영, 거리 계산), 7장 연속 최적화(라그랑주 승수법, KKT 최적성 조건, 라그랑주 쌍대성, 2차 계획법 QP), 8장 모델과 데이터(경험적 위험 최소화 ERM, ℓ2\ell_2 정규화, 교차검증).
후속 및 의의: 9장(회귀)의 확률적·우도 기반 접근법과 달리, 기하학적 직관(마진 최대화)과 손실 함수 관점(힌지 손실 + 정규화)을 함께 쓰는 지도학습 방법입니다. 재생 커널 힐베르트 공간(RKHS)을 통한 비선형 확장(커널 트릭)을 완성합니다.


0. 이 장 지도

12장은 머신러닝의 가장 핵심적인 지도학습 분류 알고리즘인 서포트 벡터 머신(Support Vector Machine, SVM)을 기하학, 최적화 이론, 함수해석학(커널)의 세 가지 시선에서 완전히 분해하고 통합합니다.

[절 목록 및 핵심 요약]

  • 12.1 분리 초평면(Separating Hyperplanes, 372~373쪽) [중요도: ★★★]: 초평면(hyperplane)의 방정식 ⟨w,x⟩+b=0\langle w, x \rangle + b = 0, 법선 벡터(normal vector) ww의 기하학적 의미, 이진 분류 결정 규칙.
  • 12.2 원시 서포트 벡터 머신(Primal Support Vector Machine, 374~383쪽) [중요도: ★★★]: 기하학적 마진 정의에서 하드 마진 및 소프트 마진 원시 최적화 문제로의 정식화.
    • 12.2.1 마진의 개념(Concept of the Margin, 374~376쪽): 점과 초평면 사이의 직교 사영 거리 rr 유도 및 단위 법선 벡터 정규화(∥w∥=1\|w\|=1).
    • 12.2.2 마진의 전통적 유도(Traditional Derivation of the Margin, 376~378쪽): 초평면 스케일 고정(⟨w,xa⟩+b=1\langle w, x_a \rangle + b = 1)을 통한 마진 r=1/∥w∥r = 1/\|w\| 도출.
    • 12.2.3 마진을 1로 둘 수 있는 이유(Why We Can Set the Margin to 1, 378~379쪽) [Theorem 12.1]: 스케일 불변성(scale invariance)을 이용해 max⁡r\max r과 min⁡12∥w∥2\min \frac{1}{2}\|w\|^2의 엄밀한 수학적 동치성 증명.
    • 12.2.4 소프트 마진 SVM: 기하학적 관점(Soft Margin SVM: Geometric View, 379~380쪽): 선형 분리 불가능 데이터를 위한 슬랙 변수(slack variable) ξn\xi_n 도입과 정규화 매개변수 CC.
    • 12.2.5 소프트 마진 SVM: 손실 함수 관점(Soft Margin SVM: Loss Function View, 380~383쪽): 힌지 손실(hinge loss)과 ℓ2\ell_2 정규화의 합으로 표현되는 비제약 최적화 문제 정식화 및 등가성 증명.
  • 12.3 쌍대 서포트 벡터 머신(Dual Support Vector Machine, 383~388쪽) [중요도: ★★★]: 라그랑주 쌍대성을 통한 고차원/무한차원 확장 기반 마련.
    • 12.3.1 라그랑주 승수를 통한 볼록 쌍대성(Convex Duality via Lagrange Multipliers, 383~386쪽): 원시 문제에서 쌍대 문제로의 완전한 수학적 유도, 표현자 정리(Representer Theorem), 박스 제약조건(0≤αn≤C0 \le \alpha_n \le C).
    • 12.3.2 쌍대 SVM: 볼록 껍질 관점(Dual SVM: Convex Hull View, 386~388쪽): 양성 클래스와 음성 클래스의 볼록 껍질(convex hull) 간의 최단 거리 문제로서의 SVM 기하학적 재해석.
  • 12.4 커널(Kernels, 388~390쪽) [중요도: ★★★]: 내적의 일반화, 재생 커널 힐베르트 공간(RKHS), 그람 행렬(Gram matrix), 커널 트릭(Kernel Trick)을 통한 비선형 경계면 형성.
  • 12.5 수치적 해법(Numerical Solution, 390~392쪽) [중요도: ★★☆]: 힌지 손실의 서브그레디언트(subgradient) 최적화 및 2차 계획법(QP, Quadratic Programming) 표준형 변환.
  • 12.6 더 읽을거리(Further Reading, 392~394쪽) [중요도: ★★☆]: 로지스틱 회귀(확률적 분류)와의 비교, 플랫 스케일링(Platt scaling), 르장드르-펜첼 변환(Fenchel conjugate) 관점.

[개념 간 의존 관계]

[12.1 분리 초평면: <w, x> + b = 0, 법선벡터 w]
         │
         ▼
[12.2.1~12.2.3 직교 사영 거리 r = 1/||w||] ──▶ [하드 마진 원시 문제: min 1/2 ||w||^2]
         │
         ├──▶ [12.2.4 슬랙 변수 ξ_n 도입] ──┐
         │                                   ├──▶ [소프트 마진 원시 문제 (C-SVM)]
         └──▶ [12.2.5 힌지 손실 관점] ───────┘
                                                       │
         ┌─────────────────────────────────────────────┘
         ▼
[12.3.1 라그랑주 승수법 (α, γ)]
         │
         ├──▶ [KKT 정지조건: w = Σ α_n y_n x_n (표현자 정리)]
         ├──▶ [편향 조건: Σ α_n y_n = 0]
         │
         ▼
[12.3.1 쌍대 SVM (Dual QP): 내적 <x_i, x_j>만으로 표현] ◀── [12.3.2 볼록 껍질 최단거리 동치]
         │
         ▼
[12.4 커널 트릭: <x_i, x_j> ──▶ k(x_i, x_j)]
         │
         ▼
[12.5 수치 해법: 서브그레디언트 vs 2차 계획법(QP)]

12.1 분리 초평면(Separating Hyperplanes, 372~373쪽)

왜 필요한가 (직관)

이진 분류(binary classification)는 DD차원 특성 공간에 흩어져 있는 데이터들을 +1+1과 −1-1의 두 그룹으로 쪼개는 경계면을 찾는 문제입니다. 가장 단순하면서도 수학적으로 아름다운 경계면은 직선, 평면, 그리고 이를 DD차원으로 확장한 초평면(hyperplane)입니다.

2차원 종이 위에 빨간 점들과 파란 점들이 있을 때, 그 사이를 자르는 직선을 그리는 것을 상상해 보십시오. 초평면은 바로 그 직선의 다차원 일반화입니다.

정의와 성질

1. 분리 초평면의 방정식

w∈RDw \in \mathbb{R}^D를 가중치 벡터(weight vector), b∈Rb \in \mathbb{R}을 편향(bias, 절편)이라 할 때, 선형 함수 f:RD→Rf: \mathbb{R}^D \to \mathbb{R}를 다음과 같이 정의합니다 (교재 식 12.2):

f(x):=⟨w,x⟩+b=w⊤x+bf(x) := \langle w, x \rangle + b = w^\top x + b

이때 초평면은 f(x)=0f(x) = 0을 만족하는 점들의 집합인 아핀 부분공간(affine subspace)입니다 (교재 식 12.3):

{x∈RD:⟨w,x⟩+b=0}\{x \in \mathbb{R}^D : \langle w, x \rangle + b = 0\}

2. 법선 벡터 ww의 기하학적 성질 (직교성 증명)

초평면 위에 있는 임의의 두 점 xa,xbx_a, x_b를 잡습니다 (f(xa)=0,f(xb)=0f(x_a) = 0, f(x_b) = 0). 두 점을 잇는 방향 벡터 xa−xbx_a - x_b와 벡터 ww의 내적을 계산해 보면 (교재 식 12.4):

f(xa)−f(xb)=(⟨w,xa⟩+b)−(⟨w,xb⟩+b)=⟨w,xa−xb⟩\begin{aligned} f(x_a) - f(x_b) &= (\langle w, x_a \rangle + b) \\ &\quad - (\langle w, x_b \rangle + b) \\ &= \langle w, x_a - x_b \rangle \end{aligned}

좌변이 0−0=00 - 0 = 0이므로:

⟨w,xa−xb⟩=0\langle w, x_a - x_b \rangle = 0

내적이 00이라는 것은 두 벡터가 직교(orthogonal)함을 의미합니다. 따라서 ww는 초평면 위의 모든 선분과 수직인 법선 벡터(normal vector)입니다!

3. 분류 결정 규칙 (Decision Rule)

초평면은 전체 공간을 두 개의 반공간(half-space)으로 분할합니다:

  • 양의 영역: ⟨w,x⟩+b≥0  ⟹  y^=+1\langle w, x \rangle + b \ge 0 \implies \hat{y} = +1
  • 음의 영역: ⟨w,x⟩+b<0  ⟹  y^=−1\langle w, x \rangle + b < 0 \implies \hat{y} = -1

학습 데이터 (xn,yn)(x_n, y_n) (n=1,…,Nn=1, \dots, N)이 모두 올바르게 분류된다는 조건은 다음 두 식으로 나타낼 수 있습니다:

  • yn=+1y_n = +1일 때: ⟨w,xn⟩+b≥0\langle w, x_n \rangle + b \ge 0
  • yn=−1y_n = -1일 때: ⟨w,xn⟩+b<0\langle w, x_n \rangle + b < 0

양변에 yny_n을 곱해주면, 부호가 일치하므로 단 하나의 우아한 부등식으로 합쳐집니다 (교재 식 12.7):

yn(⟨w,xn⟩+b)≥0(∀n=1,…,N)y_n (\langle w, x_n \rangle + b) \ge 0 \quad (\forall n = 1, \dots, N)

손으로 풀어 보는 예제 (초평면 방정식)

2차원 평면에서 법선 벡터 w=[21]w = \begin{bmatrix} 2 \\ 1 \end{bmatrix}, 편향 b=−4b = -4인 초평면이 주어졌다고 하자.

  1. 이 초평면의 방정식: 2x1+x2−4=0  ⟺  x2=−2x1+42x_1 + x_2 - 4 = 0 \iff x_2 = -2x_1 + 4 (기울기 −2-2, x2x_2절편 44인 직선).
  2. 점 A=[31]A = \begin{bmatrix} 3 \\ 1 \end{bmatrix}의 분류: f(A)=2(3)+1(1)−4=6+1−4=+3>0  ⟹  y^=+1f(A) = 2(3) + 1(1) - 4 = 6 + 1 - 4 = +3 > 0 \implies \hat{y} = +1
  3. 점 B=[11]B = \begin{bmatrix} 1 \\ 1 \end{bmatrix}의 분류: f(B)=2(1)+1(1)−4=2+1−4=−1<0  ⟹  y^=−1f(B) = 2(1) + 1(1) - 4 = 2 + 1 - 4 = -1 < 0 \implies \hat{y} = -1

헷갈리는 점 / 자주 하는 실수

  • 기하학적 벡터 vs 좌표 벡터:
    • ww는 초평면의 ‘방향’을 가리키는 법선 화살표(geometric vector)입니다.
    • xx는 데이터 공간의 ‘위치’를 나타내는 점(coordinate vector)입니다.
  • 편향 bb의 역할: bb는 초평면이 원점에서 얼마나 떨어져 있는지를 결정합니다. b=0b=0이면 초평면은 반드시 원점을 지납니다.

12.2 원시 서포트 벡터 머신(Primal Support Vector Machine, 374~383쪽)

왜 필요한가 (직관)

데이터가 정확히 선형 분리 가능(linearly separable)할 때, 두 클래스를 나누는 초평면은 단 하나만 존재하는 것이 아니라 무한히 많이 존재합니다 (교재 그림 12.3). 어떤 초평면은 빨간 점에 너무 바짝 붙어 있고, 어떤 것은 파란 점에 너무 바짝 붙어 있습니다. 이렇게 데이터에 아슬아슬하게 붙어 있는 경계선은 새로운 테스트 데이터가 조금만 노이즈를 띠고 들어와도 잘못 분류할 위험(일반화 오차, generalization error)이 큽니다.

그렇다면 무한히 많은 후보 중에서 가장 훌륭한 단 하나의 초평면은 무엇일까요? 바로 “두 클래스의 데이터로부터 가장 멀리 떨어져서, 양쪽으로 가장 넓은 안전거리(여백, Margin)를 확보한 초평면”입니다! 이것이 서포트 벡터 머신의 대원칙인 마진 최대화(Margin Maximization)입니다.


12.2.1 마진의 개념(Concept of the Margin, 374~376쪽)

직교 사영을 이용한 거리 rr의 유도

초평면의 양의 영역에 있는 데이터 포인트 xax_a (⟨w,xa⟩+b>0\langle w, x_a \rangle + b > 0)를 생각합니다 (교재 그림 12.4). xax_a에서 초평면에 내린 수선의 발(직교 사영, orthogonal projection)을 xa′x_a'라 합시다. xa′x_a'는 초평면 위의 점이므로 다음을 만족합니다:

⟨w,xa′⟩+b=0\langle w, x_a' \rangle + b = 0

수선의 방향은 법선 벡터 ww와 나란하므로, 단위 법선 벡터 w∥w∥\frac{w}{\|w\|}에 거리 r>0r > 0을 곱한 벡터만큼 이동한 것이 xax_a입니다 (교재 식 12.8):

xa=xa′+rw∥w∥x_a = x_a' + r \frac{w}{\|w\|}

이 식을 초평면 방정식에 대입하면:

⟨w,xa⟩+b=⟨w,xa′+rw∥w∥⟩+b=⟨w,xa′⟩+b⏟=0+r⟨w,w⟩∥w∥=r∥w∥2∥w∥=r∥w∥\begin{aligned} \langle w, x_a \rangle + b &= \left\langle w, x_a' + r \frac{w}{\|w\|} \right\rangle + b \\ &= \underbrace{\langle w, x_a' \rangle + b}_{=0} + r \frac{\langle w, w \rangle}{\|w\|} \\ &= r \frac{\|w\|^2}{\|w\|} = r \|w\| \end{aligned}

따라서 임의의 점 xax_a와 초평면 사이의 기하학적 수직 거리는:

r=⟨w,xa⟩+b∥w∥r = \frac{\langle w, x_a \rangle + b}{\|w\|}

음의 영역에 있는 점까지 포괄하여 일반화하면, 데이터 xnx_n과 초평면 사이의 거리는:

dist(xn,hyperplane)=yn(⟨w,xn⟩+b)∥w∥\text{dist}(x_n, \text{hyperplane}) = \frac{y_n (\langle w, x_n \rangle + b)}{\|w\|}

마진(Margin)은 초평면에서 가장 가까운 데이터 포인트까지의 거리입니다. 만약 법선 벡터를 단위 길이(∥w∥=1\|w\|=1)로 고정한다면, 모든 데이터가 초평면으로부터 최소한 거리 rr 이상 떨어져 있어야 하므로 다음과 같은 최적화 문제가 됩니다 (교재 식 12.10):

max⁡w,b,rrsubject toyn(⟨w,xn⟩+b)≥r,∀n=1,…,N∥w∥=1,r>0\begin{aligned} \max_{w, b, r} \quad & r \\ \text{subject to} \quad & y_n (\langle w, x_n \rangle + b) \ge r, \\ &\quad \forall n=1, \dots, N \\ & \|w\| = 1, \quad r > 0 \end{aligned}

12.2.2 마진의 전통적 유도(Traditional Derivation of the Margin, 376~378쪽)

위의 정규화 조건 ∥w∥=1\|w\|=1 대신, 머신러닝 문헌(Vapnik, Schölkopf 등)에서 전통적으로 사용하는 정규화 방식은 데이터 스케일을 고정하는 것입니다.

초평면에 가장 가까운 점 xax_a에서의 함수값을 정확히 11로 스케일링합니다:

⟨w,xa⟩+b=1\langle w, x_a \rangle + b = 1

이 점 xax_a의 직교 사영 xa′x_a'는 초평면 위에 있으므로 ⟨w,xa′⟩+b=0\langle w, x_a' \rangle + b = 0 입니다. 벡터 덧셈 xa=xa′+rw∥w∥x_a = x_a' + r \frac{w}{\|w\|}를 내적에 대입하면 (교재 식 12.12, 12.13):

⟨w,xa⟩+b−⟨w,rw∥w∥⟩=0  ⟹  1−r∥w∥=0\begin{gathered} \langle w, x_a \rangle + b - \left\langle w, r \frac{w}{\|w\|} \right\rangle = 0 \\ \implies 1 - r \|w\| = 0 \end{gathered}

따라서 마진 rr은 법선 벡터의 노름의 역수가 됩니다 (교재 식 12.14):

r=1∥w∥r = \frac{1}{\|w\|}

이것은 매우 중요한 통찰을 줍니다:

  • 마진 r=1∥w∥r = \frac{1}{\|w\|}을 최대화하는 것   ⟺  \iff 법선 벡터의 길이 ∥w∥\|w\|를 최소화하는 것!

계산의 편의를 위해 2차 형식과 상수 12\frac{1}{2}을 도입하면, 하드 마진 SVM(Hard Margin SVM)의 원시 최적화 문제가 완성됩니다 (교재 식 12.18, 12.19):

min⁡w,b12∥w∥2subject toyn(⟨w,xn⟩+b)≥1,∀n=1,…,N\begin{aligned} \min_{w, b} \quad & \frac{1}{2} \|w\|^2 \\ \text{subject to} \quad & y_n (\langle w, x_n \rangle + b) \ge 1, \\ &\quad \forall n = 1, \dots, N \end{aligned}

12.2.3 마진을 1로 둘 수 있는 이유 (Theorem 12.1, 378~379쪽)

초심자들이 가장 의아해하는 질문: “왜 마진 경계선에서의 함수값을 임의로 1이라고 놓아도 일반성을 잃지 않는가? 2나 0.5로 두면 안 되는가?”

정리 12.1의 엄밀한 증명

  • 12.2.1절의 문제: max⁡w,b,rr2s.t.yn(⟨w∥w∥,xn⟩+b)≥r,r>0\begin{aligned} \max_{w, b, r} r^2 \\ \text{s.t.} \quad & y_n \left( \left\langle \frac{w}{\|w\|}, x_n \right\rangle + b \right) \ge r, \\ & r > 0 \end{aligned}.
  • 선형 제약조건의 양변을 r>0r > 0으로 나눕니다: yn(⟨wr∥w∥,xn⟩+br)≥1y_n \left( \left\langle \frac{w}{r \|w\|}, x_n \right\rangle + \frac{b}{r} \right) \ge 1
  • 새로운 변수를 정의합니다: w′′:=wr∥w∥,b′′:=brw'' := \frac{w}{r \|w\|}, \quad b'' := \frac{b}{r}
  • 양변의 노름을 취하면: ∥w′′∥=∥wr∥w∥∥=1r∥w∥∥w∥=1r  ⟹  r=1∥w′′∥  ⟹  r2=1∥w′′∥2\|w''\| = \left\| \frac{w}{r \|w\|} \right\| = \frac{1}{r} \frac{\|w\|}{\|w\|} = \frac{1}{r} \implies r = \frac{1}{\|w''\|} \implies r^2 = \frac{1}{\|w''\|^2}
  • 따라서 원래의 목적함수 max⁡r2\max r^2는: max⁡1∥w′′∥2  ⟺  min⁡∥w′′∥2  ⟺  min⁡12∥w′′∥2\max \frac{1}{\|w''\|^2} \iff \min \|w''\|^2 \iff \min \frac{1}{2} \|w''\|^2
  • 제약조건은 yn(⟨w′′,xn⟩+b′′)≥1y_n (\langle w'', x_n \rangle + b'') \ge 1이 됩니다.
  • 결론: 초평면 방정식 w⊤x+b=0w^\top x + b = 0은 0이 아닌 임의의 양수 상수를 곱해도 초평면 자체는 전혀 변하지 않는 스케일 불변성(scale invariance)을 갖습니다. 따라서 가장 가까운 데이터에서의 값을 11로 고정하는 것은 좌표계의 게이지(gauge)를 하나 선택하는 것일 뿐, 최적의 초평면 기하학적 형태에는 아무런 제약을 주지 않습니다! ■\blacksquare

12.2.4 소프트 마진 SVM: 기하학적 관점 (379~380쪽)

현실의 데이터는 노이즈가 섞여 있거나, 두 클래스가 서로 약간 겹쳐 있어서 어떤 직선으로도 정확히 둘로 쪼갤 수 없는 선형 분리 불가능(linearly non-separable)인 경우가 대부분입니다 (교재 그림 12.6(b)). 하드 마진 SVM은 단 하나의 이상치(outlier)만 있어도 조건을 만족하는 해가 아예 존재하지 않는 치명적 취약점을 가집니다.

이를 해결하기 위해 각 데이터 포인트마다 마진 조건을 위반하는 것을 허용하는 슬랙 변수(slack variable, 여유 변수) ξn≥0\xi_n \ge 0을 도입합니다 (교재 그림 12.7).

  • 마진 조건 완화: yn(⟨w,xn⟩+b)≥1−ξny_n (\langle w, x_n \rangle + b) \ge 1 - \xi_n
    • ξn=0\xi_n = 0: 데이터가 올바른 마진 바깥에 안전하게 위치함 (위반 없음).
    • 0<ξn≤10 < \xi_n \le 1: 데이터가 올바른 방향에 있지만 마진 안쪽으로 침범함.
    • ξn>1\xi_n > 1: 데이터가 경계면을 넘어 반대편으로 넘어가 오분류(misclassification)됨.

우리는 마진을 넓히고 싶으면서도(12∥w∥2\frac{1}{2}\|w\|^2 최소화), 동시에 슬랙 변수들의 총합(∑ξn\sum \xi_n)을 최소화하여 오분류를 줄이고 싶습니다. 두 목표를 절충(trade-off)하는 매개변수 C>0C > 0을 도입한 것이 소프트 마진 SVM(Soft Margin SVM / C-SVM)입니다 (교재 식 12.26):

min⁡w,b,ξ12∥w∥2+C∑n=1Nξnsubject toyn(⟨w,xn⟩+b)≥1−ξn,∀n=1,…,Nξn≥0,∀n=1,…,N\begin{aligned} \min_{w, b, \xi} \quad & \frac{1}{2} \|w\|^2 + C \sum_{n=1}^N \xi_n \\ \text{subject to} \quad & y_n (\langle w, x_n \rangle + b) \ge 1 - \xi_n, \\ &\quad \forall n = 1, \dots, N \\ & \xi_n \ge 0, \quad \forall n = 1, \dots, N \end{aligned}
  • 정규화 매개변수 CC의 역할:
    • C→∞C \to \infty: 슬랙을 전혀 용납하지 않음   ⟹  \implies 하드 마진 SVM으로 수렴. 과적합(overfitting) 위험 증가.
    • CC가 작을 때: 마진을 넓히는 데 더 집중함. 더 많은 이상치와 오분류를 허용하여 마진이 넓어짐. 과소적합(underfitting) 위험.

12.2.5 소프트 마진 SVM: 손실 함수 관점 (380~383쪽)

머신러닝의 8장에서 배운 경험적 위험 최소화(Empirical Risk Minimization, ERM) 프레임워크를 떠올려 봅시다:

min⁡model규제항(Regularizer)+C×손실함수(Loss)\begin{aligned} \min_{\text{model}} \quad & \text{규제항(Regularizer)} \\ &\quad + C \times \text{손실함수(Loss)} \end{aligned}

이진 분류에서 가장 이상적인 손실 함수는 틀린 개수를 세는 0-1 손실(zero-one loss) 1(y≠sign(f(x)))\mathbf{1}(y \ne \text{sign}(f(x))) 입니다. 하지만 0-1 손실은 불연속이고 미분이 불가능하여 조합 최적화(combinatorial optimization) 문제로 귀결되므로 풀기가 매우 어렵습니다.

SVM은 0-1 손실의 볼록 상한(convex upper bound)인 힌지 손실(hinge loss)을 채택합니다 (교재 식 12.28, 그림 12.8):

ℓhinge(t)=max⁡{0,1−t},where t=yf(x)=y(⟨w,x⟩+b)\begin{aligned} \ell_{\text{hinge}}(t) &= \max\{0, 1 - t\}, \\ \text{where } t &= y f(x) = y (\langle w, x \rangle + b) \end{aligned}

이 힌지 손실을 전체 데이터에 대해 더하고 ℓ2\ell_2 규제항 12∥w∥2\frac{1}{2}\|w\|^2을 더하면, 아무런 제약조건이 없는 비제약 최적화 문제(unconstrained optimization problem)가 됩니다 (교재 식 12.31):

min⁡w,b12∥w∥2⏟규제항 (마진 최대화)+C∑n=1Nmax⁡{0,1−yn(⟨w,xn⟩+b)}⏟힌지 손실 (오차 패널티)\begin{aligned} \min_{w, b} \quad & \underbrace{\frac{1}{2} \|w\|^2}_{\text{규제항 (마진 최대화)}} \\ &\quad + C \sum_{n=1}^N \\ &\quad \underbrace{\max\{0, 1 - y_n (\langle w, x_n \rangle + b)\}}_{\text{힌지 손실 (오차 패널티)}} \end{aligned}

기하학적 관점과 손실 함수 관점의 동치성 증명

단일 데이터에 대해 힌지 손실의 최소화 문제 min⁡tmax⁡{0,1−t}\min_t \max\{0, 1-t\}를 생각해 봅시다. 보조 변수 ξ\xi를 도입하여 ξ≥0\xi \ge 0 이고 ξ≥1−t\xi \ge 1-t 라는 두 제약조건을 걸면:

min⁡ξs.t.ξ≥0,ξ≥1−yn(⟨w,xn⟩+b)\begin{aligned} \min \xi \quad \text{s.t.} \quad & \xi \ge 0, \\ & \xi \ge 1 - y_n (\langle w, x_n \rangle + b) \end{aligned}

와 정확히 동치입니다 (교재 식 12.32, 12.33). 이를 모든 데이터에 적용하면 정확히 12.2.4절의 슬랙 변수 기반 소프트 마진 최적화 문제 (12.26)로 복원됩니다!


손으로 풀어 보는 예제 (힌지 손실 계산)

어떤 데이터 3개의 라벨과 예측 함수값 f(xn)=⟨w,xn⟩+bf(x_n) = \langle w, x_n \rangle + b가 다음과 같다고 하자:

  1. y1=+1,f(x1)=1.5y_1 = +1, f(x_1) = 1.5: 마진 경계 바깥에 올바르게 위치. t1=y1f(x1)=1.5  ⟹  ℓ1=max⁡{0,1−1.5}=0,ξ1=0t_1 = y_1 f(x_1) = 1.5 \implies \ell_1 = \max\{0, 1 - 1.5\} = 0, \quad \xi_1 = 0
  2. y2=+1,f(x2)=0.4y_2 = +1, f(x_2) = 0.4: 올바른 클래스이지만 마진 경계 안으로 침범. t2=y2f(x2)=0.4  ⟹  ℓ2=max⁡{0,1−0.4}=0.6,ξ2=0.6t_2 = y_2 f(x_2) = 0.4 \implies \ell_2 = \max\{0, 1 - 0.4\} = 0.6, \quad \xi_2 = 0.6
  3. y3=−1,f(x3)=0.8y_3 = -1, f(x_3) = 0.8: 잘못 분류됨 (음수여야 하는데 양수값). t3=y3f(x3)=−0.8  ⟹  ℓ3=max⁡{0,1−(−0.8)}=1.8,ξ3=1.8t_3 = y_3 f(x_3) = -0.8 \implies \ell_3 = \max\{0, 1 - (-0.8)\} = 1.8, \quad \xi_3 = 1.8 총 힌지 손실 합: ∑n=13ξn=0+0.6+1.8=2.4\sum_{n=1}^3 \xi_n = 0 + 0.6 + 1.8 = 2.4.

12.3 쌍대 서포트 벡터 머신(Dual Support Vector Machine, 383~388쪽)

왜 필요한가 (직관)

원시 SVM(Primal SVM)의 결정 변수는 w∈RDw \in \mathbb{R}^D입니다. 즉, 특성의 차원 수 DD에 비례하여 최적화 변수가 늘어납니다. 만약 데이터의 차원이 수천, 수만 차원이거나 무한 차원이라면 원시 문제는 계산이 불가능해집니다.

하지만 7장에서 배운 라그랑주 쌍대성(Lagrangian Duality)을 적용하면 다음과 같이 바뀝니다:

  1. 최적화 변수가 DD차원 벡터 ww에서 데이터 개수 NN개의 라그랑주 승수 α∈RN\alpha \in \mathbb{R}^N으로 바뀝니다!
  2. 데이터 xx가 오직 데이터 쌍 간의 내적 ⟨xi,xj⟩\langle x_i, x_j \rangle의 형태로만 목적함수에 등장합니다! 이 두 가지 특성 덕분에 차원이 아무리 높아도 데이터 개수 NN만 적당하면 문제를 쉽게 풀 수 있고, 나아가 12.4절의 비선형 커널 트릭(Kernel Trick)이 작동할 수 있는 문이 활짝 열립니다.

12.3.1 라그랑주 승수를 통한 볼록 쌍대성 (383~386쪽)

1. 라그랑지안 함수 구성

원시 문제 (12.26)의 부등식 제약조건에 대해 라그랑주 승수 αn≥0\alpha_n \ge 0과 γn≥0\gamma_n \ge 0을 도입합니다 (교재 식 12.34):

L(w,b,ξ,α,γ)=12∥w∥2+C∑n=1Nξn−∑n=1Nαn(yn(⟨w,xn⟩+b)−1+ξn)−∑n=1Nγnξn\begin{aligned} \mathcal{L}(w, b, \xi, \alpha, \gamma) &= \frac{1}{2} \|w\|^2 \\ &\quad + C \sum_{n=1}^N \xi_n \\ &\quad - \sum_{n=1}^N \alpha_n \Bigl( \\ &\qquad y_n (\langle w, x_n \rangle + b) - 1 + \xi_n \Bigr) \\ &\quad - \sum_{n=1}^N \gamma_n \xi_n \end{aligned}

2. 원시 변수에 대한 KKT 정지조건 (Stationarity)

라그랑지안을 세 개의 원시 변수 w,b,ξnw, b, \xi_n으로 각각 편미분하여 00으로 둡니다:

  1. ww에 대한 편미분 (교재 식 12.35):

    ∇wL=w−∑n=1Nαnynxn=0  ⟹  w=∑n=1Nαnynxn\begin{aligned} \nabla_w \mathcal{L} &= w - \sum_{n=1}^N \alpha_n y_n x_n = \mathbf{0} \\ &\implies w = \sum_{n=1}^N \alpha_n y_n x_n \end{aligned}

    핵심: 표현자 정리(Representer Theorem)!
    최적의 법선 벡터 w∗w^*는 임의의 다른 방향을 가질 수 없으며, 반드시 훈련 데이터 xnx_n들의 선형결합(span) 안에 존재합니다.

  2. bb에 대한 편미분 (교재 식 12.36):

    ∂L∂b=−∑n=1Nαnyn=0  ⟹  ∑n=1Nαnyn=0\begin{aligned} \frac{\partial \mathcal{L}}{\partial b} &= -\sum_{n=1}^N \alpha_n y_n = 0 \\ &\implies \sum_{n=1}^N \alpha_n y_n = 0 \end{aligned}
  3. ξn\xi_n에 대한 편미분 (교재 식 12.37):

    ∂L∂ξn=C−αn−γn=0  ⟹  C=αn+γn\begin{aligned} \frac{\partial \mathcal{L}}{\partial \xi_n} &= C - \alpha_n - \gamma_n = 0 \\ &\implies C = \alpha_n + \gamma_n \end{aligned}

    라그랑주 승수의 비음수 조건 γn≥0\gamma_n \ge 0에 의해:

    αn≤C\alpha_n \le C

    원래의 αn≥0\alpha_n \ge 0과 결합하면 다음과 같은 유명한 박스 제약조건(Box Constraint)이 탄생합니다:

    0≤αn≤C0 \le \alpha_n \le C

3. 원시 변수 소거 및 쌍대 목적함수 도출

위의 세 관계식을 라그랑지안에 대입하여 w,b,ξw, b, \xi를 완전히 소거합니다 (상세 유도는 본문 뒷부분의 ‘핵심 유도 모음’ 참조). 최종적으로 얻어지는 쌍대 서포트 벡터 머신(Dual SVM) 문제는 다음과 같습니다 (교재 식 12.41):

min⁡α12∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩−∑i=1Nαisubject to∑i=1Nαiyi=00≤αi≤C,∀i=1,…,N\begin{aligned} \min_{\alpha} \quad & \frac{1}{2} \sum_{i=1}^N \\ &\quad \sum_{j=1}^N \alpha_i \alpha_j y_i y_j \langle x_i, x_j \rangle \\ &\quad - \sum_{i=1}^N \alpha_i \\ \text{subject to} \quad & \sum_{i=1}^N \alpha_i y_i = 0 \\ & 0 \le \alpha_i \le C, \\ &\quad \forall i = 1, \dots, N \end{aligned}

(참고: 교재에서는 원래 쌍대 함수 max⁡αD(α)\max_\alpha \mathcal{D}(\alpha)에 마이너스를 붙여 min⁡α[−D(α)]\min_\alpha [-\mathcal{D}(\alpha)]의 최소화 문제로 표준화하였습니다).

4. 서포트 벡터의 분류와 KKT 상보 여유성 (Complementary Slackness)

KKT 조건 중 상보 여유성 조건은 다음과 같습니다:

  1. αn[yn(⟨w,xn⟩+b)−1+ξn]=0\alpha_n [y_n (\langle w, x_n \rangle + b) - 1 + \xi_n] = 0
  2. γnξn=(C−αn)ξn=0\gamma_n \xi_n = (C - \alpha_n) \xi_n = 0

이 조건에 따라 모든 데이터 포인트는 정확히 세 부류로 나뉩니다:

  1. αn=0\alpha_n = 0인 점 (비-서포트 벡터):
    • γn=C>0  ⟹  ξn=0\gamma_n = C > 0 \implies \xi_n = 0.
    • yn(⟨w,xn⟩+b)≥1y_n (\langle w, x_n \rangle + b) \ge 1. (대부분은 >1> 1이지만, 마진 경계 위에 있으면서 αn=0\alpha_n = 0인 점도 있을 수 있다.)
    • 마진 경계선 바깥에 안전하게 있는 대다수의 데이터입니다. ww를 결정하는 데 아무런 기여도 하지 않습니다!
  2. 0<αn<C0 < \alpha_n < C인 점 (자유 서포트 벡터 / Free Support Vector):
    • C−αn>0  ⟹  ξn=0C - \alpha_n > 0 \implies \xi_n = 0.
    • 따라서 yn(⟨w,xn⟩+b)=1y_n (\langle w, x_n \rangle + b) = 1이 정확히 성립합니다!
    • 마진 경계선 바로 위에 정확히 놓여 있는 점들입니다.
    • 편향 b∗b^*를 계산할 때 바로 이 점들을 사용합니다: b∗=yn−⟨w∗,xn⟩=yn−∑j=1Nαj∗yj⟨xj,xn⟩\begin{aligned} b^* &= y_n - \langle w^*, x_n \rangle \\ &= y_n - \sum_{j=1}^N \alpha_j^* y_j \langle x_j, x_n \rangle \end{aligned}
  3. αn=C\alpha_n = C인 점 (유계 서포트 벡터 / Bounded Support Vector):
    • γn=0  ⟹  ξn≥0\gamma_n = 0 \implies \xi_n \ge 0.
    • 마진 경계를 침범했거나(0<ξn≤10 < \xi_n \le 1), 반대편으로 넘어가 오분류된(ξn>1\xi_n > 1) 데이터들입니다.

12.3.2 쌍대 SVM: 볼록 껍질 관점 (386~388쪽)

SVM은 라그랑주 승수법 외에도 계산기하학(computational geometry) 관점에서 완전히 동일한 문제를 유도할 수 있습니다.

볼록 껍질(Convex Hull)의 정의

어떤 점들의 집합 XX의 볼록 껍질 conv(X)\text{conv}(X)는 점들의 모든 볼록 결합(가중치 합이 1이고 비음수)으로 둘러싸인 가장 작은 볼록 다포체(convex polytope)입니다 (교재 식 12.43):

conv(X)={∑n=1Nαnxn | ∑n=1Nαn=1,  αn≥0}\begin{aligned} & \text{conv}(X) \\ &= \left\{ \sum_{n=1}^N \alpha_n x_n \ \middle|\ \sum_{n=1}^N \alpha_n = 1, \; \alpha_n \ge 0 \right\} \end{aligned}

두 볼록 껍질 사이의 최단 거리

양성 클래스 데이터들의 볼록 껍질을 conv(X+)\text{conv}(X^+), 음성 클래스 데이터들의 볼록 껍질을 conv(X−)\text{conv}(X^-)라 합시다 (교재 그림 12.9).

  • 양성 껍질 안의 점: c=∑n:yn=+1αn+xn(∑αn+=1,αn+≥0)c = \sum_{n: y_n=+1} \alpha_n^+ x_n \quad (\sum \alpha_n^+ = 1, \alpha_n^+ \ge 0)
  • 음성 껍질 안의 점: d=∑n:yn=−1αn−xn(∑αn−=1,αn−≥0)d = \sum_{n: y_n=-1} \alpha_n^- x_n \quad (\sum \alpha_n^- = 1, \alpha_n^- \ge 0)

두 다포체 사이의 가장 가까운 두 점 cc와 dd를 찾는 문제는 두 점 사이의 거리 ∥c−d∥2\|c - d\|^2를 최소화하는 것입니다 (교재 식 12.48):

min⁡α+,α−12∥c−d∥2=min⁡12∥∑n:yn=+1αn+xn−∑n:yn=−1αn−xn∥2\begin{aligned} \min_{\alpha^+, \alpha^-} \frac{1}{2} \|c - d\|^2 &= \min \frac{1}{2} \Biggl\| \sum_{n: y_n=+1} \alpha_n^+ x_n \\ &\quad - \sum_{n: y_n=-1} \alpha_n^- x_n \Biggr\|^2 \end{aligned}

제약조건 ∑αn+=1\sum \alpha_n^+ = 1과 ∑αn−=1\sum \alpha_n^- = 1을 합치면:

∑n:yn=+1(+1)αn++∑n:yn=−1(−1)αn−=1−1=0  ⟺  ∑n=1Nynαn=0\begin{aligned} &\sum_{n: y_n=+1} (+1)\alpha_n^+ \\ &\quad + \sum_{n: y_n=-1} (-1)\alpha_n^- \\ &= 1 - 1 = 0 \\ &\iff \sum_{n=1}^N y_n \alpha_n = 0 \end{aligned}

이 기하학적 최소화 문제는 하드 마진 쌍대 SVM과 수학적으로 정확히 동치입니다! 최적의 초평면은 바로 두 볼록 껍질 사이의 최단 선분 c−dc - d를 수직이등분하는 평면이 됩니다.


손으로 풀어 보는 예제 (하드 마진 SVM 3개 점 손계산 완전 풀이)

시험장에서 손으로 직접 풀 수 있도록, 해석적으로 깔끔하게 떨어지는 2차원 3점 예제를 단계별로 전개합니다.

데이터셋 설정:

  • 양성 클래스 (y=+1y = +1): x1=[12],x2=[21]x_1 = \begin{bmatrix} 1 \\ 2 \end{bmatrix}, \quad x_2 = \begin{bmatrix} 2 \\ 1 \end{bmatrix}
  • 음성 클래스 (y=−1y = -1): x3=[00]x_3 = \begin{bmatrix} 0 \\ 0 \end{bmatrix}

1단계: 내적 행렬(그람 행렬) KK 계산

  • K11=x1⊤x1=12+22=5K_{11} = x_1^\top x_1 = 1^2 + 2^2 = 5
  • K12=K21=x1⊤x2=1(2)+2(1)=4K_{12} = K_{21} = x_1^\top x_2 = 1(2) + 2(1) = 4
  • K22=x2⊤x2=22+12=5K_{22} = x_2^\top x_2 = 2^2 + 1^2 = 5
  • x3x_3은 원점 [0,0]⊤[0, 0]^\top이므로 다른 모든 점과의 내적이 00: K13=K31=0,K23=K32=0,K33=0K_{13} = K_{31} = 0, \quad K_{23} = K_{32} = 0, \quad K_{33} = 0
K=[540450000]K = \begin{bmatrix} 5 & 4 & 0 \\ 4 & 5 & 0 \\ 0 & 0 & 0 \end{bmatrix}

2단계: 쌍대 목적함수 구성

쌍대 목적함수:

max⁡α1,α2,α3∑i=13αi−12∑i=13∑j=13αiαjyiyjKij\max_{\alpha_1, \alpha_2, \alpha_3} \sum_{i=1}^3 \alpha_i - \frac{1}{2} \sum_{i=1}^3 \sum_{j=1}^3 \alpha_i \alpha_j y_i y_j K_{ij}

제약조건:

∑i=13αiyi=α1(1)+α2(1)+α3(−1)=0  ⟹  α3=α1+α2\begin{aligned} \sum_{i=1}^3 \alpha_i y_i &= \alpha_1(1) + \alpha_2(1) + \alpha_3(-1) = 0 \\ &\implies \alpha_3 = \alpha_1 + \alpha_2 \end{aligned}

αi≥0\alpha_i \ge 0.

α3=α1+α2\alpha_3 = \alpha_1 + \alpha_2를 목적함수에 대입합니다:

  1. 선형항: ∑i=13αi=α1+α2+α3=α1+α2+(α1+α2)=2(α1+α2)\sum_{i=1}^3 \alpha_i = \alpha_1 + \alpha_2 + \alpha_3 = \alpha_1 + \alpha_2 + (\alpha_1 + \alpha_2) = 2(\alpha_1 + \alpha_2)
  2. 2차항: x3x_3 관련 내적은 모두 00이므로 i=3i=3이나 j=3j=3인 항은 모두 사라집니다! 12∑i=13∑j=13αiαjyiyjKij=12[α12(1)(1)(5)+2α1α2(1)(1)(4)+α22(1)(1)(5)]=12(5α12+8α1α2+5α22)\begin{aligned} &\frac{1}{2} \sum_{i=1}^3 \sum_{j=1}^3 \alpha_i \alpha_j y_i y_j K_{ij} \\ &= \frac{1}{2} \Bigl[ \alpha_1^2 (1)(1)(5) \\ &\quad + 2 \alpha_1 \alpha_2 (1)(1)(4) \\ &\quad + \alpha_2^2 (1)(1)(5) \Bigr] \\ &= \frac{1}{2} (5\alpha_1^2 + 8\alpha_1 \alpha_2 + 5\alpha_2^2) \end{aligned}

따라서 최적화할 함수 g(α1,α2)g(\alpha_1, \alpha_2)는:

g(α1,α2)=2α1+2α2−52α12−4α1α2−52α22\begin{aligned} g(\alpha_1, \alpha_2) &= 2\alpha_1 + 2\alpha_2 \\ &\quad - \frac{5}{2}\alpha_1^2 - 4\alpha_1\alpha_2 - \frac{5}{2}\alpha_2^2 \end{aligned}

3단계: 극값 계산

편미분을 0으로 두면 ∂g∂α1=2−5α1−4α2=0\frac{\partial g}{\partial \alpha_1} = 2 - 5\alpha_1 - 4\alpha_2 = 0, ∂g∂α2=2−4α1−5α2=0\frac{\partial g}{\partial \alpha_2} = 2 - 4\alpha_1 - 5\alpha_2 = 0이고, 두 식을 빼면 α2−α1=0\alpha_2 - \alpha_1 = 0입니다. 그래서 α1=α2=α\alpha_1 = \alpha_2 = \alpha로 둡니다:

g(α)=2(α+α)−(52α2+4α2+52α2)=4α−9α2\begin{aligned} g(\alpha) &= 2(\alpha + \alpha) \\ &\quad - \left( \frac{5}{2}\alpha^2 + 4\alpha^2 + \frac{5}{2}\alpha^2 \right) \\ &= 4\alpha - 9\alpha^2 \end{aligned}

α\alpha로 미분하여 00으로 놓으면:

dgdα=4−18α=0  ⟹  α=418=29\frac{dg}{d\alpha} = 4 - 18\alpha = 0 \implies \alpha = \frac{4}{18} = \frac{2}{9}

따라서 최적의 라그랑주 승수는:

α1∗=29,α2∗=29,α3∗=α1∗+α2∗=49\begin{aligned} \alpha_1^* &= \frac{2}{9}, \\ \alpha_2^* &= \frac{2}{9}, \\ \alpha_3^* &= \alpha_1^* + \alpha_2^* = \frac{4}{9} \end{aligned}

모두 αi∗>0\alpha_i^* > 0 이므로 세 점 모두 서포트 벡터입니다!

4단계: 법선 벡터 w∗w^* 및 편향 b∗b^* 계산

  • w∗w^* 계산 (표현자 정리):

    w∗=∑i=13αi∗yixi=29(+1)[12]+29(+1)[21]+49(−1)[00]=29([12]+[21])=29[33]=[2/32/3]\begin{aligned} w^* &= \sum_{i=1}^3 \alpha_i^* y_i x_i = \frac{2}{9}(+1)\begin{bmatrix} 1 \\ 2 \end{bmatrix} \\ &\quad + \frac{2}{9}(+1)\begin{bmatrix} 2 \\ 1 \end{bmatrix} + \frac{4}{9}(-1)\begin{bmatrix} 0 \\ 0 \end{bmatrix} \\ &= \frac{2}{9} \left( \begin{bmatrix} 1 \\ 2 \end{bmatrix} + \begin{bmatrix} 2 \\ 1 \end{bmatrix} \right) \\ &= \frac{2}{9} \begin{bmatrix} 3 \\ 3 \end{bmatrix} = \begin{bmatrix} 2/3 \\ 2/3 \end{bmatrix} \end{aligned}
  • b∗b^* 계산: 서포트 벡터 x1x_1은 마진 경계선 위에 있으므로 y1(⟨w∗,x1⟩+b)=1y_1(\langle w^*, x_1 \rangle + b) = 1:

    (+1)([2/32/3][12]+b)=1  ⟹  (23+43)+b=1  ⟹  2+b=1  ⟹  b∗=−1\begin{aligned} & (+1)\left( \begin{bmatrix} 2/3 & 2/3 \end{bmatrix} \begin{bmatrix} 1 \\ 2 \end{bmatrix} + b \right) = 1 \\ & \implies \left(\frac{2}{3} + \frac{4}{3}\right) + b = 1 \\ & \implies 2 + b = 1 \implies b^* = -1 \end{aligned}

    (검산 x2x_2): ⟨w∗,x2⟩+b=(4/3+2/3)−1=2−1=+1=y2\langle w^*, x_2 \rangle + b = (4/3 + 2/3) - 1 = 2 - 1 = +1 = y_2 (성립!)
    (검산 x3x_3): ⟨w∗,x3⟩+b=0−1=−1=y3\langle w^*, x_3 \rangle + b = 0 - 1 = -1 = y_3 (성립!)

  • 마진(Margin) rr 계산:

    ∥w∗∥=(23)2+(23)2=89=223\begin{aligned} \|w^*\| &= \sqrt{\left(\frac{2}{3}\right)^2 + \left(\frac{2}{3}\right)^2} \\ &= \sqrt{\frac{8}{9}} = \frac{2\sqrt{2}}{3} \end{aligned}

    r=1∥w∗∥=322=324≈1.0607r = \frac{1}{\|w^*\|} = \frac{3}{2\sqrt{2}} = \frac{3\sqrt{2}}{4} \approx 1.0607
  • 초평면 방정식:

    23x1+23x2−1=0  ⟺  x1+x2−1.5=0\begin{aligned} & \frac{2}{3} x_1 + \frac{2}{3} x_2 - 1 = 0 \\ & \iff x_1 + x_2 - 1.5 = 0 \end{aligned}
  • 볼록 껍질 관점과의 기하학적 일치 확인:

    • 양성 껍질의 중점 c=12x1+12x2=[1.51.5]c = \frac{1}{2}x_1 + \frac{1}{2}x_2 = \begin{bmatrix} 1.5 \\ 1.5 \end{bmatrix}
    • 음성 껍질의 점 d=x3=[00]d = x_3 = \begin{bmatrix} 0 \\ 0 \end{bmatrix}
    • 두 점 사이의 최단 벡터 c−d=[1.51.5]c - d = \begin{bmatrix} 1.5 \\ 1.5 \end{bmatrix}
    • 초평면의 법선 벡터 w=[2/32/3]w = \begin{bmatrix} 2/3 \\ 2/3 \end{bmatrix}는 c−dc - d와 정확히 같은 방향입니다! 초평면은 cc와 dd의 중점인 [0.75,0.75]⊤[0.75, 0.75]^\top을 지나며 수직이등분합니다.
    • 마진 r=324r = \frac{3\sqrt{2}}{4}는 ∥c−d∥=322\|c - d\| = \frac{3\sqrt{2}}{2}의 정확히 절반입니다. 볼록 껍질 가중치 (12,12,1)(\tfrac12, \tfrac12, 1)은 쌍대 해 (29,29,49)(\tfrac29, \tfrac29, \tfrac49)에 94\tfrac94를 곱한 것으로, 두 관점의 해가 비례합니다.

12.4 커널(Kernels, 388~390쪽)

왜 필요한가 (직관)

만약 데이터가 도넛 모양(안쪽에 파란 점, 바깥 원에 빨간 점)처럼 선형적으로 도저히 분리할 수 없는 비선형 구조를 띤다면 어떻게 해야 할까요? 9장 선형 회귀에서 배웠던 강력한 기법을 다시 사용합니다: 특성 매핑(Feature Mapping) ϕ(x)\phi(x)를 통해 데이터를 훨씬 더 높은 고차원 공간으로 날려버리는 것입니다!

저차원에서는 뒤엉켜 있던 데이터도 충분히 높은 고차원으로 올리면 선형 초평면 하나로 가를 수 있게 되는 경우가 많습니다(교재 밖 보충: Cover의 정리). 하지만 고차원 특성 벡터 ϕ(x)\phi(x)를 직접 계산하는 것은 계산량이 너무 많고 메모리가 폭발합니다. 여기서 SVM 쌍대 문제의 장점이 드러납니다: 쌍대 문제에는 데이터 xx가 오직 내적 ⟨ϕ(xi),ϕ(xj)⟩\langle \phi(x_i), \phi(x_j) \rangle의 형태로만 존재하므로, 고차원 좌표를 직접 구하지 않고 내적 결과값만 한 방에 계산해 주는 요술 함수 커널 k(xi,xj)k(x_i, x_j)를 사용하면 됩니다. 이것이 바로 커널 트릭(Kernel Trick)입니다!

정의와 성질

1. 커널 함수와 재생 커널 힐베르트 공간 (RKHS)

입력 공간 X\mathcal{X} 상의 임의의 두 데이터 xi,xjx_i, x_j에 대해, 어떤 힐베르트 공간 H\mathcal{H}로의 특성 맵 ϕ:X→H\phi: \mathcal{X} \to \mathcal{H}가 존재하여 그 내적과 일치하는 함수 k:X×X→Rk: \mathcal{X} \times \mathcal{X} \to \mathbb{R}를 커널(Kernel)이라 정의합니다 (교재 식 12.52):

k(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩Hk(x_i, x_j) = \langle \phi(x_i), \phi(x_j) \rangle_\mathcal{H}

2. 그람 행렬(Gram Matrix)과 양의 준정부호성

교재는 커널을 “대칭이고 양의 준정부호인 함수"로 설명합니다. 이 조건이 커널이 되기 위한 필요충분조건이라는 것은 머서 정리 계열의 결과입니다(교재 밖 보충). 즉 유효한 커널의 조건은 대칭성(k(xi,xj)=k(xj,xi)k(x_i, x_j) = k(x_j, x_i))과 양의 준정부호성(Positive Semi-Definite, PSD)입니다. 데이터셋에 대한 커널 행렬(그람 행렬) K∈RN×NK \in \mathbb{R}^{N \times N} (Kij=k(xi,xj)K_{ij} = k(x_i, x_j))은 모든 z∈RNz \in \mathbb{R}^N에 대해 다음을 만족해야 합니다 (교재 식 12.53):

z⊤Kz≥0z^\top K z \ge 0

3. 대표적인 커널 함수의 종류

  1. 선형 커널 (Linear Kernel): k(xi,xj)=⟨xi,xj⟩=xi⊤xjk(x_i, x_j) = \langle x_i, x_j \rangle = x_i^\top x_j
  2. 다항식 커널 (Polynomial Kernel): k(xi,xj)=(⟨xi,xj⟩+c)d(c≥0,d∈N)k(x_i, x_j) = (\langle x_i, x_j \rangle + c)^d \quad (c \ge 0, d \in \mathbb{N})
  3. 가우시안 RBF 커널 (Radial Basis Function Kernel): k(xi,xj)=exp⁡(−∥xi−xj∥22σ2)=exp⁡(−γ∥xi−xj∥2)k(x_i, x_j) = \exp\left( -\frac{\|x_i - x_j\|^2}{2\sigma^2} \right) = \exp(-\gamma \|x_i - x_j\|^2)

    성질: 가우시안 RBF 커널에 대응하는 힐베르트 공간 H\mathcal{H}는 무한 차원(infinite-dimensional) 공간입니다! 테일러 급수 전개를 통해 무한 차원의 다항식 특성 공간에서의 내적을 단 하나의 지수함수 계산으로 정확히 대체합니다.

4. 커널 SVM의 최종 분류 결정 함수

학습된 최적의 쌍대 해 α∗\alpha^*를 사용하면, 새로운 데이터 xtestx_{\text{test}}에 대한 예측은 다음과 같이 커널 값들의 선형결합으로 즉시 계산됩니다:

f(xtest)=∑n=1Nαn∗ynk(xn,xtest)+b∗f(x_{\text{test}}) = \sum_{n=1}^N \alpha_n^* y_n k(x_n, x_{\text{test}}) + b^*

서포트 벡터가 아닌 점들은 αn∗=0\alpha_n^* = 0이므로, 오직 서포트 벡터들과의 커널 유사도만 계산하면 충분합니다!

손으로 풀어 보는 예제 (다항식 커널의 특성 맵 전개)

1차원 데이터 xi,xj∈Rx_i, x_j \in \mathbb{R}에 대해 차수 d=2,c=1d=2, c=1인 다항식 커널 k(xi,xj)=(xixj+1)2k(x_i, x_j) = (x_i x_j + 1)^2를 생각하자. 이 커널에 대응하는 명시적 특성 매핑 ϕ(x)\phi(x)를 구하시오.

풀이:

k(xi,xj)=(xixj+1)2=(xixj)2+2(xixj)+1=xi2xj2+(2xi)(2xj)+1⋅1\begin{aligned} k(x_i, x_j) &= (x_i x_j + 1)^2 \\ &= (x_i x_j)^2 + 2(x_i x_j) + 1 \\ &= x_i^2 x_j^2 \\ &\quad + (\sqrt{2}x_i)(\sqrt{2}x_j) + 1 \cdot 1 \end{aligned}

이는 3차원 벡터 간의 표준 내적과 일치한다:

⟨ϕ(xi),ϕ(xj)⟩=[xi22xi1]⊤[xj22xj1]\langle \phi(x_i), \phi(x_j) \rangle = \begin{bmatrix} x_i^2 \\ \sqrt{2}x_i \\ 1 \end{bmatrix}^\top \begin{bmatrix} x_j^2 \\ \sqrt{2}x_j \\ 1 \end{bmatrix}

따라서 특성 매핑은 ϕ(x)=[x22x1]∈R3\phi(x) = \begin{bmatrix} x^2 \\ \sqrt{2}x \\ 1 \end{bmatrix} \in \mathbb{R}^3 이다. 1차원 데이터를 3차원 포물선 공간으로 매핑한 것과 동일합니다.


12.5 수치적 해법(Numerical Solution, 390~392쪽)

왜 필요한가 (직관)

SVM의 목적함수를 도출했으니, 컴퓨터로 이를 실제로 풀어내는 알고리즘이 필요합니다. 교재는 크게 두 가지 수치 최적화 경로를 제시합니다:

  1. 손실 함수 관점에서의 서브그레디언트 경사하강법(Subgradient Descent).
  2. 제약조건 최적화 관점에서의 볼록 2차 계획법(Quadratic Programming, QP) 표준형 변환.

정의와 성질

1. 힌지 손실의 서브그레디언트 (Subgradient)

힌지 손실 ℓ(t)=max⁡{0,1−t}\ell(t) = \max\{0, 1-t\} (t=yf(x)t = y f(x))는 꺾인 점 t=1t = 1에서 미분이 불가능합니다. 하지만 볼록 함수이므로 서브그레디언트(subgradient)를 정의하여 최적화할 수 있습니다 (교재 식 12.54):

g(t)={−1if t<1[−1,0]if t=10if t>1g(t) = \begin{cases} -1 & \text{if } t < 1 \\ [-1, 0] & \text{if } t = 1 \\ 0 & \text{if } t > 1 \end{cases}

이를 이용해 7장의 경사하강법·확률적 경사하강법을 그대로 쓸 수 있습니다(교재 밖 보충: Pegasos가 대표적인 SGD 기반 선형 SVM 학습법).

2. 원시 SVM의 2차 계획법(QP) 표준형 (교재 식 12.56)

변수들을 하나의 긴 벡터 θ=[wbξ]∈RD+1+N\theta = \begin{bmatrix} w \\ b \\ \xi \end{bmatrix} \in \mathbb{R}^{D + 1 + N}로 결합하면, 원시 SVM은 표준 QP 형태 min⁡θ12θ⊤Pθ+q⊤θs.t.Aθ≤h\min_\theta \frac{1}{2} \theta^\top P \theta + q^\top \theta \quad \text{s.t.} \quad A \theta \le h 로 정확히 표현됩니다:

min⁡w,b,ξ12[wbξ]⊤[ID00000000][wbξ]+[0D+1C1N]⊤[wbξ]\begin{aligned} & \min_{w, b, \xi} \frac{1}{2} \begin{bmatrix} w \\ b \\ \xi \end{bmatrix}^\top \begin{bmatrix} I_D & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & 0 & \mathbf{0} \\ \mathbf{0} & \mathbf{0} & \mathbf{0} \end{bmatrix} \begin{bmatrix} w \\ b \\ \xi \end{bmatrix} \\ &\quad + \begin{bmatrix} \mathbf{0}_{D+1} \\ C \mathbf{1}_N \end{bmatrix}^\top \begin{bmatrix} w \\ b \\ \xi \end{bmatrix} \end{aligned}

subject to[−YX−y−IN00−IN][wbξ]≤[−1N0N]\begin{aligned} \text{subject to} \quad & \begin{bmatrix} -YX & -y & -I_N \\ \mathbf{0} & 0 & -I_N \end{bmatrix} \begin{bmatrix} w \\ b \\ \xi \end{bmatrix} \\ & \le \begin{bmatrix} -\mathbf{1}_N \\ \mathbf{0}_N \end{bmatrix} \end{aligned}

여기서 Y=diag(y)Y = \text{diag}(y), X∈RN×DX \in \mathbb{R}^{N \times D} 입니다.

3. 쌍대 SVM의 2차 계획법(QP) 표준형 (교재 식 12.57)

쌍대 문제는 오직 α∈RN\alpha \in \mathbb{R}^N에 대한 NN차원 QP 문제입니다:

min⁡α12α⊤(YKY)α−1N⊤α\min_\alpha \quad \frac{1}{2} \alpha^\top (Y K Y) \alpha - \mathbf{1}_N^\top \alpha

subject to[y⊤−y⊤−ININ]α≤[000NC1N]\text{subject to} \quad \begin{bmatrix} y^\top \\ -y^\top \\ -I_N \\ I_N \end{bmatrix} \alpha \le \begin{bmatrix} 0 \\ 0 \\ \mathbf{0}_N \\ C \mathbf{1}_N \end{bmatrix}

여기서 등식 제약조건 y⊤α=0y^\top \alpha = 0은 두 개의 부등식 y⊤α≤0y^\top \alpha \le 0과 −y⊤α≤0-y^\top \alpha \le 0으로 표준 변환되었습니다. (교재 밖 보충) 실무에서는 대규모 QP를 풀기 위해 SMO(Sequential Minimal Optimization) 알고리즘(LIBSVM)이 널리 쓰입니다.


12.6 더 읽을거리(Further Reading, 392~394쪽)

핵심 개념 정리

  1. 로지스틱 회귀(Logistic Regression)와의 비교:
    • SVM은 기하학적 마진 최대화에 기반한 비확률적(non-probabilistic) 모델이며, 손실 함수로 힌지 손실을 씁니다. 서포트 벡터가 아닌 점들은 손실이 0이므로 경계선 형성에 아무런 영향을 주지 않습니다(희소성, sparsity).
    • 로지스틱 회귀는 베르누이 가능도의 음의 로그 가능도(로그 손실 / 크로스 엔트로피)를 최소화하는 확률적(probabilistic) 모델입니다. 모든 데이터가 시그모이드 곡선을 통해 손실에 기여하므로 희소성이 없습니다.
  2. 플랫 스케일링(Platt Scaling):
    • SVM의 결정 점수 f(x)=⟨w,x⟩+bf(x) = \langle w, x \rangle + b는 확률이 아닙니다. 이를 사후확률 P(Y=1∣x)P(Y=1 \mid x)로 변환하기 위해 추가적인 시그모이드 로지스틱 교정 함수 P(Y=1∣x)=11+exp⁡(Af(x)+B)P(Y=1 \mid x) = \frac{1}{1 + \exp(A f(x) + B)}를 적합하는 기법입니다. (교재는 Platt(2000) 등의 보정 단계가 있다고만 언급하며, 이 식은 교재 밖 보충.)
  3. 볼록 켤레(Fenchel Conjugate) 관점:
    • 르장드르-펜첼 변환을 통해 힌지 손실의 볼록 켤레 함수를 구함으로써 라그랑주 승수법과 완전히 동일한 쌍대 SVM을 유도할 수 있습니다.

핵심 유도 모음 (백지에 직접 쓸 수 있어야 하는 유도)

유도 1: 점과 초평면 사이의 기하학적 거리 및 마진 r=1/∥w∥r = 1/\|w\| 유도

  1. 설정: 초평면 H={x:⟨w,x⟩+b=0}\mathcal{H} = \{x : \langle w, x \rangle + b = 0\}. 임의의 점 xax_a (⟨w,xa⟩+b>0\langle w, x_a \rangle + b > 0).
  2. 수선의 발 xa′x_a' 정의: xa′x_a'는 초평면 위의 점이므로 ⟨w,xa′⟩+b=0\langle w, x_a' \rangle + b = 0.
  3. 벡터 덧셈 관계식: 법선 벡터 방향의 단위 벡터는 w∥w∥\frac{w}{\|w\|}이므로, xa=xa′+rw∥w∥(r>0)x_a = x_a' + r \frac{w}{\|w\|} \quad (r > 0) (이유: ww가 초평면에 직교하므로 최단거리 벡터는 ww와 평행함)
  4. 초평면 방정식 대입: ⟨w,xa⟩+b=⟨w,xa′+rw∥w∥⟩+b=⟨w,xa′⟩+b⏟=0+r⟨w,w⟩∥w∥\langle w, x_a \rangle + b = \left\langle w, x_a' + r \frac{w}{\|w\|} \right\rangle + b = \underbrace{\langle w, x_a' \rangle + b}_{=0} + r \frac{\langle w, w \rangle}{\|w\|}
  5. 내적의 성질 적용: ⟨w,w⟩=∥w∥2\langle w, w \rangle = \|w\|^2 이므로, ⟨w,xa⟩+b=r∥w∥2∥w∥=r∥w∥  ⟹  r=⟨w,xa⟩+b∥w∥\langle w, x_a \rangle + b = r \frac{\|w\|^2}{\|w\|} = r \|w\| \implies r = \frac{\langle w, x_a \rangle + b}{\|w\|}
  6. 마진 조건 스케일링: 가장 가까운 서포트 벡터 xax_a에서의 값을 ⟨w,xa⟩+b=1\langle w, x_a \rangle + b = 1로 정규화하면: r=1∥w∥■r = \frac{1}{\|w\|} \quad \blacksquare

유도 2: 원시 SVM에서 쌍대 SVM으로의 완전한 라그랑주 쌍대 유도

목표: 원시 소프트 마진 최적화 문제로부터 라그랑주 함수를 구성하고, w,b,ξw, b, \xi를 소거하여 α\alpha만의 쌍대 문제를 유도한다.

  1. 원시 문제 및 라그랑지안 구성:

    L(w,b,ξ,α,γ)=12∥w∥2+C∑n=1Nξn−∑n=1Nαn(yn(⟨w,xn⟩+b)−1+ξn)−∑n=1Nγnξn\begin{aligned} L(w, b, \xi, \alpha, \gamma) &= \frac{1}{2} \|w\|^2 \\ &\quad + C \sum_{n=1}^N \xi_n \\ &\quad - \sum_{n=1}^N \alpha_n \Bigl( \\ &\qquad y_n (\langle w, x_n \rangle + b) - 1 + \xi_n \Bigr) \\ &\quad - \sum_{n=1}^N \gamma_n \xi_n \end{aligned}

    제약: αn≥0,γn≥0\alpha_n \ge 0, \gamma_n \ge 0.

  2. w,b,ξw, b, \xi에 대한 편미분을 0으로 놓기 (KKT 1차 조건):

    • ∇wL=w−∑n=1Nαnynxn=0  ⟹  w=∑n=1Nαnynxn\nabla_w L = w - \sum_{n=1}^N \alpha_n y_n x_n = \mathbf{0} \implies w = \sum_{n=1}^N \alpha_n y_n x_n
    • ∂L∂b=−∑n=1Nαnyn=0  ⟹  ∑n=1Nαnyn=0\frac{\partial L}{\partial b} = -\sum_{n=1}^N \alpha_n y_n = 0 \implies \sum_{n=1}^N \alpha_n y_n = 0
    • ∂L∂ξn=C−αn−γn=0  ⟹  C−αn−γn=0\frac{\partial L}{\partial \xi_n} = C - \alpha_n - \gamma_n = 0 \implies C - \alpha_n - \gamma_n = 0
  3. 라그랑지안의 항별 분해 및 소거: LL을 각 변수별로 묶어 정리하면 (교재 식 12.39):

    L=12∥w∥2−⟨w,∑n=1Nαnynxn⟩−b(∑n=1Nαnyn)⏟=0+∑n=1Nαn+∑n=1N(C−αn−γn)⏟=0ξn\begin{aligned} L &= \frac{1}{2} \|w\|^2 - \left\langle w, \sum_{n=1}^N \alpha_n y_n x_n \right\rangle \\ &\quad - b \underbrace{\left( \sum_{n=1}^N \alpha_n y_n \right)}_{=0} + \sum_{n=1}^N \alpha_n \\ &\quad + \sum_{n=1}^N \underbrace{(C - \alpha_n - \gamma_n)}_{=0} \xi_n \end{aligned}
    • bb가 곱해진 항은 ∑αnyn=0\sum \alpha_n y_n = 0에 의해 완전히 00이 되어 사라진다.
    • ξn\xi_n이 곱해진 항은 C−αn−γn=0C - \alpha_n - \gamma_n = 0에 의해 완전히 00이 되어 사라진다.
  4. ww 항의 대입 및 정리: w=∑n=1Nαnynxnw = \sum_{n=1}^N \alpha_n y_n x_n을 대입하면:

    12∥w∥2=12⟨∑i=1Nαiyixi,∑j=1Nαjyjxj⟩=12∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩\begin{aligned} \frac{1}{2} \|w\|^2 &= \frac{1}{2} \Bigl\langle \sum_{i=1}^N \alpha_i y_i x_i, \\ &\quad \sum_{j=1}^N \alpha_j y_j x_j \Bigr\rangle \\ &= \frac{1}{2} \sum_{i=1}^N \\ &\quad \sum_{j=1}^N \alpha_i \alpha_j y_i y_j \langle x_i, x_j \rangle \end{aligned}

    뒤의 내적 항:

    −⟨w,∑i=1Nαiyixi⟩=−∥w∥2=−∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩\begin{aligned} &-\left\langle w, \sum_{i=1}^N \alpha_i y_i x_i \right\rangle \\ &= -\|w\|^2 \\ &= -\sum_{i=1}^N \\ &\quad \sum_{j=1}^N \alpha_i \alpha_j y_i y_j \langle x_i, x_j \rangle \end{aligned}

    두 항을 합치면:

    12∥w∥2−∥w∥2=−12∥w∥2=−12∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩\begin{aligned} &\frac{1}{2}\|w\|^2 - \|w\|^2 \\ &= -\frac{1}{2}\|w\|^2 \\ &= -\frac{1}{2} \sum_{i=1}^N \\ &\quad \sum_{j=1}^N \alpha_i \alpha_j y_i y_j \langle x_i, x_j \rangle \end{aligned}
  5. 쌍대 목적함수 D(α)\mathcal{D}(\alpha) 완성:

    D(α)=∑i=1Nαi−12∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩\begin{aligned} \mathcal{D}(\alpha) &= \sum_{i=1}^N \alpha_i \\ &\quad - \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j \langle x_i, x_j \rangle \end{aligned}

    제약조건:

    • ∑i=1Nαiyi=0\sum_{i=1}^N \alpha_i y_i = 0
    • αi≥0\alpha_i \ge 0 이고, γi=C−αi≥0  ⟹  αi≤C  ⟹  0≤αi≤C\gamma_i = C - \alpha_i \ge 0 \implies \alpha_i \le C \implies 0 \le \alpha_i \le C.
  6. 최소화 문제로의 변환: max⁡D(α)  ⟺  min⁡[−D(α)]\max \mathcal{D}(\alpha) \iff \min [-\mathcal{D}(\alpha)] 이므로:

    min⁡α12∑i=1N∑j=1Nαiαjyiyj⟨xi,xj⟩−∑i=1Nαi■\begin{aligned} & \min_\alpha \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j \langle x_i, x_j \rangle \\ &\quad - \sum_{i=1}^N \alpha_i \quad \blacksquare \end{aligned}

말로 설명하기 (개념 서술형·구술 대비)

서술형 문항이나 구술 질문에 대비해 말로도 설명해 본다.

Q. SVM은 왜 마진을 최대화하나요? 마진이 1/∥w∥1/\|w\|인 이유는? “분리하는 직선이 여러 개면 양쪽 데이터에서 가장 멀리 떨어진 것이 새 데이터의 작은 흔들림에도 덜 틀리기 때문입니다. 초평면 ⟨w,x⟩+b=0\langle w,x\rangle+b=0은 w,bw,b에 같은 양수를 곱해도 그대로라서, 가장 가까운 점에서 yn(⟨w,xn⟩+b)=1y_n(\langle w,x_n\rangle+b)=1이 되도록 크기를 고정할 수 있습니다. 그러면 점과 초평면 사이 거리 공식 ∣⟨w,x⟩+b∣∥w∥\frac{|\langle w,x\rangle+b|}{\|w\|}에서 마진이 1/∥w∥1/\|w\|이고, 마진 최대화는 12∥w∥2\frac12\|w\|^2 최소화와 같습니다.”

Q. 소프트 마진에서 CC와 슬랙 변수의 역할은? “현실 데이터는 정확히 나뉘지 않으므로 점마다 위반량 ξn≥0\xi_n\ge0을 허용해 ynf(xn)≥1−ξny_n f(x_n)\ge1-\xi_n으로 완화합니다. ξn\xi_n이 0과 1 사이면 마진 안쪽, 1보다 크면 오분류입니다. CC가 크면 위반을 거의 허용하지 않아 마진이 좁아지고 과적합 위험이 커지며, 작으면 마진이 넓어지고 과소적합 위험이 커집니다.”

Q. 힌지 손실 관점으로 SVM을 설명해 보세요. “min⁡12∥w∥2+C∑max⁡{0,1−ynf(xn)}\min\frac12\|w\|^2+C\sum\max\{0,1-y_nf(x_n)\}로, 정규화 항과 힌지 손실의 합을 최소화하는 경험적 위험 최소화입니다. 힌지 손실은 0-1 손실의 볼록 상한이고, ξn≥0, ξn≥1−t\xi_n\ge0,\ \xi_n\ge1-t 제약으로 바꾸면 슬랙 변수를 쓴 기하학적 문제와 정확히 같아집니다.”

Q. 쌍대 문제를 왜 푸나요? 유도 과정을 요약해 보세요. “라그랑지안에서 ww, bb, ξ\xi로 미분해 0으로 두면 w=∑αnynxnw=\sum\alpha_ny_nx_n, ∑αnyn=0\sum\alpha_ny_n=0, αn+γn=C\alpha_n+\gamma_n=C가 나옵니다. 대입하면 α\alpha만 남은 max⁡∑αn−12∑∑αiαjyiyj⟨xi,xj⟩\max\sum\alpha_n-\frac12\sum\sum\alpha_i\alpha_jy_iy_j\langle x_i,x_j\rangle, 제약 0≤αn≤C0\le\alpha_n\le C가 됩니다. 변수 수가 차원 DD가 아니라 데이터 수 NN이고, 데이터가 내적으로만 나타나 커널로 바꿀 수 있다는 것이 장점입니다.”

Q. 서포트 벡터는 무엇이고 왜 해가 희소한가요? “αn>0\alpha_n>0인 점입니다. 상보 여유성 때문에 마진 바깥에 여유 있게 있는 점은 αn=0\alpha_n=0이 되어 ww에 기여하지 않습니다. 0<αn<C0<\alpha_n<C면 마진 경계 바로 위에 있어 bb를 구하는 데 쓰고, αn=C\alpha_n=C면 마진을 침범했거나 오분류된 점입니다.”

Q. 커널 트릭이란? 어떤 함수가 커널이 될 수 있나요? “쌍대 문제와 예측식에 데이터가 내적으로만 나오므로, 내적을 k(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩k(x_i,x_j)=\langle\phi(x_i),\phi(x_j)\rangle로 바꾸면 고차원 특징 ϕ\phi를 직접 계산하지 않고도 그 공간에서 선형 분리를 할 수 있습니다. 커널은 대칭이고 양의 준정부호여서 어떤 데이터에서든 그람 행렬이 양의 준정부호여야 합니다. 다항식 커널과 가우시안 RBF 커널이 대표적이며, RBF는 무한 차원 특징 공간에 해당합니다.”

Q. 볼록 껍질 관점은 무엇인가요? “하드 마진 쌍대 SVM은 두 클래스 점들의 볼록 껍질 사이에서 가장 가까운 두 점을 찾는 문제와 같습니다. 최적 초평면은 그 최단 선분을 수직이등분하고, 마진은 최단 거리의 절반입니다.”


연습문제

확인 문제 (계산형 및 개념형 10제)

[문제 1: 1차원 하드 마진 SVM 손계산]

1차원 공간에 세 개의 데이터가 있다:

  • x1=1,y1=−1x_1 = 1, y_1 = -1
  • x2=2,y2=−1x_2 = 2, y_2 = -1
  • x3=6,y3=+1x_3 = 6, y_3 = +1 하드 마진 분리 초평면(점) wx+b=0w x + b = 0의 최적 매개변수 w∗,b∗w^*, b^*와 마진 rr을 구하시오.

[풀이] 1차원에서 분리 초평면은 두 클래스 사이의 경계점이다. 음성 클래스 중 가장 큰 점은 x2=2x_2 = 2, 양성 클래스 중 가장 작은 점은 x3=6x_3 = 6이다. 서포트 벡터는 x2x_2와 x3x_3이다. 마진 경계선 조건: w(2)+b=−1w(2) + b = -1 w(6)+b=+1w(6) + b = +1 두 식을 빼면: 4w=2  ⟹  w∗=12=0.54w = 2 \implies w^* = \frac{1}{2} = 0.5. 대입하면: 0.5(2)+b=−1  ⟹  1+b=−1  ⟹  b∗=−20.5(2) + b = -1 \implies 1 + b = -1 \implies b^* = -2. 결정 경계점: 0.5x−2=0  ⟹  x=40.5 x - 2 = 0 \implies x = 4. (2와 6의 정확한 중점!) 마진 r=1∣w∣=10.5=2r = \frac{1}{|w|} = \frac{1}{0.5} = 2. (경계점 4에서 2와 6까지의 거리는 정확히 2).


[문제 2: 마진 크기 비교]

초평면 A:3x1+4x2−5=0A: 3x_1 + 4x_2 - 5 = 0 과 초평면 B:x1+x2−1=0B: x_1 + x_2 - 1 = 0 이 각각 서포트 벡터에서의 함수값이 ±1\pm 1이 되도록 표준화되어 있다고 할 때, 두 초평면의 마진 rA,rBr_A, r_B를 비교하시오.

[풀이] 마진 공식: r=1∥w∥r = \frac{1}{\|w\|}.

  • 초평면 AA: wA=[34]  ⟹  ∥wA∥=32+42=5  ⟹  rA=15=0.2w_A = \begin{bmatrix} 3 \\ 4 \end{bmatrix} \implies \|w_A\| = \sqrt{3^2 + 4^2} = 5 \implies r_A = \frac{1}{5} = 0.2.
  • 초평면 BB: wB=[11]  ⟹  ∥wB∥=12+12=2  ⟹  rB=12≈0.7071w_B = \begin{bmatrix} 1 \\ 1 \end{bmatrix} \implies \|w_B\| = \sqrt{1^2 + 1^2} = \sqrt{2} \implies r_B = \frac{1}{\sqrt{2}} \approx 0.7071. 따라서 초평면 BB의 마진이 초평면 AA보다 훨씬 크다 (rB>rAr_B > r_A).

[문제 3: 힌지 손실 수치 계산]

데이터셋이 다음과 같다:

  • (x1,y1)=([1,1]⊤,+1)(x_1, y_1) = ([1, 1]^\top, +1)
  • (x2,y2)=([2,0]⊤,−1)(x_2, y_2) = ([2, 0]^\top, -1) 현재 모델 파라미터가 w=[1,−1]⊤,b=0w = [1, -1]^\top, b = 0일 때, 두 데이터에서 발생하는 힌지 손실의 합을 구하시오.

[풀이]

  1. x1x_1: f(x1)=1(1)−1(1)+0=0f(x_1) = 1(1) - 1(1) + 0 = 0. t1=y1f(x1)=(+1)(0)=0  ⟹  ℓ1=max⁡{0,1−0}=1.0t_1 = y_1 f(x_1) = (+1)(0) = 0 \implies \ell_1 = \max\{0, 1 - 0\} = 1.0
  2. x2x_2: f(x2)=1(2)−1(0)+0=2f(x_2) = 1(2) - 1(0) + 0 = 2. t2=y2f(x2)=(−1)(2)=−2  ⟹  ℓ2=max⁡{0,1−(−2)}=3.0t_2 = y_2 f(x_2) = (-1)(2) = -2 \implies \ell_2 = \max\{0, 1 - (-2)\} = 3.0 총 힌지 손실: 1.0+3.0=4.01.0 + 3.0 = 4.0.

[문제 4: 소프트 마진 SVM에서 CC의 역할]

소프트 마진 SVM 목적함수 12∥w∥2+C∑ξn\frac{1}{2}\|w\|^2 + C \sum \xi_n에서 CC 값을 매우 크게 설정할 때와 매우 작게 설정할 때 모델의 마진 너비와 결정 경계의 특성이 어떻게 달라지는지 편향-분산 트레이드오프(bias-variance tradeoff) 관점에서 설명하시오.

[풀이]

  • C→∞C \to \infty (큰 값): 슬랙 변수 ξn\xi_n에 대한 패널티가 극도로 커져 오분류를 전혀 용납하지 않으려 한다. 마진의 너비가 좁아지고 결정 경계가 훈련 데이터의 이상치에 민감하게 반응하여 복잡해진다   ⟹  \implies 편향 감소, 분산 증가 (과적합 위험).
  • C→0C \to 0 (작은 값): 마진을 넓히는 규제항 12∥w∥2\frac{1}{2}\|w\|^2의 비중이 커져서, 데이터가 마진을 침범하거나 오분류되는 것을 관대하게 허용한다. 마진이 매우 넓어지고 결정 경계가 단순해진다   ⟹  \implies 편향 증가, 분산 감소 (과소적합 위험).

[문제 5: 서포트 벡터의 정의와 희소성(Sparsity)]

SVM의 최적해에서 “서포트 벡터(Support Vector)“가 무엇인지 라그랑주 승수 αn\alpha_n의 값으로 정의하고, SVM의 해가 왜 희소(sparse)하다고 불리는지 설명하시오.

[풀이] 표현자 정리에 의해 w∗=∑n=1Nαn∗ynxnw^* = \sum_{n=1}^N \alpha_n^* y_n x_n이다. 여기서 αn∗>0\alpha_n^* > 0인 데이터 포인트 xnx_n을 서포트 벡터라고 부른다. 마진 경계선 바깥에 안전하게 올바르게 분류된 대다수의 데이터 포인트들은 KKT 조건에 의해 αn∗=0\alpha_n^* = 0이 된다. 따라서 전체 데이터 중 오직 극소수의 서포트 벡터들만이 최종 가중치 벡터 w∗w^*를 결정하는 데 참여하며, 나머지 데이터는 제거해도 결정 경계가 전혀 변하지 않는다. 이처럼 해 벡터 α∗\alpha^*의 대부분의 성분이 0인 성질을 해의 희소성(sparsity)이라 부른다.


[문제 6: 편향 b∗b^*의 결정 방식]

쌍대 SVM 문제를 풀어 최적의 α∗\alpha^*를 구한 후, 편향 b∗b^*를 단 하나의 수식으로 계산할 때 어떤 데이터 포인트를 선택해야 가장 수치적으로 안정적인지 KKT 조건에 근거하여 설명하시오.

[풀이] KKT 상보 여유성 조건에 의해, 박스 제약조건의 엄격한 내부(0<αn∗<C0 < \alpha_n^* < C)에 있는 자유 서포트 벡터(free support vector)를 선택해야 한다. 이 점들은 슬랙 변수 ξn=0\xi_n = 0이 엄밀히 보장되므로 마진 경계선 바로 위에 정확히 놓여 있다 (yn(⟨w∗,xn⟩+b∗)=1y_n (\langle w^*, x_n \rangle + b^*) = 1). 양변에 yny_n을 곱하면 (yn2=1y_n^2 = 1이므로):

b∗=yn−⟨w∗,xn⟩=yn−∑j=1Nαj∗yj⟨xj,xn⟩\begin{aligned} b^* &= y_n - \langle w^*, x_n \rangle \\ &= y_n - \sum_{j=1}^N \alpha_j^* y_j \langle x_j, x_n \rangle \end{aligned}

로 정확하게 계산할 수 있다. (교재 식 (12.42) 뒤 비고: 마진 위에 정확히 놓인 점이 없을 수도 있으므로, 모든 서포트 벡터에서 ∣yn−⟨w∗,xn⟩∣|y_n - \langle w^*, x_n \rangle|를 계산해 그 중앙값을 쓰라고 한다. 평균을 쓰는 구현도 있다.)


[문제 7: 커널 행렬의 조건]

임의의 함수 k(x,z)k(x, z)가 유효한 커널 함수가 되기 위해 그람 행렬 KK가 만족해야 하는 두 가지 선형대수학적 조건을 제시하시오.

[풀이]

  1. 대칭성(Symmetry): 모든 i,ji, j에 대해 Kij=KjiK_{ij} = K_{ji} (즉, K=K⊤K = K^\top).
  2. 양의 준정부호성(Positive Semi-Definite, PSD): 임의의 0이 아닌 실수 벡터 z∈RNz \in \mathbb{R}^N에 대해 z⊤Kz≥0z^\top K z \ge 0이어야 하며, 모든 고유값(eigenvalue)이 0 이상이어야 한다.

[문제 8: 가우시안 RBF 커널과 무한 차원 공간]

1차원 데이터에서 가우시안 RBF 커널 k(x,z)=exp⁡(−(x−z)22)k(x, z) = \exp\left(-\frac{(x-z)^2}{2}\right)가 어떻게 무한 차원 특성 공간의 내적으로 해석될 수 있는지 지수함수의 테일러 급수 전개를 통해 보이시오.

[풀이]

k(x,z)=exp⁡(−x2−2xz+z22)=exp⁡(−x22)exp⁡(−z22)exp⁡(xz)\begin{aligned} k(x, z) &= \exp\left(-\frac{x^2 - 2xz + z^2}{2}\right) \\ &= \exp\left(-\frac{x^2}{2}\right) \exp\left(-\frac{z^2}{2}\right) \exp(xz) \end{aligned}

exp⁡(xz)\exp(xz)를 매클로린 급수(테일러 전개)로 전개하면:

exp⁡(xz)=∑m=0∞(xz)mm!=∑m=0∞(xmm!)(zmm!)\begin{aligned} \exp(xz) &= \sum_{m=0}^\infty \frac{(xz)^m}{m!} \\ &= \sum_{m=0}^\infty \left( \frac{x^m}{\sqrt{m!}} \right) \left( \frac{z^m}{\sqrt{m!}} \right) \end{aligned}

따라서:

k(x,z)=∑m=0∞[exp⁡(−x22)xmm!][exp⁡(−z22)zmm!]=⟨ϕ(x),ϕ(z)⟩ℓ2\begin{aligned} k(x, z) &= \sum_{m=0}^\infty \left[ \exp\left(-\frac{x^2}{2}\right) \frac{x^m}{\sqrt{m!}} \right] \\ &\quad \left[ \exp\left(-\frac{z^2}{2}\right) \frac{z^m}{\sqrt{m!}} \right] \\ &= \langle \phi(x), \phi(z) \rangle_{\ell_2} \end{aligned}

여기서 특성 맵 ϕ(x)=exp⁡(−x2/2)[1,x,x22!,x33!,… ]⊤\phi(x) = \exp(-x^2/2) \left[ 1, x, \frac{x^2}{\sqrt{2!}}, \frac{x^3}{\sqrt{3!}}, \dots \right]^\top 은 무한 차원 벡터가 된다.


[문제 9: 볼록 껍질과 선형 분리 가능성]

데이터셋이 선형 분리 가능(linearly separable)하다는 조건을 두 클래스의 볼록 껍질(convex hull)의 기하학적 관계를 이용하여 서술하시오.

[풀이] 양성 클래스 데이터셋의 볼록 껍질 conv(X+)\text{conv}(X^+)와 음성 클래스 데이터셋의 볼록 껍질 conv(X−)\text{conv}(X^-)가 서로 겹치지 않을 때(disjoint, 즉 conv(X+)∩conv(X−)=∅\text{conv}(X^+) \cap \text{conv}(X^-) = \emptyset), 데이터셋은 선형 분리 가능하다. (분리 초평면 정리에 의해 서로 만나지 않는 두 닫힌 볼록 집합 사이에는 반드시 이 둘을 엄격히 분리하는 초평면이 존재함).


[문제 10: SVM과 로지스틱 회귀의 결정적 차이]

분류 문제에서 SVM과 로지스틱 회귀(Logistic Regression)를 비교할 때, 새로운 이상치 데이터가 기존 결정 경계에서 아주 멀리 떨어진 올바른 방향(ynf(xn)≫1y_n f(x_n) \gg 1)에 추가되었을 때 두 모델의 경계선이 어떻게 반응하는지 설명하시오.

[풀이]

  • SVM: 마진 바깥 올바른 쪽에 위치한 데이터는 힌지 손실이 정확히 00이고 라그랑주 승수 αn=0\alpha_n = 0이므로, 결정 경계선에 아무런 영향도 주지 않는다 (정확히 불변).
  • 로지스틱 회귀: 멀리 떨어진 데이터라도 시그모이드 확률이 11에 매우 가까울 뿐 손실이 정확히 00은 아니므로, 미세하게나마 그라디언트를 발생시켜 결정 경계선을 조금씩 움직인다. 즉, 올바른 쪽 멀리 있는 점에는 SVM 경계가 전혀 반응하지 않는다. 다만 잘못 분류된 먼 이상치에는 힌지 손실과 로지스틱 손실이 모두 거의 선형으로 커지므로 두 모델 다 영향을 받는다. SVM이 모든 이상치에 강건하다는 뜻은 아니다.

교재 연습문제 안내 (Exercises)

교재 원문 안내: MML 교재 원본의 Part 2(8~12장)는 실전 머신러닝 응용을 다루는 장으로, 장 끝 연습문제(Exercises) 섹션이 별도로 수록되어 있지 않습니다. 따라서 본 해설서에서는 교재 본문의 예제와 핵심 유도를 바탕으로 이 해설이 만든 확인 문제를 싣습니다.

[본문 핵심 과제 1: 표현자 정리(Representer Theorem)의 유도 (교재 384쪽 식 12.38)]

  • 질문 요약: 라그랑지안 L\mathcal{L}을 원시 변수 ww로 편미분하여 최적의 ww가 데이터의 선형결합 w=∑n=1Nαnynxnw = \sum_{n=1}^N \alpha_n y_n x_n으로 표현됨을 유도하시오.
  • 풀이 방향: ∇w(12∥w∥2−∑αnyn⟨w,xn⟩)=w−∑αnynxn=0\nabla_w \left( \frac{1}{2}\|w\|^2 - \sum \alpha_n y_n \langle w, x_n \rangle \right) = w - \sum \alpha_n y_n x_n = 0 으로부터 즉시 도출됩니다.

[본문 핵심 과제 2: 힌지 손실의 슬랙 변수 동치 변환 (교재 382쪽 식 12.32~12.33)]

  • 질문 요약: min⁡tmax⁡{0,1−t}\min_t \max\{0, 1-t\}가 min⁡ξ,tξs.t.ξ≥0,ξ≥1−t\min_{\xi, t} \xi \quad \text{s.t.} \quad \xi \ge 0, \xi \ge 1-t와 동치임을 기하학적으로 증명하시오.
  • 풀이 방향: max⁡{a,b}\max\{a, b\}는 aa와 bb 모두보다 크거나 같은 가장 작은 수입니다. 따라서 목적함수를 ξ\xi로 치환하고 ξ≥a\xi \ge a와 ξ≥b\xi \ge b를 제약조건으로 부과하면 최적화 관점에서 정확히 동치입니다.

[본문 핵심 과제 3: 쌍대 SVM에서 편향 조건 ∑αnyn=0\sum \alpha_n y_n = 0의 기하학적 의미 (교재 387쪽)]

  • 질문 요약: 볼록 껍질의 가중치 합 조건 ∑αn+=1,∑αn−=1\sum \alpha_n^+ = 1, \sum \alpha_n^- = 1로부터 ∑n=1Nαnyn=0\sum_{n=1}^N \alpha_n y_n = 0이 도출됨을 보이시오.
  • 풀이 방향: yny_n이 양성일 때 +1+1, 음성일 때 −1-1이므로 ∑ynαn=∑αn+−∑αn−=1−1=0\sum y_n \alpha_n = \sum \alpha_n^+ - \sum \alpha_n^- = 1 - 1 = 0이 성립합니다.

시험 직전 10분 요약

개념 / 수식핵심 내용 및 판별 기준주의할 점
분리 초평면⟨w,x⟩+b=0\langle w, x \rangle + b = 0ww는 법선 벡터, bb는 편향
마진 (Margin)r=1∥w∥r = \frac{1}{\|w\|} (스케일 정규화 시)마진 최대화   ⟺  min⁡12∥w∥2\iff \min \frac{1}{2}\|w\|^2
하드 마진 원시 문제min⁡12∥w∥2s.t.yn(⟨w,xn⟩+b)≥1\min \frac{1}{2}\|w\|^2 \quad \text{s.t.} \quad y_n(\langle w, x_n \rangle + b) \ge 1선형 분리 가능 데이터 전용
소프트 마진 원시 문제min⁡12∥w∥2+C∑ξns.t.yn(… )≥1−ξn,ξn≥0\min \frac{1}{2}\|w\|^2 + C \sum \xi_n \quad \text{s.t.} \quad y_n(\dots) \ge 1 - \xi_n, \xi_n \ge 0슬랙 변수 ξn\xi_n 도입 (CC-SVM)
힌지 손실 관점min⁡12∥w∥2+C∑max⁡{0,1−ynf(xn)}\min \frac{1}{2}\|w\|^2 + C \sum \max\{0, 1 - y_n f(x_n)\}0-1 손실의 볼록 상한, 비제약 최적화
표현자 정리w∗=∑n=1Nαn∗ynxnw^* = \sum_{n=1}^N \alpha_n^* y_n x_nww는 훈련 데이터의 선형결합 안에 존재
쌍대 SVM 문제min⁡α12∑i,jαiαjyiyj⟨xi,xj⟩−∑αi\min_\alpha \frac{1}{2} \sum_{i,j} \alpha_i \alpha_j y_i y_j \langle x_i, x_j \rangle - \sum \alpha_i∑αiyi=0, 0≤αi≤C\sum \alpha_i y_i = 0, \ 0 \le \alpha_i \le C
서포트 벡터의 분류αn=0\alpha_n = 0 (안전한 점), 0<αn<C0 < \alpha_n < C (마진 위 점), αn=C\alpha_n = C (침범/오분류)편향 b∗b^* 계산은 0<αn<C0 < \alpha_n < C인 점에서 수행
볼록 껍질 관점min⁡12∥c−d∥2(c∈conv(X+),d∈conv(X−))\min \frac{1}{2}\|c - d\|^2 \quad (c \in \text{conv}(X^+), d \in \text{conv}(X^-))두 다포체 사이의 최단 거리 수직이등분
커널 트릭 (Kernel Trick)⟨xi,xj⟩⟶k(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩\langle x_i, x_j \rangle \longrightarrow k(x_i, x_j) = \langle \phi(x_i), \phi(x_j) \rangle그람 행렬 KK는 반드시 대칭 및 PSD
결정 함수 (커널)f(x)=∑n∈SVαn∗ynk(xn,x)+b∗f(x) = \sum_{n \in \text{SV}} \alpha_n^* y_n k(x_n, x) + b^*서포트 벡터들과의 유사도 합으로 판정