Support Vector Machine

Nam Eun-Ji·2021년 4월 17일
0

참고 동영상 : 허민석 - [머신러닝] SVM (서포트 벡터 머신)
참고 블로그 : JuHyung Son - SVM과 Kernel 보기

SVM의 목표는 가장 잘 분류하는 decision boundary를 찾는 것이다.

  • 빨간 선 : decision boundary
  • 초록색 간격 : margin

margin이 넓을 수록 새로운 데이터가 잘 구별될 확률이 높아진다.
margin을 형성하는 decision boundary와 가장 가까운 데이터를 서포트 벡터라 부르고 svm은 분류를 실행 시에 많은 데이터 중 서포트벡터만을 사용하므로 계산량이 줄어드는 효과가 있다.

하지만 데이터가 선형 분류되지 않을 때는 데이터를 선형분류 가능하게끔 변형해주는데 이럴 때(저차원->고차원)는 계산량이 많아지는 단점이 있다. 이를 보완하는 방법으로 커널 트릭이라는 방법을 사용하면 같은 효과를 내면서 적은 계산량으로 구현이 가능하다. svm에서는 이런 커널트릭을 사용한다.

사용자가 셋팅해주어야할 cost, gamma라는 파라미터가 있다. 여기서 cost란 decision boundary의 margin을 어느정도로 설정해줄 것인가이다. margin이 좁을 시 오버피팅될 수 있다. gamma란 train data 하나당 영향을 끼치는 범위를 조절하는 변수이다.

grid search를 통해 cost, gamma등의 하이퍼파라미터의 최적값을 구할 수 있다.

profile
한 줄 소개가 자연스러워지는 그날까지

0개의 댓글