👩🎓✍/BigData 분석기사
23. 서포트 벡터 머신, SVM
글로랴
2021. 3. 16. 15:40
SVM, Support Vector Machine
- 데이터를 분리하는 초평면(hyperplane) 중에서 데이터들과 거리가 가장 먼 초평면을 선택하여 분리하는 지도 학습 기반의 이진 선형 분류 모델
- 벡터 공간에서 학습 데이터가 속한 2개의 그룹을 분류하는 선형분리자를 찾는 기하하적 모델
🚨🙋♀️🤔
최대 마진 초평면(MMH, Maximum Margin Hyperplane, 가장 멀리 분리되게 만드는 직선)이 데이터에 대해 가장 일반화를 잘할 것이기 때문에. 최대 마진은 임의의 노이즈가 추가돼도, 각 클래스는 경계의 올바른 쪽에 남게 될 것이다.
(1) 응용
- 연소 엔진의 고장, 보안 결함이나 지진과 같은 드물지만 중요한 사건의 탐지
- 문서에서 사용되는 언어의 식별이나 주제별 문서 분류와 같은 텍스트 범주화
- 사물 인식, 패턴 인식, 손 글씨 숫자 인식 등
- 유전자 발현 데이터의 분류
(2) 장단점
🥰 | 😥 |
- 분류나 수치 예측 문제에 사용될 수 있다. - 노이즈에 거의 영향을 받지 않는다. - 다른 방법에 비해 과적합이 쉽게 일어나지 않는다. - 변수 속성 간의 의존성은 고려하지 않으며, 모든 속성을 활용하는 기법이다. - 정확성이 뛰어나다 |
- 최고의 모델을 찾고자 커널과 모델 파라미터의 다양한 조합을 테스트해야 한다. - 훈련시간이 상대적으로 느리다. |
(3) 종류
- 하드 마진 SVM (Hard Margin SVM)
- 마진의 안쪽이나 바깥쪽에 절대로 잘못 분류된 오 분류를 허용하지 않는 SVM
- 노이즈로 인하여 최적의 결정 경계를 잘못 구할 수도 있고, 못 찾을 경우도 발생할 수 있음
- 소프트 마진 SVB (Soft Margin SVM)
- 마진의 안쪽이나 바깥쪽에 절대로 잘못 분류된 오 분류를 허용하는 SVM
- 어느 정도의 오류를 허용하는 소프트 마진 SVM을 주로 이용
(4) 구성요소
- 결정 경계(Decision Boundary) : 데이터 분류의 기준이 되는 경계
- 초평면(Hyperplane) : n차원 공간의 (n-1) 차원 평면
- 마진(margin)
- 결정 경계에서 서포트 벡터까지의 거리(여유공간)
- 최적의 결정 경계는 마진을 최대화
- 서포트 벡터(support vector) : 학습 데이터 중에서 결정 경계와 가장 가까이에 있는 데이터들의 집합
- 슬랙 변수(slack variable, 여유변수)
- 완벽한 분리가 불가능할 때 선형적으로 분류를 위해 허용된 오차를 위한 변수
- Soft Margin SVM에서 사용
(5) 서포트 벡터 머신 적용 기준
- 선형적으로 분리 가능한 데이터의 경우
- 최적의 결정 경계(또는 초평면)를 기준으로 1과 -1로 구분하여 분류 모형으로 사용
- 비선형적으로 분리 가능한 데이터의 경우 (선형으로 분리 X)
- 고차원 공간으로 매핑
- Soft Margin을 생성해 일부 데이터 포인트가 잘된 쪽의 마진에 있는 것을 허용하는 슬랙 변수 사용
- 저차원 공간을 고차원 공간으로 매핑할 경우에 발생하는 연산의 복잡성을 커널 트릭(Kernel Trick)으로 해결
(6) 커널 종류
- Gaussian Radial Basis Function Kernel
- Linear Kernel
- Polynomial Kernel
- Sigmoid Kernel
*커널(Kernel)이란, 데이터를 벡터 공간으로 매핑하는 함수이다.
**커널 함수의 선택에는 명확한 규칙이 없으며 실제 어떤 커널 함수를 적용하더라도 정확도에는 큰 차이가 없다.
반응형