지도학습 - 서포트 벡터 머신(Support Vector Machine, SVM)의 개념과 종류
서포트 벡터 머신(SVM) 개요
SVM은 1990년대 블라디미르 바프닉(Vladimir N. Vapnik)과 그의 동료들이 고안한 개념이다. 머신러닝 지도학습 기법 중 하나로 주로 이진 분류에 활용된다.
서포트 벡터 머신(SVM) 개념
SVM은 결정 경계(Decision Boundary) 를 통해 두 클래스 간의 마진을 최대화하는 방식으로 작동한다. 이때 마진이란 두 클래스 간의 거리를 의미하며, SVM 분석은 두 클래스 간의 간격을 최대한 넓도록 만든다. 이 간격을 유지하기 위한 데이터 포인트가 서포트 벡터(Support Vector)이며, SVM은 이런 서포트 벡터를 활용해 결정 경계를 설정한다.
SVM의 활용
주로 이진 분류에 사용하지만 아래와 같은 상황에도 활용이 가능하다.
- 스팸 이메일 분류, 문서 분류 등과 같은 텍스트 분류
- 얼굴 인식, 객체 인식과 같은 이미지 분류
- 음성, 지문, 홍채 분류와 같은 바이오메트릭 인식
- 고객의 신용리스크 평가, 사기 탐지 등과 같은 금융 분야.
SVM의 종류
선형 SVM(Linear SVM)
데이터를 선형적으로 구분할 수 있을 때 사용
비선형 SVM(Non-linear SVM)
데이터를 선형적으로 분리할 수 없을 때, 커널 트릭(Kernel Trick) 을 사용하여 고차원 공간으로 매핑하여 선형 분리가 가능하도록 만드는 것. 자주 사용되는 커널로는 RBF 커널, 폴리노미얼 커널, 시그모이드 커널 등이 있음.
서포트 벡터 회귀(Support Vector Regression, SVR)
연속적인 데이터를 예측하는 회귀 문제에 적용된 SVM.
다중 클래스 SVM(Multi-Class SVM)
One-vs-One 또는 One-vs-Rest 방식을 사용하여 다중 클래스 문제에 적용.
SVM 장점
- 고차원 데이터에서 성능이 우수하다. 텍스트 데이터 같은 것에 유리하다.
- SVM은 마진을 최대화하는 결정 경계를 찾는 방식이기 때문에 과적합이 될 여지가 적다.
- 커널 함수를 통한 고차원 데이터 분석이 가능하므로 비선형 데이터 분석에도 용이하다.
SVM 단점
- 데이터가 커질수록 학습 속도가 급격히 느려진다. 대규모 데이터에선 랜덤 포레스트나 신경망이 더 유리할 수도 있다.
- 매개변수 선택이 어렵다(정규화 파라미터, 커널 파라미터).
- SVM은 직접적 확률값을 제공하지 않아서 해석이 어렵다. 하지만 Platt Scaling을 통해 추정은 가능하다.
- 다중 클래서 분석이 어렵다. 이진 분류에 최적화된 알고리즘이라 생각하면 된다.
SVM의 매개변수
1) 정규화 파라미터 𝐶
정규화 파라미터는 마진의 폭과 오류 허용도를 조절하는 역할을 한다. 쉽게 말해서 데이터 적합성과 일반화 성능의 균형을 찾는 매개변수라 생각하면 된다.
값이 커질 때 모델은 더 적은 오류를 허용하며, 잘못 분류된 샘플에 강한 패널티를 부여하는데, 값이 너무 클 경우 데이터가 과적합될 가능성이 있다.
반면, 값이 작아지면 오류에 대해 관대하다는 것이니 좀 더 직관적이고 일반화된 모델은 얻을 수 있겠지만 정확도는 낮아질 가능성이 높다.
2) 커널 파라미터
SVM은 데이터를 비선형적으로 분류하고 싶을 때 커널 트릭(Kernel Trick) 을 사용하여 고차원 공간으로 매핑한다. 커널 함수는 데이터를 고차원 공간으로 변환하여 비선형 분류를 가능하게 해주는 것인데, 이때 커널 함수로는 RBF(방사 기저 함수, Gaussian), 다항 커널, 시그모이드 커널 등이 있다. 이 커널함수에 들어 있는 것이 바로 커널 파라미터이며 RBF의 감마(γ)가 대표적인 파라미터라고 생각하면 된다.
감마(𝛾)의 역할
데이터 포인트의 영향 범위를 결정한다. 이 값이 크면 클수록 결정 경계가 각 데이터 포인트에 민감하게 반응한다. 𝐶와 마찬가지로 값이 크면 과적합 가능성이, 작으면 데이터를 제대로 설명하지 못할 가능성이 높다.
C와 𝛾값의 상호작용
SVM 성능을 최적하 하기 위해선 두 값 모두 조정해야한다. 필요에 따라 조정하자.
큰 𝐶와 큰 𝛾
데이터에 매우 민감해지며, 복잡한 결정 경계를 형성한다. 과적합 가능성도 제일 크다.
큰 𝐶와 작은 𝛾
학습 데이터의 오류는 허용하지 않지만, 결정 경계는 비교적 단순하게 만드는 조합이다. 복잡한 데이터를 단순하게 처리 시 용이하다.
작은 𝐶 큰 𝛾
결정 경계가 매우 국소적이지만 과적합은 방지하는 방법이다. 다만 정확도는 타협해야 하는 방법.
작은 𝐶와 작은 𝛾
좀 더 일반적으로 모형을 생성하고 싶을 때 사용한다. 과적합 가능성이 낮으며 정확도도 그만큼 낮아질 가능성이 높다.
SVM 매개변수 선택을 위한 방법론
1) 그리드 서치(Grid Search)
각 매개변수의 가능한 값들을 모두 조합해 가장 성능이 좋은 조합을 찾는 방식이다.
2) 교차검증Cross-Validation)
주어진 데이터 셋을 여러번 나누어 평가하는 방식이며 과적합을 피하고 일반화 성능을 높이고 싶을 때 사용한다.
3)랜덤 서치(Random Search)
그리드 서치와 다르게 매개변수 공간에서 무작위로 샘플링해 조합을 시도하는 방식이다. 매개변수 값 범위가 너무 넓을 경우 사용이 용이하다.
Platt Scaling
SVM의 결정 함숫값을 확률로 변환하기 위해 사용하는 방법으로 선형 함수인 SVM의 결정함수를 로지스틱 회귀를 통해 확률로 바꾼다.
Platt Scaling의 활용
확률 기반 의사 결정: Platt Scaling을 통해 얻은 확률 값으로 불확실성을 고려한 의사 결정을 할 수 있다.
앙상블 모델에서 활용: 앙상블 학습(예: 배깅, 부스팅)에서 모델의 출력 값을 확률로 변환하면, 모델 결합 시 가중치를 적용하거나 최적의 결합을 할 수 있다.
이상치 탐지: 각 데이터 포인트가 해당 클래스에 속할 확률을 통해 이상치로 간주할 수 있는 포인트를 찾는 데 도움이 된다.
'데이터 분석 방법' 카테고리의 다른 글
지도학습 - 회귀분석의 개념과 종류 (4) | 2024.11.07 |
---|---|
머신러닝의 개념과 분류 (지도학습 비지도학습 강화학습) (0) | 2024.11.04 |
머신러닝과 AI의 관계 및 차이점 (0) | 2024.10.30 |
댓글