서포트 벡터 머신(Support Vector Machine, SVM)은 지도 학습(supervised learning) 기법을 사용하는 강력한 분류(classification) 및 회귀(regression) 알고리즘입니다.

기본 개념
SVM은 데이터를 최대 마진(margin)으로 분리하는 최적의 초평면(hyperplane)을 찾습니다. 즉, 클래스 A와 클래스 B를 분리하는 경계면을 가능한 한 넓은 마진으로 설정함으로써 일반화(generalization) 성능을 높이는 방식입니다. 핵심 요소는 서포트 벡터(support vectors)로, 이들만 모델 결정에 영향을 주기 때문에 메모리 사용이 효율적입니다.
특히 고차원 데이터에서 효과적입니다. 데이터가 선형으로 명확히 분리되지 않을 때, 고차원 공간으로 매핑해 분리가 가능하게 만드는 방식인 커널 트릭(kernel trick)을 통해 비선형 데이터를 처리합니다.
과적합을 방지하기 위해 정규화(regularization) 매개변수(C 파라미터)를 사용하면, scikit-learn 같은 라이브러리에서 쉽게 구현되고 텍스트 분류나 이미지 인식에 자주 쓰입니다.
용어 1) 마진(margin): SVM이 두 클래스를 가르는 선(초평면) 가장 가까운 데이터까지의 거리.
용어 2) 초평면(hyperplane): SVM이 두 클래스를 가르는 결정 경계선. 2D면 선, 3D면 평면, 그 이상의 차원이면 초평면. 이 경계선을 최대마진으로 만들면 가장 안전하고 정확하게 분류할 수 있습니다.
용어 3) 서포트 벡터(support vector): SVM 모델이 결정을 내릴 때 실제로 참고하는, 초평면에 가장 가까운 극소수의 데이터들. 보통 전체 데이터의 5~20%이며, 이 데이터들 외 나머지 데이터를 모두 버려도 모델의 성능은 100% 유지됩니다.
용어 4) 커널 트릭(kernel trick): 종이 평면(2D)에 각각의 특징을 가진 두 가지 데이터가 흩어져 있어 선으로 나눌 수 없을 때, 종이를 접고 구겨서 3D로 만들고 평면으로 나눌 수 있도록 하는 수학 기술. 정의하자면, 데이터를 눈에 보이지 않는 고차원의 공간으로 '올려서' 완벽히 분리될 수 있게 하는 기술입니다. 아래 그림과 표를 참조해주세요.

| 커널 | 활용 (2025년 기준) | 장점 | 단점 | 서포트 벡터 수 |
| Linear; 선형 커널 |
- 대부분의 데이터가 선으로 나눠질 때 - 피처 수가 아주 많을 때 (텍스트 TF-IDF, 10만 차원 이상) - 실시간 예측이 중요할 때 |
- 가장 빠르고 해석이 쉬움 (가중치 바로 중요도) - 메모리 적게 먹음 |
비선형 데이터는 망함 | 매우 적음 |
| RBF (Radial Basis Function); 가우시안 커널 |
- 실무에서 90~95%의 성공률 - 이미지, 센서 데이터, 고객 행동, 의료 데이터 등 - 애매하면 일단 RBF로 돌리기 |
- 거의 모든 비선형을 잘 나눔 - 파라미터 2개만 튜닝하면 끝 (C + gamma) |
해석 거의 불가능 데이터 많으면 느려짐 |
중간~많음 |
| Polynomial; 다항 커널 |
- 이미지 패턴, 텍스처 인식 - degree = 2~3 정도만 사용 (degree=5 넘으면 망함) |
- 직관적 (다항식으로 특징 조합) |
degree 높이면, 계산량 폭발 / 과적합 위험↑ | 많음~매우 많음 |
커널 사용시 PM 체크리스트:
- 어떤 커널을 쓰는지 & 이유?
- 후보 커널별 실험 계획?
- 성능 비교 기준(F1, recall 등)?
- 연산 리소스 추정?
- 실시간 서비스 가능? (ms latency)
- 운영 KPI & 재학습 주기?
용어 5) C 파라미터: 마진(Margin) 최대화와 오분류(Misclassification) 최소화라는 두 가지 목표 사이의 균형을 조절하는 정규화 하이퍼파라미터입니다. SVC에서 문자 C는 capacity(모델의 용량/복잡도) 를 의미합니다.
| C 값 | 마진 크기 | 오분류 허용 정도 (훈련 오류) | 모델 경향 | 결과 (과적합/과소적합) |
| 높음 (Large C) | 좁아짐 (Narrower) |
적게 허용 (Low Error) |
모델에 더 높은 용량을 부여하여, 모든 훈련 데이터를 정확히 맞추는 데 집중 (하드 마진에 가까움) |
과적합(Overfitting) 위험 증가 |
| 낮음 (Small C) | 넓어짐 (Wider) |
많이 허용 (High Error) |
모델의 용량을 제한하여, 마진을 최대화하는 데 집중 (단순한 결정 경계) |
과소적합(Underfitting) 위험 증가 |
용어 6) γ (감마; gamma) 파라미터: RBF 커널에서 한 데이터가 주변에 얼마나 강하게 영향력을 행사할지 결정하는 '반경 조절기'. 값이 작으면 부드럽고 넓은 반경, 값이 크면 뾰족하고 좁은 반경으로 설정됩니다. 첫 시도는 gamma='scale' 또는 gamma='auto' (scikit-learn 기본값) 로 설정합니다. γ(gamma) 를 사용하는 이유는, RBF 커널이 가우시안 함수라서, 가우시안 함수에서 전통적으로 쓰던 γ를 그대로 가져온 것입니다.

