본문 바로가기

Machine Learning/머신러닝 온라인 강의

CH07_01. SVM

목표

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 장단점

장점

- 비선형 분리 데이터도 커널을 사용하여 분류할 수 있다.
- 고차원 데이터에도 사용할 수 있다.

 

단점

- 데이터가 너무 많으면 속도가 느리다.
- 확률 추정치를 제공하지 않음