06. 서포트 벡터 머신

maro·2024년 1월 8일

'단단한 머신러닝' 책과 스터디 내용을 기반으로 작성하였습니다.


6.1 마진과 서포트 벡터

1) 생각의 시작

  • 분류 학습의 기본적인 아이디어
    - 샘플 공간에서 하나의 분할기준을 찾아 서로 다른 클래스의 샘플을 분리하는 것
    - 분할 초평면은 k차원에서 k-1차원의 서로다른 샘플을 나누는 경계면입니다.
  • 각 클래스들의 경계를 지나는 데이터 포인트들을 서포트 벡터라고 하며 서포트 벡터들의 중간을 지나는 경계가 초평면입니다.
  • 그리고 서포트 벡터들의 사이 거리를 마진이라고 합니다.
  • 초평면의 방향은 법선 벡터에 의해 이루어지며 법선 벡터는 방향과 크기가 있는 벡터입니다.

6.2 커널함수

1) 선형 분리가 불가한 경우

  • 저차원에서 선형으로 분리가 불가한 경우 고차원에 투영시켜 분리가 가능하게 만들 수 있습니다.
  • 원시 공간이 유한한 차원을 가질 때 속성의 갯수가 유효하다면 고차원 특성 공간에서 샘플을 분할할 수 있습니다.
  • 특정 투영의 형식이 커널 함수 선택에 영향을 미치며 이는 학습에 큰 영향을 미칩니다.

2) 커널 함수

  • 선형 커널
    • 각 클래스를 구분하는 경계선을 찾는 커널
  • 다항식 커널
    • degree, 차수가 증가되어 플리지 않던 구분이 가능한 커널
  • 가우스 커널
    • 가우스 분포(정규분포)를 이용하여 구분하는 커널
  • 라플라스 커널
    • 가우스 커널에 비해 상대적으로 이상치에 대한 민감도가 낮아 더 robust한 성능
  • 시그모이드 커널
    • 기본적으로 데이터를 고차원에 매핑하고 tanh 함수를 추가하여 비선형성을 증가시켜 더 복잡한 패턴의 학습을 돕습니다.

6.3 소프트 마진과 정규화

1) 적절한 커널 함수를 알지 못하는 경우

  • 약간의 오류를 허용하여 혹시나 발생할 수 있는 과적합 문제를 해결할 수 있습니다.

2) 소프트 마진

  • 모든 샘플들이 정확하게 분류되어야하는 하드 마진과 다르게 마진의 폭 사이에 어느정도의 오차가 있어도 용인해 주는 것을 말합니다.
  • scikit-learn SVM 모델 파라미터 중 'tololence'가 용인의 강도를 정합니다.

6.4 서포터 벡터 회귀

1) 전통적 회귀 vs 서포터 벡터 회귀

  • 전통적 회귀
    • 결과값과 실제 값 사이의 차이에서 오는 손실을 계산
  • 서포트 벡터 회귀
    • 결과값과 실제 값 사이의 최대 ϵ\epsilon만큼의 편차까지는 용인
    • 둔감 손실 함수

6.5 커널 기법

  • 훈련 샘플이 주어질 때 편향 b를 고려하지 않는다면 SVM이나 SVR이 학습하여 얻은 모델은 커널 함수의 선형 조합으로 표현할 수 있습니다.
  • 커널화를 통해 선형 학습기를 비선형 학습기로 향상

0개의 댓글