본문 바로가기
AI

[머신러닝 알고리즘] SVM, support vecotr macine에 대해서

by mindun 2025. 1. 21.
반응형
  • 지도학습 알고리즘
  • 분류 및 회귀 문제 해결에 사용
  • 고차원 데이터에서도 효과적으로 동작
  • 작은 데이터셋에서도 높은 성능 발휘

1. SVM의 기본 아이디어

SVM의 기본 목적은 데이터를 두 개의 클래스로 분류하는 최적의 결정 경계(Decision Boundary)를 찾는 것입니다. 이때 최적의 결정 경계는 클래스 간 여백(Margin)이 최대화되는 초평면(Hyperplane)입니다.

  • 초평면(Hyperplane): 데이터 포인트를 구분하는 N-1차원 평면. 예를 들어, 2차원에서는 1차원 선, 3차원에서는 2차원 평면이 초평면이 됩니다.
  • 마진(Margin): 두 클래스 데이터와 초평면 간의 최소 거리.

핵심 아이디어:

  • 여백이 최대화되면 모델의 일반화 성능이 좋아져 새로운 데이터에도 잘 동작합니다

2. 핵심 개념

2.1 서포트 벡터(Support Vector)

  • 결정 경계와 가장 가까운 데이터 포인트들로, SVM에서 중요한 역할을 합니다.
  • 이 벡터들만이 결정 경계를 정의하며, 다른 데이터는 무시됩니다.

2.2 마진 최대화

  • SVM은 초평면과 서포트 벡터 사이의 거리를 최대화하는 것을 목표로 합니다.
  • 마진이 넓을수록 일반화 능력이 좋아져 과적합(Overfitting)을 방지할 수 있습니다.

3. 수학적 정의

SVM은 다음과 같은 수학적 최적화 문제를 해결합니다.

3.1 목표 함수

  • 여백을 최대화하려면 ∣∣w∣∣||w||를 최소화해야 합니다.

3.2 라그랑주 승수법(Lagrange Multipliers)

이 최적화 문제는 라그랑주 승수를 사용해 표현됩니다.


4. 커널 트릭(Kernel Trick)

SVM의 강력한 특징은 커널 트릭을 통해 선형적으로 분리할 수 없는 데이터를 고차원 공간으로 변환하여 선형적으로 분리할 수 있게 한다는 것입니다.

4.1 커널 함수의 역할

커널 함수는 두 데이터 포인트 간의 내적(유사도)을 계산하여 고차원에서의 연산을 효율적으로 수행합니다.

 


5. SVM의 유형

5.1 선형 SVM

  • 데이터가 선형적으로 분리 가능한 경우 사용.
  • 결정 경계는 직선 또는 평면입니다.

5.2 비선형 SVM

  • 데이터가 선형적으로 분리되지 않을 때 커널 트릭을 사용.
  • 고차원 공간에서 데이터를 선형적으로 분리합니다.

5.3 서포트 벡터 회귀(SVR)

  • SVM을 회귀 분석에 응용한 알고리즘.
  • 목표는 결정 경계(예측값)로부터 모든 데이터 포인트가 특정 허용 오차 내에 들어가도록 하는 것입니다.

6. SVM의 장단점

6.1 장점

  • 고차원 공간에서도 잘 동작.
  • 커널 트릭으로 비선형 데이터 처리 가능.
  • 과적합 방지 능력이 뛰어남.
  • 적은 데이터셋에서도 높은 성능.

6.2 단점

  • 대규모 데이터셋에서는 학습 속도가 느림.
  • 하이퍼파라미터(C, 커널 등) 조정이 필요.
  • 다중 클래스 분류를 위해 추가적인 작업이 필요(예: One-vs-One, One-vs-Rest).

7. 하이퍼파라미터

7.1 C (정규화 매개변수)

  • 마진을 조정하는 파라미터.
  • 가 작으면 마진을 크게 하고 일부 오차를 허용함(일반화에 유리).
  • 가 크면 오차를 최소화하려고 노력하지만 과적합 위험이 증가.

7.2 감마 (Gamma)

  • RBF 커널에서 데이터 포인트 간의 영향력을 조정.
  • 작은 감마는 넓은 영향 범위를 가지며, 큰 감마는 좁은 범위를 가짐.

SVM의 실제 사용 사례

  • 스팸 이메일 분류
  • 얼굴 인식
  • 유전자 분류
  • 질병 진단
  • 금융 데이터 분석
반응형