brunch

You can make anything
by writing

C.S.Lewis

by 이유민 Aug 24. 2021

8. 비선형 분류모형 3

SVM (Support Vector machine)

: find a linear hyperplane ! 데이터를 양분할 수 있는 것.

=> 머신러닝에서 가장 많이 사용


SVM - Maximum Margin Classification

- Support Vector(hyper plane으로부터 가장 가까운 점들)

- Margin = decision boundary로부터 가장 가까운 데이터 까지의 거리

- Margin!! 그걸 최대화 하는 hyper plane을 선택!

- Margin이 클 수록 generalization에러가 낮아지는 경향

 -> 작을 경우, overfitting의 가능성

- 실제로도 좋은 성능 ! 이론도 뒷받침 !!


Linear SVM


Linear SVM : separable case

- 각 class라벨이 +1, -1로 주어질 경우,

- 람다가 0보다 클때, training instance X는 yi(w*x+b)-1=0인 경우, hyberplane b1, b2 상에 위치

- 이러한 training instance 들을 = support vector

- hyperplane의 w, b 값은 support vector에 의해서만 결정됨 !! 다른건 X

- 주어진 Lagrangian primal문제는 dual문제로도 변경이 가능.

- 람다 값이 0인 데이터(support vector가 아닌 데이터)는 결정경계에 영향 X


Linear SVM : non-separable case

- 왜 주목 : 서로 섞여 있는 문제에서 어떤 hyper를 찾아도 perfect하지 않으니까!

- Soft Margin!!

- 작은 오차를 허용하여 decision boundary를 구함. = 오차허용만큼 margin은 크게 만들수 O

- 오차와 margin간의 trade-off 관계에 대한 조절 필요

- 오차를 위해 slack variable 도입!! = linear이 seperable하지 않을때~

- 새로운 목적함수, 모수C를 이용해 margin과 error의 trade-off 조절!

- seperable case와 마찬가지로 Lagrangian dual통해 풀이 ok


separable case vs non-separable case

- 둘다 같은 형태의 결정경계를 도출!

- 다만, 차이점 존재

: support vector on boundary

: bounded support vector


Nonlinear SVM


- 고차원 특성 공간으로 mapping해서 선형으로 분류할 수 있음

- feature mapping!!

- 얼마나 고차원 ? : 고차원으로 mapping할수록 두 mapped feature vector의 내적 계산에 너무 많은 자원


kernel trick

- Linear SVM은 입력벡터의 내적에만 의존

- 따라서 , kernel function은 데이터를 간접적으로 고차원으로 사영!

- 벡터가 복잡하므로 내적을 kernel함수로 정의하는 것 = kernel method!! zms wnfrl

- kernel 함수의 종류: linear / polynomial of power p / Gaussian (무한차원)









매거진의 이전글 7. 비선형분류모형2
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari