서포트 벡터 머신(SVM, Support Vector Machine)은 이 질문에 명확한 답을 내놓는다.
"두 클래스로부터 가장 멀리 떨어진 경계"를 찾는 것.
이번 글에서는 SVM의 핵심 개념인 결정 경계, 마진, 서포트 벡터, 그리고 커널 트릭까지 순서대로 정리한다.
1. SVM의 핵심 아이디어 — 최대 마진 분류기
분류 문제에서 데이터를 두 클래스로 나누는 경계선(선형이면 직선, 고차원이면 초평면)을 결정 경계(Decision Boundary)라고 한다. 그런데 같은 데이터를 완벽히 분류하는 경계선은 무수히 많을 수 있다.
SVM은 그 중에서 두 클래스의 데이터로부터 가장 멀리 떨어진 경계선을 선택한다. 이 거리를 마진(Margin)이라고 하며, SVM은 이 마진을 최대화하는 결정 경계를 찾는다.
회색 점선: 분류는 되지만 마진이 좁은 나쁜 경계선
초록 실선: SVM이 선택하는 최적 경계 — 마진이 가장 넓다
마진이 좁으면 경계선 근처에 새로운 데이터가 들어왔을 때 잘못 분류할 가능성이 높다.
마진이 넓을수록 새로운 데이터에 대한 일반화 성능이 높아진다.
즉, 마진 최대화는 과적합을 방지하고 새 데이터에 강건한 모델을 만들기 위한 전략이다.
2. 핵심 용어 — 초평면, 서포트 벡터, 마진
결정 경계 / 초평면 (Decision Boundary / Hyperplane)
두 클래스를 나누는 경계다. 2차원에서는 직선, 3차원에서는 평면, 그 이상의 차원에서는 초평면(Hyperplane)이라고 부른다. 수식으로는 w·x + b = 0으로 표현한다.
- w: 초평면의 방향을 결정하는 가중치 벡터 (법선 벡터)
- b: 편향(bias). 초평면의 위치를 결정
- w·x + b > 0 이면 클래스 +1, w·x + b < 0 이면 클래스 −1로 분류
서포트 벡터 (Support Vector)
결정 경계와 가장 가까이 있는 데이터 포인트들이다. SVM의 이름도 여기서 유래했다. 서포트 벡터만이 결정 경계를 결정하며, 나머지 데이터는 영향을 주지 않는다. 이것이 SVM의 중요한 특성 중 하나다.
마진 (Margin)
두 클래스의 서포트 벡터 사이의 거리다. 결정 경계에서 각 클래스의 서포트 벡터까지의 거리는 각각 1/||w||이므로, 전체 마진은 2/||w||이 된다. 마진을 최대화하는 것은 ||w||를 최소화하는 것과 같다.
최적화 문제: min (1/2)||w||² subject to yᵢ(w·xᵢ + b) ≥ 1 for all i
3. 하드 마진 vs 소프트 마진
현실 데이터는 완벽하게 선형으로 분리되지 않는 경우가 많다. SVM은 이를 처리하기 위해 두 가지 방식을 사용한다.
단 하나의 오분류도 허용하지 않는다.
조건: 데이터가 완벽히 선형 분리 가능해야 함
문제: 이상치에 매우 취약하고, 현실 데이터에 적용이 어렵다.
슬랙 변수(ξᵢ, xi)를 도입해 위반 정도를 수치화한다.
C 파라미터로 오분류 허용 정도를 조절.
C 크면 → 마진 좁고 오분류 적음 (과적합 위험)
C 작으면 → 마진 넓고 오분류 허용 (과소적합 위험)
ξᵢ: 슬랙 변수 — i번째 데이터의 마진 위반 정도
subject to: yᵢ(w·xᵢ + b) ≥ 1 − ξᵢ, ξᵢ ≥ 0
C가 크다 = 오분류를 거의 허용 안 함 = 마진이 좁아짐 = 복잡한 경계
C가 작다 = 오분류를 어느 정도 허용 = 마진이 넓어짐 = 단순한 경계
→ 데이터에 노이즈가 많다면 작은 C로 넓은 마진을 선택하는 게 일반화에 유리하다.
→ 교차 검증으로 최적 C를 탐색하는 것이 실무 관행이다.
4. 커널 트릭 (Kernel Trick) — 비선형 분류의 핵심
데이터가 선형으로 분리되지 않을 때는 어떻게 할까? 예를 들어 원 안의 점들이 한 클래스, 원 밖의 점들이 다른 클래스라면 직선 하나로는 절대 분리할 수 없다.
해결책은 데이터를 더 높은 차원으로 변환하는 것이다. 2차원에서 분리되지 않는 데이터가 3차원에서는 평면으로 분리될 수 있다. 그런데 고차원 변환은 계산 비용이 매우 크다. 커널 트릭은 이 변환을 실제로 하지 않고도 고차원에서의 내적(inner product)을 직접 계산하는 수학적 기법이다.
SVM의 최적화 과정에서 실제로 필요한 것은 데이터 포인트 자체가 아니라 두 데이터 포인트의 내적(dot product)뿐이다.
커널 함수 K(x, x') = φ(x)·φ(x')는 고차원 변환 φ를 거치지 않고도 변환된 공간에서의 내적을 직접 계산한다.
→ 계산 비용을 크게 줄이면서 고차원 특성을 활용할 수 있다.
주요 커널 함수
데이터가 선형 분리 가능할 때 사용.
가장 빠르고 단순하다.
γ, r, d를 튜닝해야 한다.
이미지 분류에서 활용.
무한 차원으로 변환하는 효과.
γ로 결정 경계 복잡도 조절.
특정 파라미터에서만 유효한 커널.
덜 자주 사용된다.
γ (감마)는 각 훈련 데이터 포인트의 영향 범위를 결정한다.
γ가 크다 = 각 데이터 포인트의 영향이 좁다 = 결정 경계가 구불구불 (과적합 위험)
γ가 작다 = 각 데이터 포인트의 영향이 넓다 = 결정 경계가 완만 (과소적합 위험)
→ C와 γ를 교차 검증으로 함께 튜닝하는 것이 SVM의 핵심 하이퍼파라미터 설정 작업이다.
5. SVM의 확장 — 회귀와 다중 클래스 분류
SVR (Support Vector Regression)
SVM을 회귀 문제에 적용한 것이다. 분류에서 마진 바깥에 데이터가 없도록 했다면, SVR은 마진 안에 데이터가 최대한 들어오도록 한다. 마진(ε-tube) 안의 오차는 무시하고, 바깥의 오차에만 패널티를 준다.
다중 클래스 분류
SVM은 기본적으로 이진 분류기다. 다중 클래스는 두 가지 전략으로 확장한다.
- OvR (One-vs-Rest): 각 클래스 vs 나머지 모든 클래스로 k개의 SVM 학습
- OvO (One-vs-One): 각 클래스 쌍마다 SVM 학습 → k(k−1)/2개의 SVM
6. SVM의 장단점과 활용 상황
- 고차원 데이터에서 효과적 (특성 수 > 샘플 수)
- 결정 경계가 명확하고 해석 가능
- 커널 트릭으로 비선형 분류 가능
- 이상치 영향이 적음 (마진에 의존)
- 과적합 방지력이 뛰어남 (마진 최대화)
- 대용량 데이터에서 학습 속도 느림
- C, γ 같은 하이퍼파라미터 튜닝 필요
- 확률값 직접 출력 불가 (Platt Scaling 필요)
- 특성 스케일링에 민감 (정규화 필수)
- 결과 해석이 어려움 (블랙박스 성격)
• 텍스트 분류: 고차원 희소 데이터 (단어 벡터)에서 강력
• 이미지 분류: 특히 커널 SVM이 딥러닝 이전 시대 최고 성능
• 의료 데이터: 샘플 수 적고 특성 수 많은 유전자 데이터 분류
• 이상 탐지(One-class SVM): 정상 데이터만 학습해 이상치 탐지
SVM은 거리(내적) 기반 알고리즘이므로 특성 값의 크기에 매우 민감하다.
단위가 다른 특성(예: 키 cm와 소득 만원)을 그대로 사용하면 단위가 큰 특성이 지배적이 된다.
→ StandardScaler나 MinMaxScaler로 반드시 정규화한 후 SVM을 적용해야 한다.
7. 나이브 베이즈 vs SVM 비교
| 구분 | 나이브 베이즈 | SVM |
|---|---|---|
| 접근 방식 | 확률 기반 | 기하학적 (마진 최대화) |
| 학습 속도 | 매우 빠름 | 데이터 크면 느림 |
| 비선형 처리 | 어렵다 | 커널 트릭으로 가능 |
| 확률 출력 | 직접 가능 | 추가 처리 필요 |
| 파라미터 | 거의 없음 | C, γ 튜닝 필요 |
| 특성 스케일링 | 불필요 | 필수 |
| 강점 | 텍스트, 소규모 데이터 | 고차원, 소규모 데이터 |
📌 핵심 정리
- SVM 핵심 아이디어: 두 클래스로부터 마진이 가장 큰 결정 경계(초평면)를 찾는다
- 서포트 벡터: 결정 경계와 가장 가까운 데이터 포인트 — 경계를 결정하는 유일한 데이터
- 마진: 2/||w||. 마진 최대화 = ||w|| 최소화
- 하드 마진: 오분류 불허. 완벽한 선형 분리 필요
- 소프트 마진: 슬랙 변수 ξ 도입. C 파라미터로 오분류 허용 정도 조절
- C 크면: 마진 좁고 오분류 적음 (복잡한 경계). C 작으면: 마진 넓고 오분류 허용
- 커널 트릭: 고차원 변환 없이 변환된 공간의 내적을 계산. 비선형 분류 가능
- RBF 커널: 가장 많이 사용. γ로 영향 범위 조절
- 특성 스케일링 필수: 거리 기반이므로 StandardScaler 등 전처리 반드시 필요
- 강점: 고차원 데이터, 소규모 데이터, 커널 트릭 비선형 분류
'수학&통계학' 카테고리의 다른 글
| 의사결정나무 (0) | 2026.05.14 |
|---|---|
| K-NN (0) | 2026.05.14 |
| 나이브 베이즈 분류 (0) | 2026.05.14 |
| 교차 검증 (홀드아웃, K-폴드, 층화 K-폴드, LpOCV / LOOCV) (0) | 2026.05.13 |
| 모형 평가 지표 (회귀지표, 분류지표, 비지도학습 지표) (0) | 2026.05.13 |