티스토리 뷰
Artificial Intelligence/Machine Learning
[ML] SVM (Support Vector Machine) 이란?
inee0727 2022. 8. 3. 10:26Support Vector Machine 이란?
- 분류(classification), 회귀(regression), 특이점 판별(outliers detection) 에 쓰이는
- 지도 학습 머신 러닝 방법 중 하나이다.
SVM 의 종류
- scikit-learn 에서는 다양한 SVM 을 지원한다.
- SVC
- Classification 에 사용되는 SVM 모델을 의미하며,
- SVM 의 끝문자인 M 을 Classification 의 첫 문자인 C 로 바꾼 것이다.
- SVR
- Regression 에 사용되는 SVM 모델을 의미하며,
- SVM 의 끝문자인 M 을 Regression 의 첫 문자인 R 로 바꾼 것이다.
- 특이점 판별(outlier detection) 에는 OneClassSVM 이 사용된다.
SVC (Support Vector Classification)
- 예시와 함께 보면 좀 더 쉽게 이해할 수 있다.
- 예를 들어, ㅇ과 ㅁ의 두 범주를 나누는 분류 문제를 푼다고 가정해보자.
- 구분을 위해 두 범주 사이에 선을 긋는다고 한다면, 위 그림과 같이 다양한 방법으로 선을 그을 수 있다.
- 만약, 위 그림처럼 두 개의 점선으로 두 그룹을 구분할 수 있다면
- 두 점선 간 거리를 마진(Margin) 이라고 하며
- 마진이 최대값을 가질 때의 중간 경계선을, 최적 초평면(optimal hyperplane) 또는 결정 경계(Decision Boundary) 라고 한다.
- 따라서, SVM 은 각 그룹이 최대로 떨어질 수 있는 최대 거리(최대마진)를 찾고 ,
- 해당 거리의 중간지점(최적 초평면)으로 각 그룹을 구분짓는 기법이다.
- 이와 같은 SVC 는 데이터가 선형인 경우에는 잘 작동하지만, 데이터가 비선형인 경우에는 잘 작동하지 않을 수 있다.
SVR (Support Vector Regression)
- 이제, SVM 을 회귀에 적용시켜보자.
- SVM 을 회귀에 적용하는 방법은, SVC 와 목표를 반대로 하는 것이다.
- 즉, 마진 내부에 데이터가 최대한 많이 들어가도록 학습하는 것이다.
- 마진의 폭은 epilson 이라는 하이퍼파라미터를 사용하여 조절한다.
'Artificial Intelligence > Machine Learning' 카테고리의 다른 글
[ML] Data Preprocessing - Missing Value (결측치 처리) (0) | 2022.08.10 |
---|---|
[ML] GridSearch / Randomsearch /HalvingGridSearch/ HalvingRandomSearch (0) | 2022.08.05 |
[ML] 교차검증 - KFold, StratifiedKFold, cross_val_score, GridSearchCV (0) | 2022.08.04 |
[ML] 머신러닝 알고리즘 (0) | 2022.08.04 |
[ML] 앙상블 학습이란? (0) | 2022.07.15 |