-
[ About _ SVM 이론 ]About_Datascience/ML 2023. 3. 17. 20:42
기본적으로 SVM(Support Vector Machine) 은 두 개의 그룹(데이터)을 분리하는 방법으로
데이터로부터 거리가 가장 먼 초평면(hyperplane) 을 선택하여 분리하는 방법이다.
간단히 말하면 결정 경계 (Decision Boundary)를 정의하는 모델이라고 할 수 있다.
SVM의 구성요소로는 Support Vector, Margin, Decision Boundary 가 있으며
Support Vector 는 두 클래스 사이의 경계에 위치한 데이터 포인트들이며
Margin 은 Decision Boundary와 Support Vector 사이의 거리 x 2 이고,초평면과 가장 가까이 있는 데이터와의 거리를 의미한다.
이 Margin은 직선이 한 쪽 데이터로 치우쳐져 있으면 데이터에 변동이나 노이즈가 있을 경우 ,
제대로 구분하지 못 할 수 있기 때문에 이러한 문제점을 해결하기 위해 이용된다.
마지막으로 Decision Boundary는 데이터를 나누는 기준이 되는 경계이며이는 2D일 경우 선이되고 , 3D일 경우 면이 된다.
즉 , SVM의 목표로는 Margin을 최대화 하는 Decision Boundary를 찾는 것이라 할 수 있다.
이 Margin에는 Hard Margin 과 Soft Margin 이 있다.
Hard Margin 은 어떠한 오분류도 허용하지 않음을 의미하며
Soft Margin 은 어느 정도의 오분류는 허용하지만 "Penalty" 를 부과하는 방법이다.
Penalty의 종류는 Error 가 발생한 개수만큼 패널티를 계산하는 "0 - 1 Loss" 와
오분류 정도에 따라 패널티(큰 패널티 , 작은 패널티) 를 계산하는 "Hinge Loss"가 있다.
그렇다면 위와 같이 직선으로 두 그룹을 분류하지 못하는 경우에는 어떻게 해야할까?
우리는 위처럼 한 직선 상에 있는 두 가지 Class 의 데이터들을 곡선 위로 올린 후 결정 경계를 찾을 수 있다.
이러한 것을 Kernel Trick 이라 한다.
이는 저차원 데이터를 고차원 데이터로 mapping하는 작업이며
종류로는 대표적으로 선형 , 다항식 , 가우시안 RBF가 있다.
'About_Datascience > ML' 카테고리의 다른 글
[ SVM을 이용한 얼굴 사진 분류모델 ] (2) 2023.03.17 [ Iris data를 이용한 SVM kernel 실습 ] (0) 2023.03.17 [ 보험료 예측 모델 생성(2) _ 다양한 Regression model ] (1) 2023.03.13 [ 보험료 예측 모델 생성(1) _ 간단한 EDA 및 전처리 ] (0) 2023.03.13