서포트 벡터 머신이란?
벡터 공간에서 학습 데이터가 속한 2개의 그룹을 분류하는 선형 분리자를 찾는 기하학적 모델
👉 최대 마진(여백)을 최대화하는 선을 찾는 알고리즘
구성요소
1. 서포트 벡터 (Support Vectors)
경계선에 가장 가까이 붙어있는 데이터들
2. 결정 경계 (Decision Boundary)
데이터 분류의 기준이 되는 경계
3. 초평면 (Hyperplane)
n차원의 공간의 (n-1)차원 평면
4. 마진(Margin)
결정 경계에서 서포트 벡터까지의 거리(여유 공간)
5. 슬랙 변수(여유 변수, Slack Variables)
완벽한 분리가 불가능할 때 선형적으로 분류를 위해 허용된 오차를 위한 변수(Soft SVM에서 사용)
종류
하드 마진 SVM
마진의 안/바깥쪽에 오 분류를 절대 허용하지 않는 SVM
소프트 마진 SVM
마진의 안/바깥쪽에 오 분류를 허용하는 SVM
SVM 적용 기준
선형으로 분리 가능한 SVM
최적의 결정 경계(또는 초평면)를 기준으로 1과 -1로 구분하여 분류 모형으로 사용
선형으로 분리 불가능한 SVM
저차원 공간을 고차원 공간으로 매핑할 경우에 발생하는 연산의 복잡성은 커널 트릭을 통해 해결 가능
** 커널 트릭(Kernel Trick)
저차원에서 함수의 계산만으로 원하는 풀이가 가능한 '커널 함수'를 이용하여 고차원 공간으로 매핑할 경우에 증가하는 연산량의 문제를 해결하는 기법
SVM의 장단점
| 장점 | 단점 |
| 데이터가 적을 때 효과적 | 전처리 과정이 중요 |
| 연산량 최소화 | 데이터 셋 크기가 클 경우 모델링에 많은 시간 소요 |
| 높은 정확성 | 속도 느림 |
| 커널 트릭을 활용하여 비선형 모델도 분류 가능 | 많은 테스트 필요 |
| 과적합 간으성이 낮음 | |
| 노이즈의 영향이 적음 |