프로젝트 관리 단계 & 동작 과정
1. 기획 & 요구 정의
- 비즈니스 문제 정의: SVM이 당면한 문제 해결에 적합한지 판단합니다. SVM은 비교적 적은 데이터로도 성능이 나올 수 있고, 마진 기반 설계 덕에 일반화 성능이 높다는 특징을 참고합니다.
- 성능 목표 설정: 분류 문제인 경우 정확도(accuracy), 재현율(recall), 정밀도(precision), F1 score 등을 어떻게 잡을지 정의해야 합니다.
- 제한사항 정의: 예컨대 데이터 볼륨이 엄청 커서 SVM이 느릴 수 있다거나(큰 n, 큰 d에서 학습시간 및 메모리 부담)‧커널 선택이 복잡하다거나 ‧해석이 어렵다는 등의 리스크를 염두에 두어야 합니다.
2. 데이터 준비 & 전처리
- 특징(feature) 선정 및 정제: SVM은 마진 최대화를 위해 서포트 벡터가 되는 데이터들에 민감하기 때문에 이상치 (outlier), 노이즈 (noise) 데이터가 있으면 영향을 받습니다. 데이터 팀과 협의하여 전처리‧정형화‧라벨 검증을 반드시 확보해야 합니다.
- 데이터 스케일링 및 차원축소: SVM은 거리 기반(내적 dot-product 기반) 구조가 많아서 데이터 스케일링(normalization/standardization)이 중요합니다. 이 단계의 일정과 리소스를 포함해야 합니다.
- 데이터 불균형(imbalanced) 문제 검토: 예컨대 사기 탐지처럼 부정 행위라서 ‘양성’(긍정) 클래스가 매우 적은 경우, SVM이 일반적인 조건에서 오분류율이 커질 수 있습니다. 이걸 사전-리스크로 잡아야 합니다. (실제로 Weighted SVM 적용 사례 있음)
3. 모델링 & 검증
- 커널 선택, 하이퍼파라미터 튜닝(C, γ 등): 모델링 팀에게 이 실험을 위한 일정(그리드 서치 / 교차검증)과 리소스(CPU/GPU)를 확보해야 합니다. SVM은 커널 선택이 가장 중요합니다.
- 교차검증 (CV) & 성능 검증: '이 모델이 언제 배포 가능한지, '실험 결과가 언제 나오는지' 체크합니다.
- 프로토타입 → 파일럿: 실제 도메인 데이터로 SVM이 얼마나 잘 동작하는지 소규모 파일럿을 돌려보고, 그 결과를 다음 단계(배포/서비스화)로 이어갈지 결정합니다.
- 해석성과 검토: SVM은 상대적으로 해석성이 낮은 편이라, 비즈니스 이해관계자(예: 리스크관리팀, 감사팀)와 협의해 '왜 이렇게 분류했는가?' 에 대한 설명을 확보해야 합니다. → 설명 가능성(Explainability)
4) 배포 & 운영
- 모델 모니터링: SVM 모델이 배포된 후 Drift(데이터 변화), 클래스 비율 변화, 재학습 필요성 등을 KPI화해야 합니다.
- 리소스 관리: 대규모 데이터가 실시간 유입되는 환경이라면 SVM이 학습시간이나 예측시간 면에서 병목될 수 있습니다. 인프라 팀과 SLA / 성능 지표 협의해야 합니다.
- 거버넌스 & 컴플라이언스: 특히 금융권이나 의료 등 규제가 있는 분야라면, SVM으로 결정을 내릴 때 누가 책임지는가, 설명자료는 누가 제출하는가 등의 절차를 마련해야 합니다.
예시/비유
- 금융 분야) JPMorgan Chase의 신용 리스크 모델에서 SVM(RBF 커널)은 고객 데이터를 분류해 연체 예측 정확도를 15% 향상시켰으며, 이는 2025년 기준으로 연간 수십억 달러의 손실 방지에 기여했습니다.
- 의료 분야) Alzheimer's Association 프로젝트에서 SVM은 MRI 스캔 데이터를 분석해 알츠하이머 조기 진단 정확도를 92%로 높여 치료 개입 시간을 단축했습니다.
- 명확하게 분류를 확인할 수 있는 '최대 거리 유지'
- 학교 운동장 한복판에 줄을 긋고 친구들을 좌우로 나누는 게임을 상상해볼까요. 친구들이 왼쪽 줄 혹은 오른쪽 줄로 이동할 수 있는데, 가능한 한 친구들 사이의 간격을 넓게 해서 줄을 긋는 게 좋아요. 그러면 다음에 새로운 친구가 들어왔을 때 어느 쪽인지를 더 쉽게 구분할 수 있습니다.
- 이 때 줄이 초평면이고, 초평면에서 가장 가까운 친구까지의 거리의 2배가 마진입니다. 가장 중요한 친구들, 즉 줄에 가장 가까이 있는 친구들이 서포트 벡터입니다.
- 만약 친구들이 좌우로 깔끔하게 구분되지 않는다면(비선형 패턴), 실제로는 불가능하겠지만 운동장 바닥을 기울이거나 곡면을 만들어서 3D인 상태에서 구분하는 것이 커널 트릭입니다.
'AI Study > 머신러닝(ML)' 카테고리의 다른 글
| 머신러닝의 기초: 클러스터링(Clustering) (1) | 2025.11.25 |
|---|---|
| 머신러닝의 기초: 신경망(Neural Network) (1) | 2025.11.24 |
| 머신러닝의 기초: 랜덤 포레스트(Random Forest) (1) | 2025.11.21 |
| 머신러닝의 기초: 의사결정 나무(Decision Tree) (0) | 2025.11.20 |
| 머신러닝의 기초: 선형 회귀 (Linear Regression) (0) | 2025.11.19 |