90년대 커널방식의 모델이 출현했음.
그 중 SVM(Support Vector Machine)에 대한 연구가 활발히 이루어짐

SVM은 분류를 위한 모델로, 나눠질 데이터의 군집 사이에 여백(margin)을 주어 일반화를 도모한다.

SVM에서는 결정경계 하이퍼플레인(decision bondary hyperplane) 양쪽으로 두 개의 평행한 하이퍼플레인이 있음.
이 두 개의 하이퍼플레인은 각 면에서 가장 가까운 데이터 포인트와 교차함.
이 두 하이퍼플레인을 Support Vector라고 부르는데 이 두 벡터간의 거리를 margin이라고 함.
margin이 크면 클수록 일반화가 잘됨.

따라서 SVM은 Support Vector간의 여백이 최대한 넓어지는 Support Vector를 발견하는 것이다.
이 때 손실함수는 hinge 손실함수가 사용되며, 로지스틱 회귀의 Cross-Entropy 최소화와 비교됨.

두 개보다 많은 클래스를 분류해야한다면 "한 개 범주" vs "나머지 범주"의 전략으로 하나씩 support vector 를 구해나감.

하지만 두 개 클래스간의 선형성이 없다면 어떻게 해야할까?
이 때는 커널 변환(Kernel Transformation)을 이용하여 위의 그림처럼 2차원에 있던 데이터를 3차원으로 만들 수 있다.
이렇게 변환되면 경계를 분류하는 하이퍼플레인을 쉽게 찾을 수 있다.

이와 같은 방법이 Neural Network에도 존재함.

커널 변환은 신경망의 활성함수가 input을 함수에 매핑하여 공간을 변환하는 방법과 유사함
레이어의 뉴런 수가 차원의 수를 통제함
만약 두 개의 input에 3개의 뉴런이 있다면, input을 2차원에서 3차원 공간으로 매핑하는 것임.

basic linear kernel, polynomial kernel, Gaussian radial basis function(Gaussian rbf) kernel이 자주 사용됨

+ Recent posts