6. SVM(서포트 벡터 머신) 완벽 가이드- 개념, 수학, 최적화까지

Summary
분류 문제의 강력한 알고리즘 SVM의 모든 것을 알아본다. 마진 최대화의 개념과 비유, Hinge Loss, 커널 트릭의 원리, 그리고 딥러닝 시대에 SVM이 갖는 의미를 파헤친다.
카테고리
Machine Learning
Original creation date
Dec 1, 2025
생성일
Jan 30, 2026 12:01 PM
태그
ML
deeplearning
신경망과는 다른 철학으로 분류 문제에 접근하는, 매우 강력하고 우아한 알고리즘인 **서포트 벡터 머신(Support Vector Machine, SVM)**의 모든 것을 알아본다.

1. SVM의 핵심 아이디어: 가장 넓고 안전한 길 찾기

두 개의 마을(클래스 A, 클래스 B)이 평야에 흩어져 있다고 상상해 보자. 우리는 두 마을 사이에 길(결정 경계)을 하나 내려고 한다.
  • 로지스틱 회귀는 단순히 두 마을을 가르는 길을 긋는 데 집중한다.
  • SVM은 "단순히 길을 내는 것을 넘어, 두 마을 모두로부터 최대한 멀리 떨어져서, 양쪽 모두에게 가장 안전하고 널찍한 길을 만들자!" 라고 생각한다.
이 "가장 널찍하고 안전한 길"의 폭이 바로 **마진(Margin)**이다. 기술적으로 마진은 결정 경계와, 그 경계에서 가장 가까운 양쪽 클래스의 데이터 포인트까지의 거리를 의미하며, SVM의 유일하고 명확한 목표는 바로 이 마진을 최대화하는 것이다. 넓은 마진은 모델의 일반화 성능을 높여 새로운 데이터에 더 강인(robust)하게 만든다.

서포트 벡터 (Support Vectors): 갓길을 떠받치는 말뚝

이 '가장 널찍한 길'의 위치와 폭은 무엇으로 결정될까? 바로 길의 가장자리에 위치한 '최전방의 집들'이다.
SVM은 이 "최전방의 집들", 즉 마진의 경계에 아슬아슬하게 걸쳐있는 데이터 포인트들을 **서포트 벡터(Support Vectors)**라고 부른다. SVM은 결정 경계를 만들 때 오직 이 서포트 벡터들에게만 관심을 가지며, 이들이 전체 경계를 지지(support)하는 '말뚝' 역할을 한다.

2. SVM의 수학적 원리: 목표와 제약

2.1. Hard & Soft Margin SVM

  • Hard Margin: 데이터가 완벽하게 분리될 때, (1/2)||w||² (마진의 역수)를 최소화하는 것을 목표로 한다. 단, yᵢ(w·xᵢ + b) ≥ 1 라는 엄격한 제약, 즉 모든 데이터는 마진 밖에 있어야 한다는 조건을 지켜야 한다.
  • Soft Margin: 현실의 노이즈 섞인 데이터를 위해, **"느슨한 변수(Slack Variable)" ξ (크사이)**를 도입해 약간의 오류를 허용한다.
    • 최적화 목표: (1/2)||w||² + C * Σξᵢ 를 최소화.
      • (1/2)||w||²: 마진을 넓히려는 힘.
      • C * Σξᵢ: 마진 침범(오류)에 대한 페널티. C가 클수록 오류를 용납하지 않으려는 성향이 강해진다.

2.2. Hinge Loss: SVM의 비용 함수

Soft Margin SVM의 목표는 Hinge Loss라는 비용 함수로 표현할 수 있다.
J(w) = ||w||² (정규화 항) + C * Σ [max(0, 1 - yᵢ(w·xᵢ + b))] (Loss 항)
  • Hinge Loss: max(0, 1 - y(w·x+b))
  • 특징: y(w·x+b) ≥ 1 이 되면(데이터가 마진 밖에 있으면) Loss가 0이 된다. 즉, 마진을 침범할 때만 비용이 발생한다. 이는 모든 데이터에 대해 비용이 발생하는 로지스틱 회귀의 Log Loss와 근본적으로 다른 점이다.

3. SVM의 마법: 커널 트릭 (The Kernel Trick)

데이터가 직선으로 나눌 수 없는 복잡한 구조일 때, SVM은 커널 트릭을 사용한다.
  • 핵심 아이디어: "현재 차원에서 나눌 수 없다면, 데이터를 더 높은 차원으로 보내서 나누면 된다!"
  • 비유: 평평한 고무판 위의 구슬들을 나눌 수 없을 때, 고무판 중앙을 눌러 3D 그릇 모양으로 만든 뒤, 수평으로 칼로 잘라내는 것과 같다.
  • 커널(Kernel): 실제로 데이터를 고차원으로 보내는 복잡한 계산을 수행하는 대신, 마치 고차원으로 보낸 것과 동일한 효과를 효율적으로 얻게 해주는 수학적 함수(지름길).
  • 종류: 선형(Linear), 다항식(Polynomial), 가우시안 RBF(Gaussian RBF) 커널 등이 있다.

4. SVM의 최적화 방법

  • SMO (Sequential Minimal Optimization): 전통적인 SVM 해법. '쌍대 문제'로 변환 후, 한 번에 2개의 변수만 골라 최적화하는 과정을 반복한다. 빠르고 정확하다.
  • 경사 하강법 (Gradient Descent): Hinge Loss를 직접 미분하여 기울기를 계산한다. 미니배치 학습이 가능하여 대용량 데이터셋에 적합하다.

5. 딥러닝 시대, SVM의 위상: 역할의 변화

SVM이 "만능 해결사"의 왕좌를 딥러닝에 내준 것은 사실이다.
  • SVM이 밀리는 이유:
      1. 비정형 데이터(이미지, 텍스트)에서의 성능: 딥러닝은 피처를 '스스로 학습'하지만, SVM은 '만들어서 넣어줘야' 한다. 이 차이가 비정형 데이터에서 압도적인 성능 격차를 만들었다.
      1. 데이터 규모(확장성): 딥러닝은 GPU 병렬 처리와 미니배치 학습으로 빅데이터 시대에 완벽히 부합하지만, 전통적 SVM은 대용량 데이터 훈련에 한계가 있다.
  • SVM이 여전히 강력한 이유:
      1. 중소 규모의 정형 데이터: 데이터가 아주 크지 않고 잘 구조화된 경우, 딥러닝보다 빠르고 좋은 성능을 보이는 경우가 많다.
      1. 이론적 기반: '마진 최대화'라는 명확한 수학적 원리 위에 세워져 있어 해석이 용이하다.
      1. 고차원 데이터: 피처 수가 샘플 수보다 훨씬 많은 경우(p >> n)에도 과적합에 강한 모습을 보인다.
결론: "항공기(딥러닝) 시대에 자동차(SVM)는 저물었다"고 말할 수 없다. 역할과 주력 분야가 바뀌었을 뿐, SVM은 중소 규모의 정형 데이터를 다루는 강력한 전문가로서 여전히 중요한 위치를 차지하고 있다.