선형 서포트 벡터 머신(Support Vector Machine, SVM)의 마진(Margin) 분류 방법

서포트 벡터 머신(Support Vector Machine, SVM)은 머신러닝에서 가장 강력한 분류 알고리즘 중 하나로, 데이터를 선형 또는 비선형적으로 구분하는 초평면(Hyperplane)을 찾는 방법입니다.

특히, **선형 서포트 벡터 머신(Linear SVM)**은 데이터를 선형적으로 구분할 수 있는 경우에 가장 적합하며, 마진(Margin)을 최대화하는 방식으로 최적의 결정 경계를 찾습니다.

SVM에서 마진을 최적화하는 방법에는 두 가지가 존재합니다:

  1. 하드 마진(Hard Margin) 분류
  2. 소프트 마진(Soft Margin) 분류

이 글에서는 두 가지 마진 분류 방법의 개념과 차이점, 적용 방법을 설명합니다.


📌 목차

  1. 서포트 벡터 머신(SVM) 개요
  2. 마진(Margin)이란?
  3. 하드 마진(Hard Margin) 분류
    • 개념 및 특징
    • 적용 방법
    • 한계점
  4. 소프트 마진(Soft Margin) 분류
    • 개념 및 특징
    • 적용 방법
    • 장점
  5. 하드 마진 vs. 소프트 마진 비교
  6. 결론

1. 서포트 벡터 머신(SVM) 개요

SVM은 데이터를 가장 잘 구분할 수 있는 초평면(Hyperplane)을 찾는 알고리즘입니다.

초평면(Hyperplane)

  • 데이터를 구분하는 결정 경계(Decision Boundary).
  • 선형 SVM에서는 **직선(2D), 평면(3D), 초평면(nD)**으로 표현됨.

서포트 벡터(Support Vectors)

  • 결정 경계를 형성하는 가장 중요한 데이터 포인트들.
  • 이 서포트 벡터를 기준으로 마진을 최대화함.

💡 SVM의 목표:
➡️ 마진(Margin)을 최대화하는 초평면을 찾는 것!
➡️ 마진이 클수록 새로운 데이터에 대한 일반화 성능이 좋아짐.


2. 마진(Margin)이란?

마진은 초평면과 가장 가까운 데이터 포인트(서포트 벡터) 간의 거리를 의미합니다.

마진이 넓을수록 일반화 성능이 좋음
마진이 좁을수록 과적합(Overfitting) 가능성이 높음

마진을 최적화하는 방법에는 하드 마진(Hard Margin)과 소프트 마진(Soft Margin) 두 가지가 있음.


3. 하드 마진(Hard Margin) 분류

🔹 개념 및 특징

하드 마진 분류는 완벽한 선형 분리가 가능한 경우에 적용되는 방법입니다.

특징

  • 데이터가 100% 분리 가능해야 함.
  • 마진을 최대화하여 초평면을 설정.
  • 초평면 근처에 오차(Noise)가 허용되지 않음.

🔹 적용 방법

하드 마진은 모든 데이터 포인트가 결정 경계 밖에 위치하도록 하는 제약 조건을 설정하여 학습됩니다.

수학적 정의

초평면의 방정식을 다음과 같이 정의합니다:

마진을 최대화하는 것이 목적이며, 제약 조건은 다음과 같습니다:

여기서,

  • xi​ = 데이터 포인트
  • yi​​ = 클래스 라벨 (+1 또는 −1)
  • w = 가중치 벡터
  • b = 절편

이 제약을 만족하는 가장 큰 마진을 찾기 위해, 다음 최적화 문제를 풀어야 함:

🔹 하드 마진의 한계점

실제 데이터는 대부분 완벽하게 선형 분리가 불가능
이상치(Outlier)가 존재하면 모델이 심각하게 영향을 받음
오버피팅(Overfitting) 발생 가능

➡️ 따라서, 대부분의 실제 문제에서는 소프트 마진(Soft Margin)을 사용함!


4. 소프트 마진(Soft Margin) 분류

🔹 개념 및 특징

소프트 마진 분류는 완벽한 선형 분리가 불가능한 경우에도 적용 가능합니다.

특징

  • 일부 데이터 포인트가 마진을 벗어나도록 허용.
  • 오차(슬랙 변수, Slack Variable) 허용으로 인해 유연한 분류 가능.
  • 이상치(Outlier)의 영향을 줄일 수 있음.

🔹 적용 방법

소프트 마진에서는 제약을 완화하여 일부 데이터가 초평면을 넘을 수 있도록 함.

수학적 정의

여기서,

  • ξi​ (슬랙 변수): 초평면을 넘은 데이터의 오차를 허용하는 변수.
  • C (Regularization Parameter): 오차 허용 정도를 조절하는 하이퍼파라미터.

최적화 문제는 다음과 같이 변경됨:

➡️ C 값이 크면: 마진을 좁히고 오류를 줄이는 방향으로 학습 (Overfitting 위험 증가)
➡️ C 값이 작으면: 마진을 넓게 유지하여 일반화 성능 향상 (Underfitting 위험 증가)

🔹 소프트 마진의 장점

완벽한 선형 분리가 필요하지 않음
이상치(Outlier)에도 강함
실제 데이터에 적용하기 적합


5. 하드 마진 vs. 소프트 마진 비교

비교 항목하드 마진(Hard Margin)소프트 마진(Soft Margin)
선형 분리 가능 여부선형 분리가 100% 가능해야 함일부 오차 허용
오차(Noise) 허용 여부불가능 (오차 허용 없음)가능 (오차 허용)
이상치(Outlier) 영향민감함 (오버피팅 위험)비교적 안정적
적용 사례데이터가 완벽히 분리 가능할 때현실적인 데이터에서 유용

6. 결론

하드 마진(Hard Margin): 완벽한 선형 분리가 가능한 경우 사용, 하지만 현실에서는 적용이 어려움.
소프트 마진(Soft Margin): 오차를 허용하여 보다 유연한 분류를 수행, 실전에서 가장 많이 사용됨.

💡 요약

  • 현실적인 데이터는 대부분 완벽한 선형 분리가 어렵기 때문에 소프트 마진이 더 적합.
  • C 파라미터를 조정하여 일반화 성능을 최적화할 수 있음.

🚀 SVM을 활용한 머신러닝 분류 모델을 만들 때, 데이터 특성에 맞는 마진 전략을 선택하는 것이 중요합니다! 😊