
Summary
Support vector machine 은 classifier 의 한 유형 : (regression도 가능함).
- Support vector 만을 사용하여
분류의 기준인 hyperplane 이 계산되어지기 때문에
Support vector machine이라는 이름이 유래됨. - Machine 은 vector 형태의 입력을 통해 decision (클래스의 분류)을 하는 의사결정머신 이라는 점에 착안.
Support vector 를 이용하여 generalization error 를 최소화하는 classifier 를 만들 수 있음.
- 가장 우수한 supervised learning algorithm 중 하나로 꼽힘.
- 단, (Kernel)SVM 의 성능은 hyper-parameter ($C$, $\gamma$) 및 kernel 에 매우 민감한 영향을 받음.
- 또한 입력의 scale 에도 매우 민감함.
Kernel SVM의 장단점과 매개변수
장점
- Kernel SVM은 매우 강력한 모델 : 다양한 데이터셋에서 잘 작동
- (Kernel) SVM은 데이터의 특성이 몇 개 안 되더라도 복잡한 decision boundary를 만들 수 있음.
- 저차원과 고차원의 데이터(= feature (or # of columns)가 적을 때와 많을 때)에 모두 잘 작동
2024.09.28 - [Programming/ML] - [ML] Kernel Function 이란: Kernel Trick 포함
[ML] Kernel Function 이란: Kernel Trick 포함
Kernel Function이란: 고차원으로의 매핑을 명시적으로 하지 않고도, 그 공간에서의 내적 값(innder product)을 직접 계산할 수 있게 해주는 함수 Kernel Function은머신러닝, 특히 SVM(Support Vector Machine) 과 같
dsaint31.tistory.com
단점
- training dataset의 case가 많을 때 (=sample_size가 큰 경우)는 효과적이지 못한 편.
- 10,000개의 샘플 정도면 SVM 모델이 잘 작동
- 100,000개 이상의 데이터셋에서는 속도와 메모리 관점에서 적용이 어려움.
- case가 늘어날 수록 강력한 성능 향상을 보이는 deep ann계열이 최근 SVM보다 많이 사용되는 이유 중 하나임.
- 데이터 전처리(preprocessing)와 hyper-parameter 설정이 매우 중요함.
- SVM은 모든 feature(특성)이 비슷한 scale인 경우 잘 동작(feature scaling이 매우 중요)
- 모든 특성이 비슷한 단위이고(예를 들면 모든 값이 픽셀의 컬러 강도) 스케일이 비슷하면 SVM은 잘 동작함.
- random forrest 등의 트리 기반 모델들은 feature scale에 매우 강건하여
feature scaling 등의 데이터 전처리가 필요하지 않는 것과 비교됨. - 더욱이 deep learning에 사용되는 deep ANN도 상대적으로 feature scale에 둔감함.
- 성능에 영향을 주는 hyper-parameter설정이 매우 중요하고 어려운 편임.
- 커널 SVM에서 중요한 hyper-parameter는 regularization 과 관련된 $C$의 크기 선택, 어떤 커널을 사용할지, 각 커널에 따른 매개변수 등이 있음: 조합이 매우 다양하고, 각각이 성능에 미치는 영향이 매우 큼.
- RBF kernel의 경우 $\gamma$와 $C$ 모두 모델의 복잡도를 조정하며 둘 다 큰 값이 더 복잡한 모델을 만들어냄.
- 높은 성능을 위해선, $C$와 $\gamma$를 함께 조정해야 함: 쉽지 않음.
- SVM은 모든 feature(특성)이 비슷한 scale인 경우 잘 동작(feature scaling이 매우 중요)
- SVM 모델은 분석하기 까다로운 편.
- 예측이 어떻게 결정되었는지 이해하기 어렵고 비전문가에게 모델을 설명하기가 난해한 편임.
- 수학적으로 generalization error가 줄어드는 이유가 명확하고, kernel trick을 통한 non-linear 적용이 효과적이나, 개별 학습된 최종 모델을 해석하고 설명하는 것은 다른 문제임.
RBF를 kernel 로 하는 sklearn.svm.SVC 에서의 hyperparameters, $\gamma$와 $C$에 따른 차이를 보여주는 그림: 하이퍼파라미터에 따른 SVM의 변화를 보여줌.

참고자료
- 헤이스티, 팁시라니, 프리드먼의 『The Elements of Statistical Learning』12장
2024.09.26 - [Programming/ML] - [ML] Radial Basis Function Kernel (RBF Kernel)
[ML] Radial Basis Function Kernel (RBF Kernel)
RBF KernelRBF 커널 또는 Gaussian 커널이라고도 불리는 함수머신 러닝에서 Kernel Function으로 널리 사용되는 함수서포트 벡터 머신(SVM), 커널 PCA 등의 알고리즘에서 사용.similarity 계산 및 고차원 feature sp
dsaint31.tistory.com
'Programming > ML' 카테고리의 다른 글
| [ML] RANdom SAmple Consensus (RANSAC) (0) | 2024.06.13 |
|---|---|
| [ML] Feature Scaling (0) | 2024.05.04 |
| [Statistics] coefficient of determination (결정계수 ~ R squared) (0) | 2024.05.01 |
| [ML] Underfit (0) | 2023.09.21 |
| [Fitting] Ordinary Least Squares : OLS, 최소자승법 (0) | 2022.04.28 |