본문 바로가기
데이터 분석

서포트 벡터 머신(SVM) - 주요 파리마터, 비선형 SVM, 커널 트릭(Kernal Trick)

by 데이널 2023. 10. 26.

이번 포스팅에서는 서포트 벡터 머신의 주요 파라미터와 비선형 SVM에 대해 알아보도록 하겠습니다. 비선형 SVM은 선형으로 분리할 수 없는 데이터를 분류하기 위한 SVM의 변형입니다. 비선형 SVM에서는 커널 트릭이라는 개념을 활용합니다.  

 

 

SVM 주요 파라미터

코스트(Cost), C값

  • 오차 허용 정도의 파라미터. 마진 너비를 조정
  • C를 높이면 : training error 많이 허용하지 않음 overfilt
  • C를 낮추면 : training error 많이 허용 underfit

감마(Gamma)

  • 초평면이 아닌 커널과 관련된 파라미터. 결정 경계선의 곡률을 조정
  • 감마 증가 : 데이터 포인트 별 허용 표준표차가 작아짐 데이터 차원 분리가 넓게 일어나며 결정 경계는 작고 구부러짐이 심해짐
  • 감마 감소 : 데이터 포인트 별 허용 표준편차 커짐 데이터 차원 분리가 좁게 일어나며 결정 경계가 비교적 크며 완만한 곡률을 보임

SVM 주요 파라미터(C, Gamma)
SVM 주요 파라미터(C, Gamma)

SVM 분석절차

  1. 필요한 데이터 확보, 전처리 그리고 학습 데이터와 테스트 데이터 분리 구성 작업
  2. 서포트 벡터 머신을 수행하기 위한 파라미터(C, Gamma) 구하기
  3. 확보된 파라미터를 이용해서 서포트 벡터 머신을 이용한 예측 수행

 

커널이란?

커널은 연속함수 K(x, y)로 실수, 함수 또는 벡터 등을 x, y 인자로 받고 실수를 내뱉는 symmetric(대층)한 함수를 말합니다.  예를 들어, Polynomial kernel $𝐾(𝑥, 𝑦)= (𝑥^𝑇 𝑦+1)^𝑑$와 같은 형식입니다. 매핑된 인자를 받고 내적하여 실수를 출력하게 됩니다. 그러면 mapping하지 않아도 되며 심지어 그 관계를 몰라도 됩니다. 왜냐면 내부적으로 정해진 계산대로 하면 되기 때문입니다. 중요한 것은 무한 차원의 feature space를 갖는 mapping도 상관없다는 것입니다. 


Kernal Trick(커널 트릭)

비선형 SVM을 만들기 위해서 커널 트릭(Kernal Trick)을 활용 합니다. 커널 트릭은 저차원 공간을 고차원 공간으로 매핑해주는 작업이라고 할 수 있습니다. 여기서 아이디어는 비선형 분류 모델을 분류하기 위해 데이터를 더 높은 차원으로 변환해 보자는 것입니다. 트릭이라고 하는 이유는 커널을 이용하면 모든 데이터를 mapping하지 않아도 되는 편의성을 이용해 같은 효과를 내게 만들 수 있기 때문입니다. 

비선형 분류 모델

  • 초평면을 직선으로 나눌 수 있으면 -> 선형 분류 모델(Linear SVC)
  • 초평면을 직선으로 나눌 수 없으면 -> 비선형 분류 모델(Polynomical Kernal, RBF Kernal, Hyperbolic tangent Kernel)

 

Kernal Trick(커널 트릭)
Kernal Trick(커널 트릭)

 

이렇게 커널을 사용하면 복잡한 데이터도 간단하게 차원을 변경할 수 있다는 장점이 있습니다. original space가 아닌 feature space에서 학습한다고 생각하면 됩니다. nonlieanr decision boundary를 linear decision boundary로 변환하는 것입니다. 이런 방법은 커널 함수를 이용하여 계산하며 커널 함수는 아래와 같습니다. 

  • 선형 커널(Linear kernel) : 데이터를 고차원 공간으로 매핑하지 않고도 선형 분리가 가능한 경우에 사용됩니다.
  • 다항식 커널(Polynomial kernel) : 데이터를 고차원 다항식 공간으로 매핑하여 비선형 패턴을 잡아냅니다.
  • 가우시안 라디언스 베이스 함수(RBF) 커널: 데이터를 무한 차원의 공간으로 매핑하여 비선형 패턴을 잡아냅니다. RBF 커널은 가장 일반적으로 사용되는 비선형 커널 중 하나입니다.

비선형 SVM은 다양한 응용 분야에서 사용되며, 데이터를 비선형 패턴으로 분류하거나 예측하는 데 효과적입니다. 이미지 처리, 음성 인식, 유전자 분석, 텍스트 분류 등 다양한 분야에서 활용됩니다.

 

* 함께 읽으면 좋은 글

 

커널 함수를 사용하는 이유

아마도 데이터 분석 프로젝트를 하다가 커널 함수라는 말이 자주 나오지 않으셨나요? 커널 함수는 다양한 기계 학습 알고리즘에 사용되기 때문이죠. 예를 들어 SVM(서포트 벡터 머신)와 같은 커

bommbom.tistory.com