definition
: 결정 경계(Decision Boundary), 즉 분류를 위한 기준 선을 정의하는, 주어진 데이터가 어느 카테고리에 속할지 판단하는 이진 선형 분류 모델이다. 그래서 분류되지 않은 새로운 점이 나타나면 경계의 어느 쪽에 속하는지 확인해서 분류 과제를 수행할 수 있게 된다.
support vector: decision boundary에 가장 가까운 각 클래스의 점들
decision boundary: 가운데를 가로지르는 선
margin: support vector와 decision boundary 사이의 거리
margin
: 선과 가장 가까운 양 옆 데이터와의 거리로, Decision Boundary(구분하는 선)과 support vector와의 거리를 의미한다.
위 그림에서는 양쪽 supprot vector를 가로지르는 가운데 선으로 표현된다.
robustness
: 양 support vector과의 거리를 최대화하면 robustness도 최대화가 된다.
roubust하다는 것은 outlier(decision boundary를 작살내는 너무 값이 높거나 작은 값)에 영향을 받지 않는다는 특성을 지닌다.
대부분의 머신러닝 지도 학습 알고리즘은 학습 데이터 모두를 사용하여 모델을 학습한다. 그런데 SVM에서는 decision boundary를 정의하는 게 결국 support vector이기 때문에 데이터 포인트 중에서 support vector만 잘 골라내면(outlier를 구분하면) 나머지 쓸 데 없는 수많은 데이터 포인트들을 무시할 수 있다. 그래서 매우 빠르다.
Characteristics according to outlier acceptance
SVM은 이미 라이브러리로 구현되어 있고, SVM 모델이 오류를 어느정도 허용할 것인지 파라미터 C를 통해 지정할 수 있다.(default =1)
C의 값이 클수록 hard margin(outlier 허용 안함), 작을수록 soft margin(outlier 허용함)이다. C의 최적값은 데이터에 따라 다르기 때문에 여러 값들을 넣어보면서 모델을 검증해야만 한다.
hard margin
: 아웃라이어를 허용하지 않고 기준을 까다롭게 세운 모양이다. 그리고 support vector와 decision boundary 사이의 거리가 매우 좁다. 즉, 마진이 매우 작아진다. 이렇게 개별적인 학습 데이터들을 다 놓치지 않으려고 아웃라이어를 허용하지 않는 기준으로 결정 경계를 정해버리면 오버피팅(overfitting) 문제가 발생할 수 있다.
soft margin
: 아웃라이어들이 마진 안에 어느정도 포함되도록 너그럽게 기준을 잡았다. 이렇게 너그럽게 잡아 놓으니 support vector와 decision boundary 사이의 거리가 멀어졌다. 즉, 마진이 커진다. 대신 너무 대충대충 학습하는 꼴이라 언더피팅(underfitting) 문제가 발생할 수 있다.
SVM kernel for non-linear data
: SVM에서는 선형으로 분리할 수 없는 점들을 분류하기 위해 커널(kernel)을 사용한다.
kernel = poly
: 보통은 SVM 모델 생성 과정에서 kernel = linear하게 정의한다. 하지만 위와 같은 non-linear data의 경우에는 2차원 x,y 좌표로 이루어진 점들을 공식에 따라 3차원으로 표현하게 되면서 kernel = poly로 정의하여 decision boundary를 얻을 수 있다. 즉, 다항식(polynomial) 커널을 사용하면 데이터를 더 높은 차원으로 변형하여 나타냄으로써 아래와 같이 초평면(hyperplane)의 결정 경계를 얻을 수 있다
kernel = rbf
: kernel 값을 따로 넣어주지 않았을 때 default 값이다. 위 'poly'(다항식) 커널은 2차원의 점을 3차원으로 변환했다. 그런데 이 RBF 커널은 2차원의 점을 무한한 차원의 점으로 변환한다. 시각화는 불가능하고, 여기서는 gamma라는 파라미터가 중요하다.
gamma: 결정 경계를 얼마나 유연하게 그을 것인지 정해주는 거다. 학습 데이터에 얼마나 민감하게 반응할 것인지 모델을 조정하는 거니까 C와 비슷한 개념이라 봐도 된다. gamma값을 높이면 학습 데이터에 많이 의존해서 결정 경계를 구불구불 긋게 된다. 이는 오버피팅을 초래할 수 있다. 반대로 gamma를 낮추면 학습 데이터에 별로 의존하지 않고 결정 경계를 직선에 가깝게 긋게 된다. 이러면 언더피팅이 발생할 수 있다.
References
hleecaster.com/ml-svm-concept/
bkshin.tistory.com/entry/머신러닝-2서포트-벡터-머신-SVM
'개인 정리 > Word Definition' 카테고리의 다른 글
intersection-overunion(IoU) (0) | 2021.04.03 |
---|---|
mean Average Precision(mAP) (0) | 2021.04.03 |
Non-maximum suppression(NMS) (0) | 2021.04.03 |
댓글