공부하기/Ai

2-1-C 기계학습 알고리즘(SVM)

bsarise 2023. 8. 11. 00:23
728x90

서포트 벡터 머신(Support Vector Machine, SVM)은 분류와 회귀 문제에 사용되는 지도 학습 알고리즘 중 하나입니다. SVM은 주로 분류 문제에서 뛰어난 성능을 발휘하는 데 널리 사용됩니다.
 
### 1. 기본 아이디어:
SVM의 핵심 아이디어는 데이터 포인트들을 분류하는 최적의 **결정 경계** 또는 **초평면(hyperplane)**을 찾는 것입니다. 이 초평면은 두 클래스 간의 마진을 최대화하는 방향으로 선택됩니다.
 
### 2. 마진:
마진은 결정 경계와 이 경계에 가장 가까운 데이터 포인트(서포트 벡터) 사이의 거리로 정의됩니다. SVM은 이 마진을 최대화하는 결정 경계를 찾으려고 합니다.
 
### 3. 서포트 벡터:
결정 경계를 정의하는 데 중요한 역할을 하는 훈련 데이터 포인트들을 **서포트 벡터**라고 합니다. 이들은 결정 경계 주변에 위치하며, 마진을 최대화하는 초평면의 방향과 위치를 결정합니다.
 
### 4. 커널 트릭:
실제로 데이터가 선형적으로 분리되지 않을 때, SVM은 **커널 트릭**을 사용하여 데이터를 더 높은 차원의 공간으로 매핑하고, 이 높은 차원에서 선형적으로 분리되는 초평면을 찾습니다. 주요 커널에는 선형, 다항식, 방사 기저 함수(RBF 또는 가우시안 커널), 시그모이드 등이 있습니다.
 
### 5. 소프트 마진 SVM:
모든 데이터 포인트가 완벽하게 분리되지 않는 경우에도 모델을 훈련시키기 위해, 어느 정도 오류를 허용하는 **소프트 마진 SVM**이 개발되었습니다.
 
### 6. 장점:
- 높은 차원의 데이터에서도 잘 작동합니다.
- 주어진 특성에 대한 도메인 지식이 있는 경우 커널을 사용자 정의할 수 있습니다.
- 과적합의 위험이 적습니다(특히 적절한 커널과 규제 파라미터를 사용할 때).
 
### 7. 단점:
- 큰 데이터 세트에서는 훈련 시간이 길 수 있습니다.
- 튜닝이 필요한 파라미터가 많습니다(예: C, 커널 선택, 커널 파라미터).
- 직접적인 확률 추정을 제공하지 않습니다.
 
### 8. 활용:
SVM은 손글씨 인식, 얼굴 인식, 생물정보학, 텍스트 분류 등 다양한 응용 분야에서 사용되었습니다. 특히 복잡하고 중간 크기의 데이터셋에서 높은 분류 성능을 발휘합니다.
 
결론적으로, SVM은 기계 학습에서 중요한 알고리즘 중 하나로, 그 유용성과 범용성으로 많은 연구자와 실무자들에게 널리 사용되고 있습니다.