본문 바로가기
ML

# 5 커널기반 학습 Support Vector Machine - Non-linear & Soft Margin - 2

by Kwonys 2023. 9. 19.
728x90
반응형

이번에는 Case 3에 대해 글을 써 보겠습니다.


Large C: Penalty를 줄이는 방향으로 학습이 되므로 마진 폭이 좁고 αi= C인 서포트 벡터의 수가 상대적으로 적음

Small C: Penalty를 받더라도 마진을 넓게 잡도록 학습이 되므로 αi= C인 서포트 벡터의 수가 상대적으로 많음

 


선형 모델의 한계 

- 분류 경계면이 비선형일 경우 이를 잘 찾아내지 못함

 

SVM의 아이디어

- 원래 공간이 아닌 선형 분류가 가능한 더 고차원의 공간으로 데이터를 보내서(mapping) 모델을 학습하자

 

고차원(6차원)으로 만들어보면 아래의 오른쪽과 같이 분류 경계선 만들어 낼 수 있음

아래 왼쪽의 2차원 공간에서는 파란색과 빨간색이 분류가 불가능하지만

아래 오른쪽 3차원 공간에서는 분류가 가능하다.

 


목적

마진 최대화: 일반화 성능 확보

유연성 확보: 고차원의 mapping을 통해 비선형 분류 경계면 생성


고차원에서 목적함수와 제약식

 

 

최종 목적함수를 잘 살펴보면...

- 어떻게 고차원으로 이동시키는 매핑 함수를 찾을 수 있는가?

  (항상 고차원에서 두 벡터간의 내적(inner product)의 형태만 존재)

 

- 커널 트릭 아이디어의 시작점

 


커널트릭

- 어차피 고차원 공간 상에서 내적의 형태로만 존재함

- 저차원 데이터를 입력으로 받아서 고차원 공간상에 내적 값을 결과물로 줄 수 있다면 명시적인 고차원 매핑 함수는 필요 없지 않은가?

 

 

유효한 커널함수의 조건

1. 대칭이어야 함

2. 커널함수를 적용한 N by N Matrix가  positive semi-definite이어야 한다.

위의 예시는 2차원 데이터를 입력 받아 함수를 씌웠는데 6차원 공간상의 내적과 같아지는 것을 설명한다.

 


대표적인 커널 함수

- 가장 많이 쓰이는 Gaussian 커널함수에서는 σ라는 Hyper parameter가 하나 더 추가 된다.

 

- Gaussian (RBF) 커널은 이론적으로 무한개의 점을 Shatter할 수 있음

단, VC Dimention은 무한대 아님

즉, 무한차원으로 올려 놓은 다음에 거기서 최대의 마진을 갖는 경계면을 찾겠다는 것

 


커널 하이퍼파라미터와 오분류 페널티(C)에 따른 분류 경계면 (Linear Kernel)

(하이퍼파라미터는 고정)

 

커널 하이퍼파라미터와 오분류 페널티(C)에 따른 분류 경계면 (RBF Kernel)

(하이퍼파라미터는 고정)

 

 

KBF Kernel width (σ)에 따른 분류 경계면 특징

- σ가 작을수록 원래 입력 데이터 공간에서 복잡한 형태의 분류 경계면이 생성됨

  σ가 작으면 두 객체 사이의 거리가 조금만 떨어져 있어도 급격하게 0에 가까워진다.

  σ가 작으면 마진이 민감하게 반응

- 많은 소프트웨어 라이브러리에서 Γ(= 1/σ**2)를 커널 하이퍼파라미터로 사용함

σ -> 분류 경계면이 복잡도 결정

C -> 마진이 폭 결정

 

728x90
반응형