Support Vector Machine(SVM)이란

전재원·2022년 11월 22일
0
post-custom-banner

SVM(Support Vector Machine) 이란?

  • 선형 또는 비선형적인 분류, 회귀, 이상치 탐색에도 사용할 수 있는 머신러닝 방법론
  • 딥러닝(2013) 이전 시대까지 널리 사용된 방법론
  • 복잡한 분류 문제를 잘 해결하고 상대적으로 작거나 중간 크기를 가진 데이터에 적합한 알고리즘
  • 최적화 모형으로 모델링 후 최적의 분류 경계를 탐색한다

두 클래스 사이에 가장 넓이가 큰 분류 경계선을 찾기 때문에 Large margin classification이라고도 함

각각의 클래스에서 분류 경계선을 지지(막고 버티는)하는 관측치들을 Support Vector라고 한다

SVM은 스케일에 민감하여 변수들 간의 스케일을 잘 맞춰주는 것이 중요하다
Sklearn의 StandardScaler를 사용하면 스케일을 잘 맞출 수 있음

SVM의 종류

Hard Margin

  • 두 클래스가 하나의 선으로 완벽하게 나눠지는 경우에만 적용 가능

Soft Margin

  • 일부 샘플들이 분류 경계선의 분류 결과에 반하는 경우를 일정 수준 허용하는 방법

Parameter C

scikit-learn에서 svm모델이 오류를 어느정도 허용할 것인지 C 페널티 파라미터로 조정할 수 있다 (기본 값은 1)

SVM Regression

선형회귀식을 중심으로 이와 평행한 오차한계선을 가정하고 오차한계선 너비가 최대가 되면서 오차한계선을 넘어가는 관측치들에 페널티를 부여하는 방식으로 선형 회귀식 추정

SVM Classification

모델과 같이 다항식 변수항을 추가하는 개념을 도입함으로써 비선형적인 회귀 모형을 적합할 수 있음

profile
농구를 좋아하는 데이터 분석가 지망생
post-custom-banner

0개의 댓글