SVM은 "Support Vector Machine"의 약자로, 지도 학습(Supervised Learning) 알고리즘 중 하나이다. SVM은 데이터를 분류(Classification)하거나 회귀(Regression)하는 데에 사용된다.
SVM의 기본 아이디어는 데이터를 고차원 공간으로 매핑하여 데이터를 분류하는 결정 경계(Decision Boundary)를 찾는 것이다. SVM은 이 결정 경계를 찾을 때 데이터의 일부만 사용하는 게 아니라, 결정 경계에 가장 가까이 위치한 데이터 포인트들인 "Support Vector"를 사용한다. Support Vector는 결정 경계를 결정하는 데에 영향을 주는 데이터 포인트로, 다른 클래스에 속한 데이터 포인트들과 가장 가까이 위치하게 된다.
SVM은 선형 분류에 주로 사용되지만, 커널 트릭(Kernel Trick)을 사용하여 비선형 문제에도 적용할 수 있다. 커널 트릭은 데이터를 고차원 공간으로 매핑하지 않고도 고차원 공간에서의 내적 계산을 통해 비선형 특징을 학습할 수 있게 해준다. SVM은 이러한 특성을 활용하여 데이터를 분류하거나 회귀 모델을 구축할 수 있다.
SVM의 장점은 다음과 같다:
하지만 SVM의 단점도 있다:
SVM은 다양한 분야에서 사용되며, 특히 패턴 인식, 이미지 분류, 텍스트 및 문서 분류, 생물 정보학 등의 분야에서 널리 활용된다.