목표
1. SVM의 정의
2. Margin의 종류
3. Kernel의 종류
SVM 예시
어떤 직선이 데이터를 제일 잘 나눌까요?
정답은 ②
①의 경우
동그라미를 네모로 잘못 분류
③의 경우
네모를 동그라미로 잘못 분류
②의 경우
네모의 데이터와 동그라미의 데이터에서 충분히 떨어져 있는곳에서 직선이 있다.
새로운 데이터를 입력으로 받을 때 오분류할 확률이 적어진다.
SVM 정의
Support Vector Machine (SVM)
SVM은 결정 경계(Decision Boundary)을 정의하는 모델
Support Vector Machine의 목표
- Margin을 최대화하는 Decision Boundary(결정 경계) 찾기
- 이 때 Support Vector가 Decision Boundary를 만드는데 영향을 주기 때문에 Support Vector Machine이라고 불림
Support Vector Machine의 구성요소
- Support Vector
두 클래스 사이의 경계에 위치한 데이터 포인트들 - Margin
Decision Boundary와 서포트 벡터 사이의 거리 X 2 - Decision Boundary
데이터를 나누는 기준이 되는 경계
Decision Boundary & Dimension
이 경계는 2차원일 때는 선, 3차원 일때는 차원이다.
Margin의 종류
만약 분류해야 하는 대상이 다음과 같다면?
Hard Margin
어떠한 오분류도 허용하지 않음!
Soft Margin
- 어느 정도의 오분류는 허용 -> Penalty
- Penalty의 종류
1. 0-1 Loss
2. Hinge Loss
Penalty : 0-1 Loss
0-1 Loss
Error가 발생한 개수 만큼 패널티 계산
Penalty : Hinge Loss
Hinge Loss
오분류 정도에 따라 패널티 계산
Non-Linear SVM 개념
Hard Margin 일 경우 어떻게 나누어야 할까?
Non-Linear SVM - 커널
커널 트릭
저차원 데이터를 고차원 데이터로 맵핑(Mapping) 하는 작업
커널 종류
- 선형
- 다항식
- 가우시안 RBF
커널 - 가우시안 RBF
SVM 장단점
장점
- 비선형 분리 데이터도 커널을 사용하여 분류할 수 있다.
- 고차원 데이터에도 사용할 수 있다.
단점
- 데이터가 너무 많으면 속도가 느리다.
- 확률 추정치를 제공하지 않음
'Machine Learning > 머신러닝 온라인 강의' 카테고리의 다른 글
CH07_04. 얼굴 사진 분류(Python) (0) | 2022.10.18 |
---|---|
CH07_02. SVM 커널 실습 (Python) (0) | 2022.10.18 |
CH06_04. 음수 가능 여부 판단 (Python) (0) | 2022.10.12 |
CH06_02. KNN 실습 (Python) (0) | 2022.10.11 |
CH06_01. KNN (0) | 2022.10.11 |