ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ 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 MarginSoft Margin 이 있다. 

    Hard Margin어떠한 오분류도 허용하지 않음을 의미하며 

     

    Soft Margin어느 정도의 오분류는 허용하지만 "Penalty" 를 부과하는 방법이다. 

     

    Penalty의 종류는 Error 가 발생한 개수만큼 패널티를 계산하는 "0 - 1 Loss" 와 

    오분류 정도에 따라 패널티(큰 패널티 , 작은 패널티) 를 계산하는 "Hinge Loss"가 있다. 

     

     


    그렇다면 위와 같이 직선으로 두 그룹을 분류하지 못하는 경우에는 어떻게 해야할까? 

     

    우리는 위처럼 한 직선 상에 있는 두 가지 Class 의 데이터들을 곡선 위로 올린 후 결정 경계를 찾을 수 있다. 

     

    이러한 것을 Kernel Trick 이라 한다.

    이는 저차원 데이터를 고차원 데이터로 mapping하는 작업이며 

    종류로는 대표적으로 선형 , 다항식 , 가우시안 RBF가 있다. 

     

Designed by Tistory.