SVM

AI
qwen-3-235b-a22b-instruct-2507
작성자
익명
작성일
2025.09.06
조회수
7
버전
v1

SVM (서포트 벡터 머신)

서포트 벡터 머신(Support Vector Machine, SVM은 머신러닝 분에서 널리 사용되는 지도 학습 기반의 분류 알고리즘으로, 주로 이진 분류 문제에 사용되지만 다중 클래스 분류에도 확장 가능하다. SVM은 데이터 포인트를 고차원 공간으로 매핑하여 최적의 경계선(hyperplane)을 찾아 서로 다른 클래스를 효과적으로 분리하는 것을 목표로 한다. 특히, 복잡한 데이터 구조에서도 높은 정확도를 보이며, 과적합(overfitting)에 강한 특성 덕분에 다양한 분야에서 활용된다.


개요

SVM은 1990년대 초반 Vladimir Vapnik과 동료들에 의해 개발된 알고리즘으로, 통계적 학습 이론인 VC 이론(Vapnik-Chervonenkis Theory)에 기반을 두고 있다. 이 알고리즘의 핵심 아이디어는 최대 마진 분류(Maximum Margin Classification)로, 두 클래스를 분리하는 경계선이 두 클래스의 데이터 포인트들로부터 최대한 멀리 떨어져 있도록 설정하는 것이다. 이로 인해 모델의 일반화 성능이 향상되며, 새로운 데이터에 대한 예측 정확도가 높아진다.

SVM은 선형적으로 분리 가능한 데이터뿐만 아니라, 커널 트릭(Kernel Trick)을 이용해 비선형 문제도 해결할 수 있다. 이 특성 덕분에 텍스트 분류, 이미지 인식, 생물정보학 등 다양한 응용 분야에서 중요한 도구로 자리 잡고 있다.


작동 원리

1. 최대 마진 분류

SVM은 주어진 데이터를 두 클래스로 나누는 최적의 결정 경계(decision boundary)를 찾는다. 이 경계는 두 클래스 사이의 거리를 최대화하는 마진(margin)을 기준으로 결정된다. 마진은 결정 경계에서 가장 가까운 데이터 포인트(이를 서포트 벡터라 함)까지의 거리로 정의된다.

  • 서포트 벡터(Support Vectors): 결정 경계를 정의하는 데 핵심적인 역할을 하는, 경계에 가장 가까운 데이터 포인트들.
  • 마진(Margin): 결정 경계와 서포트 벡터 사이의 거리. SVM은 이 마진을 최대화하려고 한다.

수학적으로, 결정 경계는 다음과 같은 형태의 초평면(hyperplane)으로 표현된다:

[ \mathbf{w} \cdot \mathbf{x} + b = 0 ]

여기서: - (\mathbf{w}): 가중치 벡터 (경계의 법선 벡터) - (b): 편향(bias) - (\mathbf{x}): 입력 데이터

SVM은 이 초평면이 모든 데이터 포인트에 대해 다음 조건을 만족하도록 (\mathbf{w})와 (b)를 최적화한다:

[ y_i(\mathbf{w} \cdot \mathbf{x}_i + b) \geq 1 ]

여기서 (y_i)는 (i)번째 데이터의 레이블 (±1).


2. 소프트 마진과 허용 오차

현실의 데이터는 완벽하게 선형 분리가 어려운 경우가 많다. 이를 해결하기 위해 소프트 마진(Soft Margin) SVM이 도입되었다. 소프트 마진은 일부 데이터 포인트가 마진 내부 또는 잘못 분류되도록 허용하면서도, 전체적인 오분류를 최소화하는 방식이다.

이 과정에서 정규화 파라미터 (C)가 사용된다: - (C)가 클수록 오분류를 엄격히 제한 (하드 마진에 가까움) - (C)가 작을수록 더 많은 오분류를 허용 (더 유연한 결정 경계)


커널 트릭과 비선형 분류

SVM의 가장 강력한 특징 중 하나는 커널 트릭(Kernel Trick)을 통해 비선형 문제를 해결할 수 있다는 점이다. 커널 함수는 원래 데이터를 고차원 공간으로 매핑하여 선형 분리가 가능하게 만든다. 이 과정에서 실제로 고차원 공간으로 데이터를 변환하지 않고, 내적 계산만으로 고차원에서의 거리를 추정할 수 있다.

주요 커널 함수

커널 이름 수식 설명
선형 커널 (K(\mathbf{x}_i, \mathbf{x}_j) = \mathbf{x}_i \cdot \mathbf{x}_j) 기본적인 내적, 선형 분리에 적합
다항식 커널 (K(\mathbf{x}_i, \mathbf{x}_j) = (\mathbf{x}_i \cdot \mathbf{x}_j + c)^d) 차수 (d)에 따라 복잡한 경계 형성
RBF (Radial Basis Function) 커널 (K(\mathbf{x}_i, \mathbf{x}_j) = \exp(-\gamma |\mathbf{x}_i - \mathbf{x}_j|^2)) 가장 일반적으로 사용, 국소적 유사도 기반
시그모이드 커널 (K(\mathbf{x}_i, \mathbf{x}_j) = \tanh(\kappa \mathbf{x}_i \cdot \mathbf{x}_j + \theta)) 신경망과 유사한 특성, 제한적 사용

RBF 커널은 특히 복잡한 패턴을 잘 학습할 수 있어, 실무에서 가장 많이 사용된다.


장점과 단점

✅ 장점

  • 고차원 데이터에서 우수한 성능
  • 메모리 효율적 (서포트 벡터만 저장하면 됨)
  • 커널 트릭을 통해 비선형 문제 해결 가능
  • 과적합에 비교적 강함

❌ 단점

  • 대규모 데이터셋에서 학습 속도가 느림
  • 결과 해석이 어려움 (블랙박스 성향)
  • 하이퍼파라미터(C, γ 등) 조정이 중요하고 민감함
  • 확률 기반 예측을 기본적으로 제공하지 않음 (확장 가능하지만 추가 계산 필요)

활용 사례


참고 자료 및 관련 문서

SVM은 머신러닝의 기초 알고리즘 중 하나로, 이론적 깊이와 실용성 모두에서 높은 평가를 받는다. 특히, 데이터가 선형적이지 않더라도 커널을 적절히 선택하면 강력한 성능을 발휘할 수 있다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?