본문 바로가기
  • _^**_
무근본 IT 지식 공유

서포트 벡터 머신(SVM, Support Vector Machine)이 뭐야?!

by 크리드로얄워터 2025. 5. 9.
반응형

서포트 벡터 머신(SVM, Support Vector Machine)


은 분류와 회귀에 모두 사용되는 강력한 지도학습 알고리즘이야.
하지만 주로 **이진 분류(binary classification)**에 많이 쓰이지.



핵심 개념:

“두 클래스를 가장 넓은 간격(margin)으로 나누는 초평면(hyperplane)을 찾자!”



동작 원리:
1. 데이터들을 직선(혹은 초평면)으로 분리
• 단순 2차원 데이터라면 직선으로 분리
• 고차원에서는 초평면(Hyperplane)
2. 마진(Margin)을 최대화
• 클래스 사이 경계선과 **가장 가까운 데이터(서포트 벡터)**들 사이의 거리를 최대화
• 이게 바로 SVM의 강력함 → 일반화 성능이 좋음
3. 선형 분리가 어려운 경우?
• 커널 트릭(kernel trick)을 써서 저차원 데이터를 고차원으로 변형
• 복잡한 비선형 경계도 가능 (ex. 원형, 나선형 패턴)



예시:
• 이메일 분류: 스팸 vs 정상
• 암 진단: 양성 vs 음성
• 이미지: 고양이 vs 강아지



종류:

SVM 타입 설명
Linear SVM 선형 결정 경계 (직선 혹은 초평면)
Nonlinear SVM 커널 함수 사용 (RBF, polynomial 등)
SVR (Support Vector Regression) 회귀 문제에 적용하는 SVM





장점:
• 마진 기반 → 일반화 성능 뛰어남
• 커널 사용 → 비선형 문제 처리 가능
• 고차원 데이터에도 잘 작동

단점:
• 큰 데이터셋엔 느림
• 하이퍼파라미터(예: C, gamma) 튜닝 필요
• 결과 해석이 어려움



시각적으로 말하면:


두 클래스가 있을 때, SVM은 **“가장 여유 있게 나눌 수 있는 선”**을 찾아서 클래스 간 충돌을 최소화해. 이게 다른 모델들과의 가장 큰 차이야.



Q1: SVM의 커널 함수는 어떤 종류가 있고, 각각 언제 쓰면 좋아?
Q2: SVM과 로지스틱 회귀는 어떤 상황에서 선택이 갈릴까?
Q3: SVM은 다중 클래스 문제(multi-class classification)도 해결할 수 있나?

반응형

댓글