본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
(SVM에서 넘어옴)
SVM; Support Vector Machine
대상을 분류할 때 마진이 가장 커지는 Decision Boundary를 그려 분류하는 방법
  • 딥러닝 이전 기계학습 모델에 해당한다.

  • Support Vector
  • Decision Boundary
    • (1차원) Decision Value(Threshold)
    • (2차원) Decision Line
    • (3차원) Decision Plane
    • (4차원 이상) Decision Hyperplane
    • (2차원 곡선) Decision Curve
    • (3차원 곡면) Decision Surface
    • (4차원 이상 곡면) Decision Hypersurface
  • Margin
    • Hard Margin: Decision Boundary에서 여유를 두지 않는 최대 Margin
    • Soft Margin: Decision Boundary에서 일반화를 위해 약간의 여유를 두는 Margin
Decision Boundary를 구하는 방법으로, 서포트 벡터를 이용한다.
  • 특정 레이블 개체들 중 바깥 면에 있는 개체를 지나가도록 선을 그리고
  • 평행선의 마진이 가장 넓어지는 서포트 벡터를 선정한 후
  • 그 경계선 중간 지점에 Decision Boundary를 그린다.
  • 즉 결정에 영향을 끼치는 관측치를 서포트 벡터(Support Vector)이라고 한다.

장점 단점
마진을 최대화하므로 과적합에 강하다 데이터가 많으면 학습 속도가 느리다
커널 함수(선형·다항·RBF·시그모이드 등)로 비선형 분류도 할 수 있다 커널 종류, 비용 C, 감마 같은 초매개변수를 최적화해야 성능이 나온다
고차원 자료에도 쓸 수 있다 결과 해석이 어렵다
  • 결정 경계에 가장 가까운 점들이 서포트 벡터이며, 여러 개일 수 있다.
  • SVM은 신경망이 아니므로 딥러닝에 속하지 않는다.

선형으로 나눌 수 없는 데이터를 더 높은 차원의 특성 공간으로 옮기면 초평면으로 나눌 수 있게 된다. SVM 은 이 변환을 직접 계산하지 않고, 두 점의 고차원 내적값만 커널 함수 K(x, y) 로 바로 구한다. 이를 커널 트릭(kernel trick)이라 한다.

커널 식 특징
선형(Linear) x·y 변환 없이 원래 공간에서 직선(초평면)으로 나눈다. 특성이 많은 텍스트 분류 등에 쓴다
다항(Polynomial) (γ x·y + r)d 차수 d 의 다항식 경계를 만든다
RBF(가우시안) exp(−γ‖x − y‖2) 비선형 데이터에 가장 많이 쓴다
시그모이드(Sigmoid) tanh(γ x·y + r) 신경망의 활성화 함수와 비슷한 형태이다
  • 비선형 데이터에 일반적으로 쓰며, 가장 많이 쓰는 커널이다. scikit-learn 의 SVC 도 기본 커널이 RBF 이다.
  • 데이터에 대한 사전 지식이 없을 때 먼저 시도하는 커널이다.
  • 두 점의 거리가 가까울수록 1 에, 멀수록 0 에 가까운 값을 준다. γ 가 크면 경계가 복잡해져 과적합되기 쉽고, 작으면 경계가 단순해진다.
  • RBF 커널은 무한 차원 특성 공간으로 사상하는 것과 같다. "2차원의 점을 3차원의 점으로 변환한다" 는 RBF 의 설명으로 틀리다. 2차원 점 (x1, x2) 를 3차원 (x12, √2 x1x2, x22) 로 옮기는 것은 2차 다항 커널 (x·y)2 에 해당하는 예이다.