지도학습 – 5. 서포트 벡터 머신 SVM



서포트 벡터 머신
지도학습 알고리즘 5

 

서포트 벡터 머신(SVM)이란?

서포트 벡터 머신(Support Vector Machine, SVM)은 분류(Classification)와 회귀(Regression) 문제를 해결하는 데 사용되는 기계 학습 알고리즘 중 강력한 예측 모델 중 하나입니다. SVM은 데이터 포인트들을 고차원 공간으로 매핑하여 데이터를 분리하는 최적의 결정 경계를 찾는 방식으로 작동합니다. SVM은 다른 분류 알고리즘과는 다른 독특한 특징을 가지고 있습니다.

 

알고리즘 과정

서포트 벡터 머신 알고리즘을 수행하기 전에 데이터 전처리 과정을 거칩니다. 데이터 전처리 방법은 일반적으로 아래의 4가지 과정을 거칩니다.

  • 특성 스케일링: 특성들의 범위를 조정하여 모델의 성능을 향상시킵니다.
  • 특성 선택: 중요한 특성들을 선택하고 불필요한 특성들을 제거하여 모델의 복잡도를 줄입니다.
  • 결측치 처리: 결측치를 적절히 처리하여 데이터의 왜곡을 방지합니다.
  • 범주형 데이터 인코딩: 범주형 데이터를 수치형으로 변환하여 모델에 적용할 수 있도록 합니다.

과정

첫째로, SVM은 데이터 포인트들 간의 거리를 최대화하는 결정 경계를 찾는 것을 목표로 합니다.

이러한 결정 경계는 클래스 간의 간격, 즉 마진(Margin)을 최대화하는 경계를 의미합니다.

이를 통해 SVM은 일반화 성능을 향상시키고, 새로운 데이터에 대한 예측 정확도를 높이는데 기여합니다.

둘째로, SVM은 커널 트릭(Kernel Trick)을 사용하여 비선형 분류 문제를 해결할 수 있습니다.

커널 트릭은 데이터를 고차원 공간으로 매핑하여 선형적으로 분리 가능한 문제로 변환하는 방식입니다. 이를 통해 비선형 데이터에 대해서도 선형 분류 모델을 적용할 수 있습니다.

일반적으로 사용되는 커널 함수로는 선형 커널, 다항식 커널, 가우시안(RBF) 커널 등이 있습니다.

마지막으로, SVM은 서포트 벡터(Support Vector)라는 핵심적인 데이터 포인트에만 의존합니다.

서포트 벡터는 결정 경계와 가장 가까이 위치한 데이터 포인트로, 분류 문제에서 결정 경계를 지원하는 핵심적인 역할을 합니다.

따라서 SVM은 이러한 서포트 벡터들을 식별하고 활용하여 예측을 수행합니다.

데이터 1(빨강)과 데이터 2(파랑)를 구분하는 초평면 A1와 A2. 각각의 초평면은 고유의 마진값(거리 a11-a12, 거리 a21-a22)을 가지고 있다. (그림 출처: 생화학분자생물학회)

하이퍼파라미터 조정

서포트 벡터 머신의 성능을 향상시키기 위해 다음과 같은 하이퍼파라미터들을 조정할 수 있습니다.

  • 커널 타입 선택: 선형 커널, 다항식 커널, 가우시안 커널 등 중에서 적합한 커널 타입을 선택합니다.
  • C 값 조정: 오분류에 대한 페널티를 조정하는 매개변수인 C 값을 조정합니다.
  • 감마 값 조정: 커널 함수의 영향 범위를 조정하는 매개변수인 감마 값을 조정합니다.

알고리즘의 특징

서포트 벡터 머신의 장점은 여러 가지가 있는데요. 먼저, 과적합에 강하며 일반화 성능이 뛰어납니다. 비선형 분류 문제에 적용 가능하며, 커널 트릭을 통해 고차원 공간으로 매핑하여 복잡한 결정 경계를 생성할 수 있습니다. 또한, 서포트 벡터들을 이용하여 데이터의 특징을 요약하고 해석할 수 있습니다.

단점 역시 명확한데요. 큰 규모의 데이터셋에 대해서는 학습과 예측 속도가 느릴 수 있습니다. 실제로 제가 10000개의 데이터에 대해 구글 COLAB을 통해 서포트 벡터 머신 알고리즘을 사용한 적이 있었는데요. 2시간 가까이 실행시켰는데도 결국 코딩에 실패했던 경험이 있습니다 ^^;; 또한, 데이터 전처리가 상당히 중요한 부분으로 여겨지는데, 이는 데이터의 스케일에 민감하게 반응할 수 있기 때문입니다. 마지막으로 다중 클래스 분류 문제에 대한 확장이 필요합니다. 이러한 한계를 극복하기 위해 다양한 변형 및 개선된 알고리즘들이 제안되고 있습니다.

서포트 벡터 머신은 다양한 분야에서 활용되고 있으며, 특히 패턴 인식, 컴퓨터 비전, 자연어 처리 등의 분야에서 널리 사용됩니다. 데이터의 특성과 문제의 복잡성을 고려하여 SVM을 적용하고, 적절한 커널 함수와 하이퍼파라미터 설정을 통해 최적의 성능을 이끌어내는 것이 중요합니다.

함께 보면 좋은 글들

Leave a Comment