SVM 전반적인 설명
svm : support Vector Machine
- 고차원 데이터의 분류문제에 좋은 성능
- 트레이드오프(generalization ability, training data) 관계에서 generalization ability 증가시키는 방향
- Statistical learning theory에 근거
SVM 상황
-> 이진분류문제의 예시이다.
이처럼 hyper plane, decision boundary를 찾는 것이 목표이다!
그런데 이렇게 클래스를 구별할 수 있는 경계들이 너무 많다...
그러면 기준을 세워볼까...?
svm 기준 | Margin
바로 Margin!
마진을 최대화할 수 있는 hyperplane을 찾자
→ generalization error를 최소화
Margin : 각 클래스에서 가장 가까운 관측치 사이의 거리
W로 표현 가능 ( Wx + b )
1) Plus-plane
빨간색 클래스가 y=1
2) Minus-plane
파란색 클래스가 y=-1
이 2개 사이의 거리가 Margin이고 이 마진을 최대화하는 hyperplane을 찾자
최적의 decision boundary
=>
그리고 이 둘(+/- plane)의 관계는
즉, 평행이동관계
수학적으로 보는 Margin
구하기
⚠️잊지말자 우리는 W에 주목!⚠️
Margin 구하기
결론!
Lagrangian multiplier를 이용하여 Lagrangian Primal
4번을 이용해서 구해본다.
1) 일 때, 뒤에가 0
⇒ +/- plane위에 위치, 이를 support vector 라고 부른다.
2) 일 때, 뒤에가 0일 필요 없다.
W, b 구하기
목표였던 W를 구하자면
support vector일 때만 ≥ 0 이니까
support vector만 가지고 decision boundary 구할 수 있다.
b는 support vector 값 하나 를 넣어봐서 구할 수 있다.
지금까지 살펴본 linearly한 SVM을 HardMargin이라고 한다.
Non-linear SVM
soft margin이란
직선으로는 분류하기 힘들다
→ 약간의 error를 허용하자!
( : 허용하는 error)
Hard margin과 비교해보면 뒤에 정규화 식이 붙었다.
trade-off | C
허용하는 error vs margin
C : trade-off를 결정하는 parameter
C가 높을 수록, error 많이 허용하지 않는다. ( 하드마진에 가까워진다. )
C가 작을 수록 error 많이 허용한다. ( 소프트마진에 가까워진다. )
Kernel
SVM에서 선형으로 분리할 수 없는 점들을 분류하기 위해 사용한다.
'AI > ML' 카테고리의 다른 글
Particle & Kalman 필터로 사람의 위치 파악하기 | Bayesian Filtering for Location Estimation (1) | 2024.01.12 |
---|---|
RNN에 대해 알아보기 (0) | 2023.12.24 |
CNN에 대해 알아보기 (0) | 2023.12.24 |
베이즈 통계학 알아보기 (0) | 2023.12.24 |
통계학 기본개념 정리 (0) | 2023.12.24 |