SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
Support Vector Machines
이대근
elnn@elnn.kr
2013. 11. 27.
1 / 14
큰 그림
쉬운 문제부터 잘 풀고 조금씩 확장
Linearly separable binary classification 문제부터 풀어보자.
Solution: Maximal margin classifer ⇒ Linear SVM
Non-linearly separable 경우도 풀고 싶다. ⇒ Kernel trick
잡음, 오차 등이 끼어들면 어떡하지? ⇒ Regularization
n-class classification 문제도 풀고 싶다. ⇒ Multiclass SVM
Regression 문제도 풀고 싶다. ⇒ Support vector regression
Structure prediction 문제도 풀고 싶다. ⇒ Structured SVM
2 / 14
Linearly separable binary classification
먼저 이진 분류 문제를 생각해보자.
{(xi , yi )}N
i=1 xi ∈ Rd yi ∈ {−1, +1}
데이터가 선형 분리 가능하다면 기준선을 그을 수 있다.
ˆyi =



+1 wT xi + b > 0
−1 otherwise
3 / 14
Linearly separable binary classification (cont’d)
어떤 선을 그을까?
1. 두 점 잡아서 수직이등분선 긋기 (?)
2. Perceptron: 일단 하나 긋고 예측 오차 계산해서 데이터에
맞게 점점 수렴해가기
3. Logistic regression: p(yi |xi )를 로지스틱 형태로 가정 후
maximum likelihood 추정. convex하기 때문에 stochastic
gradient descent로 빠르게 구할 수 있다.
4. Fisher’s linear discriminant: 각 class 별로 평균과 공분산을
구한 후, σ2
between/σ2
within을 최대로 하는 선 긋기
5. Maximal margin classifer: margin을 최대로 하는 선 긋기
4 / 14
Maximal margin classifier
margin := 기준선까지의 최소 거리
값이 클수록 데이터를 잘 분리한다.
5 / 14
Maximal margin classifier (cont’d)
i.e., maximize w −1 subject to yi (wT xi + b) ≥ 1
maximize w −1를 minimize 1
2wT w로 바꾸자.
라그랑지 승수법으로 풀 수 있다.
L =
1
2
wT
w +
N
i=1
λi (1 − yi (wT
xi + b)),
∂L
∂w
= 0
min
w
max
λ
L(w, b, λ) s.t. λi ≥ 0
6 / 14
Maximal margin classifier (cont’d)
Dual problem*:
max
λ
min
w
L(w, b, λ)
미분해서 식을 잘 정리하면:
maximize
i
λi −
1
2
i j
λi λj yi yj xT
i xj
subject to λi ≥ 0,
i
λi yi = 0
Quadratic programming!
7 / 14
Support vectors
앞에서 QP로 얻어진 λi 로부터 w와 b를 계산하자.
w = i λi yi xi
For b, Let g(xi ) = 1 − yi (wT xi + b).
KKT conditions say ∀i λi g(xi ) = 0.
∴ b = yi − wT xi for some i such that λi > 0
이 때 b를 계산해주는 xi 들을 support vectors라고 부른다.
이제 알고리즘을 확장해서 다른 문제들도 풀어보자.
8 / 14
Kernel trick
적당한 mapping φ : Rd → Rn을 통해 Linearly seperable
문제로 바꿀 수 있는 경우, 앞선 QP 식에서 xi , xj 대신
φ(xi ), φ(xj ) 로 바꾸어 풀면 된다.
이 때 함수 K(x, y) := φ(x), φ(y) 형태를 미리 알고 있다면
φ로 mapping을 하지 않고도 빠르게 계산할 수 있다.
이런 K(x, y)를 kernel이라 부른다.
좋은 점 (Mercer 정리): ∃φ s.t. K(x, y) = φ(x), φ(y) iff
K(x, y)가 positive semidefinite
예를 들어 RBF kernel K(x, y) = exp(−1
2 x − y
2
)에
대응되는 φ는 Rd → R∞
9 / 14
Regularization
앞선 SVM은 잡음, 오차 등의 outliers에 취약하다.
slack term ei 을 집어넣어서 해결하자.
최적화 문제가 다음과 같이 바뀐다.
minimize
1
2
wT
w + C ei
subject to yi (wT
xi + b) ≥ 1 − ei , ei ≥ 0
여기서 C는 얼마나 많은 오차를 허용할 것인지 결정한다.
10 / 14
Regularization (cont’d)
다시 라그랑지 승수법에 듀얼을 취해 식을 정리하면
maximize
i
λi −
1
2
i j
λi λj yi yj xT
i xj
subject to 0 ≤ λi ≤ C,
i
λi yi = 0
이전과 비교하면 constraints에 λi ≤ C 가 추가되었다.
Sequential minimal optimization으로 빠르게 풀 수 있다.
11 / 14
n-class classification
one-vs-all을 n개 만들어서 풀기. 성능은 별로다.
one-vs-one을 n
2 개 만들어서 majority voting.
loss function을 확장해서 SVM 하나로 푸는 시도들도 있다.
12 / 14
Regression
f (x) = wT x + b로 모델링.
오차를 > 0 이내로 하면서 가장 평평한 함수를 찾는다.
minimize
1
2
wT
w
subject to − ≤ yi − (wT
xi + b) ≤
앞과 같이 라그랑지 승수법에 듀얼을 취한 후 QP를 푼다.
13 / 14
Structured SVM
SVM은 trees, sequences 같은 structure도 학습할 수 있다.
Regularized risk function minimization as QP
minimize
1
2
wT
w + C ei
subject to wT
Ψ(xi , yi ) − wT
Ψ(xi , y) + ei ≥ ∆(yn, y) ∀y
Ψ : X × Y → Rd : feature function
∆ : Y × Y → R+: loss function
학습 후 예측은
y∗
= argmin
y∈Y
wT
Ψ(x, y)
14 / 14

Weitere ähnliche Inhalte

Was ist angesagt?

[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신Haesun Park
 
머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian Processes머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian ProcessesJungkyu Lee
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)홍배 김
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners홍배 김
 
7. Linear Regression
7. Linear Regression7. Linear Regression
7. Linear RegressionJungkyu Lee
 
4.convolutional neural networks
4.convolutional neural networks4.convolutional neural networks
4.convolutional neural networksHaesun Park
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련Haesun Park
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리종현 최
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개Terry Cho
 
밑바닥부터 시작하는 딥러닝_신경망학습
밑바닥부터 시작하는 딥러닝_신경망학습밑바닥부터 시작하는 딥러닝_신경망학습
밑바닥부터 시작하는 딥러닝_신경망학습Juhui Park
 
Murpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelMurpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelJungkyu Lee
 
집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01Kwang Woo NAM
 
keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)beom kyun choi
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learningYongdae Kim
 
머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear ModelJungkyu Lee
 
머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear ModelJungkyu Lee
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지Haesun Park
 
사이킷런 최신 변경 사항 스터디
사이킷런 최신 변경 사항 스터디사이킷런 최신 변경 사항 스터디
사이킷런 최신 변경 사항 스터디Haesun Park
 
[신경망기초] 신경망의시작-퍼셉트론
[신경망기초] 신경망의시작-퍼셉트론[신경망기초] 신경망의시작-퍼셉트론
[신경망기초] 신경망의시작-퍼셉트론jaypi Ko
 

Was ist angesagt? (20)

[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
 
머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian Processes머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian Processes
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners
 
7. Linear Regression
7. Linear Regression7. Linear Regression
7. Linear Regression
 
4.convolutional neural networks
4.convolutional neural networks4.convolutional neural networks
4.convolutional neural networks
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
 
밑바닥부터 시작하는 딥러닝_신경망학습
밑바닥부터 시작하는 딥러닝_신경망학습밑바닥부터 시작하는 딥러닝_신경망학습
밑바닥부터 시작하는 딥러닝_신경망학습
 
Murpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelMurpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical Model
 
집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01
 
keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learning
 
머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model
 
머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model머피's 머신러닝: Latent Linear Model
머피's 머신러닝: Latent Linear Model
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
 
사이킷런 최신 변경 사항 스터디
사이킷런 최신 변경 사항 스터디사이킷런 최신 변경 사항 스터디
사이킷런 최신 변경 사항 스터디
 
Digit recognizer
Digit recognizerDigit recognizer
Digit recognizer
 
[신경망기초] 신경망의시작-퍼셉트론
[신경망기초] 신경망의시작-퍼셉트론[신경망기초] 신경망의시작-퍼셉트론
[신경망기초] 신경망의시작-퍼셉트론
 

Andere mochten auch

Support Vector Machine Tutorial 한국어
Support Vector Machine Tutorial 한국어Support Vector Machine Tutorial 한국어
Support Vector Machine Tutorial 한국어Jungkyu Lee
 
머신러닝 시그 세미나_(deep learning for visual recognition)
머신러닝 시그 세미나_(deep learning for visual recognition)머신러닝 시그 세미나_(deep learning for visual recognition)
머신러닝 시그 세미나_(deep learning for visual recognition)Yonghoon Kwon
 
[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개NAVER D2
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거도형 임
 
Swift 3 Programming for iOS : Closure
Swift 3 Programming for iOS  : ClosureSwift 3 Programming for iOS  : Closure
Swift 3 Programming for iOS : ClosureKwang Woo NAM
 
[공간정보시스템 개론] L07 원격탐사의 개념과 활용
[공간정보시스템 개론] L07 원격탐사의 개념과 활용[공간정보시스템 개론] L07 원격탐사의 개념과 활용
[공간정보시스템 개론] L07 원격탐사의 개념과 활용Kwang Woo NAM
 
[공간정보시스템 개론] L08 gnss의 개념과 활용
[공간정보시스템 개론] L08 gnss의 개념과 활용[공간정보시스템 개론] L08 gnss의 개념과 활용
[공간정보시스템 개론] L08 gnss의 개념과 활용Kwang Woo NAM
 
[공간정보시스템 개론] L06 GIS의 이해
[공간정보시스템 개론] L06 GIS의 이해[공간정보시스템 개론] L06 GIS의 이해
[공간정보시스템 개론] L06 GIS의 이해Kwang Woo NAM
 
[공간정보시스템 개론] L05 우리나라의 수치지도
[공간정보시스템 개론] L05 우리나라의 수치지도[공간정보시스템 개론] L05 우리나라의 수치지도
[공간정보시스템 개론] L05 우리나라의 수치지도Kwang Woo NAM
 
Swift 3 Programming for iOS : subscript init
Swift 3 Programming for iOS : subscript initSwift 3 Programming for iOS : subscript init
Swift 3 Programming for iOS : subscript initKwang Woo NAM
 
Swift 3 Programming for iOS: error handling
Swift 3 Programming for iOS: error handlingSwift 3 Programming for iOS: error handling
Swift 3 Programming for iOS: error handlingKwang Woo NAM
 
Computer vision lab seminar(deep learning) yong hoon
Computer vision lab seminar(deep learning) yong hoonComputer vision lab seminar(deep learning) yong hoon
Computer vision lab seminar(deep learning) yong hoonYonghoon Kwon
 
음성인식기술을 이용한 일본드라마 감성분석
음성인식기술을 이용한 일본드라마  감성분석음성인식기술을 이용한 일본드라마  감성분석
음성인식기술을 이용한 일본드라마 감성분석cyberemotion
 
인공시각 인지기술을 활용한 11번가 유사 의류영상 검색 시스템
인공시각 인지기술을 활용한 11번가 유사 의류영상 검색 시스템인공시각 인지기술을 활용한 11번가 유사 의류영상 검색 시스템
인공시각 인지기술을 활용한 11번가 유사 의류영상 검색 시스템taey16
 
머신러닝 시그 에이다부스트 07
머신러닝 시그 에이다부스트 07머신러닝 시그 에이다부스트 07
머신러닝 시그 에이다부스트 07Yonghoon Kwon
 
Meetup history
Meetup historyMeetup history
Meetup historyMk Kim
 
Swift 3 Programming for iOS : Enumeration
Swift 3 Programming for iOS : EnumerationSwift 3 Programming for iOS : Enumeration
Swift 3 Programming for iOS : EnumerationKwang Woo NAM
 
Swift 3 Programming for iOS : class and structure
Swift 3 Programming for iOS : class and structureSwift 3 Programming for iOS : class and structure
Swift 3 Programming for iOS : class and structureKwang Woo NAM
 
Swift 3 Programming for iOS: Function
Swift 3 Programming for iOS: FunctionSwift 3 Programming for iOS: Function
Swift 3 Programming for iOS: FunctionKwang Woo NAM
 

Andere mochten auch (20)

Support Vector Machine Tutorial 한국어
Support Vector Machine Tutorial 한국어Support Vector Machine Tutorial 한국어
Support Vector Machine Tutorial 한국어
 
머신러닝 시그 세미나_(deep learning for visual recognition)
머신러닝 시그 세미나_(deep learning for visual recognition)머신러닝 시그 세미나_(deep learning for visual recognition)
머신러닝 시그 세미나_(deep learning for visual recognition)
 
Hacker News
Hacker NewsHacker News
Hacker News
 
[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
 
Swift 3 Programming for iOS : Closure
Swift 3 Programming for iOS  : ClosureSwift 3 Programming for iOS  : Closure
Swift 3 Programming for iOS : Closure
 
[공간정보시스템 개론] L07 원격탐사의 개념과 활용
[공간정보시스템 개론] L07 원격탐사의 개념과 활용[공간정보시스템 개론] L07 원격탐사의 개념과 활용
[공간정보시스템 개론] L07 원격탐사의 개념과 활용
 
[공간정보시스템 개론] L08 gnss의 개념과 활용
[공간정보시스템 개론] L08 gnss의 개념과 활용[공간정보시스템 개론] L08 gnss의 개념과 활용
[공간정보시스템 개론] L08 gnss의 개념과 활용
 
[공간정보시스템 개론] L06 GIS의 이해
[공간정보시스템 개론] L06 GIS의 이해[공간정보시스템 개론] L06 GIS의 이해
[공간정보시스템 개론] L06 GIS의 이해
 
[공간정보시스템 개론] L05 우리나라의 수치지도
[공간정보시스템 개론] L05 우리나라의 수치지도[공간정보시스템 개론] L05 우리나라의 수치지도
[공간정보시스템 개론] L05 우리나라의 수치지도
 
Swift 3 Programming for iOS : subscript init
Swift 3 Programming for iOS : subscript initSwift 3 Programming for iOS : subscript init
Swift 3 Programming for iOS : subscript init
 
Swift 3 Programming for iOS: error handling
Swift 3 Programming for iOS: error handlingSwift 3 Programming for iOS: error handling
Swift 3 Programming for iOS: error handling
 
Computer vision lab seminar(deep learning) yong hoon
Computer vision lab seminar(deep learning) yong hoonComputer vision lab seminar(deep learning) yong hoon
Computer vision lab seminar(deep learning) yong hoon
 
음성인식기술을 이용한 일본드라마 감성분석
음성인식기술을 이용한 일본드라마  감성분석음성인식기술을 이용한 일본드라마  감성분석
음성인식기술을 이용한 일본드라마 감성분석
 
인공시각 인지기술을 활용한 11번가 유사 의류영상 검색 시스템
인공시각 인지기술을 활용한 11번가 유사 의류영상 검색 시스템인공시각 인지기술을 활용한 11번가 유사 의류영상 검색 시스템
인공시각 인지기술을 활용한 11번가 유사 의류영상 검색 시스템
 
머신러닝 시그 에이다부스트 07
머신러닝 시그 에이다부스트 07머신러닝 시그 에이다부스트 07
머신러닝 시그 에이다부스트 07
 
Meetup history
Meetup historyMeetup history
Meetup history
 
Swift 3 Programming for iOS : Enumeration
Swift 3 Programming for iOS : EnumerationSwift 3 Programming for iOS : Enumeration
Swift 3 Programming for iOS : Enumeration
 
Swift 3 Programming for iOS : class and structure
Swift 3 Programming for iOS : class and structureSwift 3 Programming for iOS : class and structure
Swift 3 Programming for iOS : class and structure
 
Swift 3 Programming for iOS: Function
Swift 3 Programming for iOS: FunctionSwift 3 Programming for iOS: Function
Swift 3 Programming for iOS: Function
 

Support Vector Machines

  • 2. 큰 그림 쉬운 문제부터 잘 풀고 조금씩 확장 Linearly separable binary classification 문제부터 풀어보자. Solution: Maximal margin classifer ⇒ Linear SVM Non-linearly separable 경우도 풀고 싶다. ⇒ Kernel trick 잡음, 오차 등이 끼어들면 어떡하지? ⇒ Regularization n-class classification 문제도 풀고 싶다. ⇒ Multiclass SVM Regression 문제도 풀고 싶다. ⇒ Support vector regression Structure prediction 문제도 풀고 싶다. ⇒ Structured SVM 2 / 14
  • 3. Linearly separable binary classification 먼저 이진 분류 문제를 생각해보자. {(xi , yi )}N i=1 xi ∈ Rd yi ∈ {−1, +1} 데이터가 선형 분리 가능하다면 기준선을 그을 수 있다. ˆyi =    +1 wT xi + b > 0 −1 otherwise 3 / 14
  • 4. Linearly separable binary classification (cont’d) 어떤 선을 그을까? 1. 두 점 잡아서 수직이등분선 긋기 (?) 2. Perceptron: 일단 하나 긋고 예측 오차 계산해서 데이터에 맞게 점점 수렴해가기 3. Logistic regression: p(yi |xi )를 로지스틱 형태로 가정 후 maximum likelihood 추정. convex하기 때문에 stochastic gradient descent로 빠르게 구할 수 있다. 4. Fisher’s linear discriminant: 각 class 별로 평균과 공분산을 구한 후, σ2 between/σ2 within을 최대로 하는 선 긋기 5. Maximal margin classifer: margin을 최대로 하는 선 긋기 4 / 14
  • 5. Maximal margin classifier margin := 기준선까지의 최소 거리 값이 클수록 데이터를 잘 분리한다. 5 / 14
  • 6. Maximal margin classifier (cont’d) i.e., maximize w −1 subject to yi (wT xi + b) ≥ 1 maximize w −1를 minimize 1 2wT w로 바꾸자. 라그랑지 승수법으로 풀 수 있다. L = 1 2 wT w + N i=1 λi (1 − yi (wT xi + b)), ∂L ∂w = 0 min w max λ L(w, b, λ) s.t. λi ≥ 0 6 / 14
  • 7. Maximal margin classifier (cont’d) Dual problem*: max λ min w L(w, b, λ) 미분해서 식을 잘 정리하면: maximize i λi − 1 2 i j λi λj yi yj xT i xj subject to λi ≥ 0, i λi yi = 0 Quadratic programming! 7 / 14
  • 8. Support vectors 앞에서 QP로 얻어진 λi 로부터 w와 b를 계산하자. w = i λi yi xi For b, Let g(xi ) = 1 − yi (wT xi + b). KKT conditions say ∀i λi g(xi ) = 0. ∴ b = yi − wT xi for some i such that λi > 0 이 때 b를 계산해주는 xi 들을 support vectors라고 부른다. 이제 알고리즘을 확장해서 다른 문제들도 풀어보자. 8 / 14
  • 9. Kernel trick 적당한 mapping φ : Rd → Rn을 통해 Linearly seperable 문제로 바꿀 수 있는 경우, 앞선 QP 식에서 xi , xj 대신 φ(xi ), φ(xj ) 로 바꾸어 풀면 된다. 이 때 함수 K(x, y) := φ(x), φ(y) 형태를 미리 알고 있다면 φ로 mapping을 하지 않고도 빠르게 계산할 수 있다. 이런 K(x, y)를 kernel이라 부른다. 좋은 점 (Mercer 정리): ∃φ s.t. K(x, y) = φ(x), φ(y) iff K(x, y)가 positive semidefinite 예를 들어 RBF kernel K(x, y) = exp(−1 2 x − y 2 )에 대응되는 φ는 Rd → R∞ 9 / 14
  • 10. Regularization 앞선 SVM은 잡음, 오차 등의 outliers에 취약하다. slack term ei 을 집어넣어서 해결하자. 최적화 문제가 다음과 같이 바뀐다. minimize 1 2 wT w + C ei subject to yi (wT xi + b) ≥ 1 − ei , ei ≥ 0 여기서 C는 얼마나 많은 오차를 허용할 것인지 결정한다. 10 / 14
  • 11. Regularization (cont’d) 다시 라그랑지 승수법에 듀얼을 취해 식을 정리하면 maximize i λi − 1 2 i j λi λj yi yj xT i xj subject to 0 ≤ λi ≤ C, i λi yi = 0 이전과 비교하면 constraints에 λi ≤ C 가 추가되었다. Sequential minimal optimization으로 빠르게 풀 수 있다. 11 / 14
  • 12. n-class classification one-vs-all을 n개 만들어서 풀기. 성능은 별로다. one-vs-one을 n 2 개 만들어서 majority voting. loss function을 확장해서 SVM 하나로 푸는 시도들도 있다. 12 / 14
  • 13. Regression f (x) = wT x + b로 모델링. 오차를 > 0 이내로 하면서 가장 평평한 함수를 찾는다. minimize 1 2 wT w subject to − ≤ yi − (wT xi + b) ≤ 앞과 같이 라그랑지 승수법에 듀얼을 취한 후 QP를 푼다. 13 / 14
  • 14. Structured SVM SVM은 trees, sequences 같은 structure도 학습할 수 있다. Regularized risk function minimization as QP minimize 1 2 wT w + C ei subject to wT Ψ(xi , yi ) − wT Ψ(xi , y) + ei ≥ ∆(yn, y) ∀y Ψ : X × Y → Rd : feature function ∆ : Y × Y → R+: loss function 학습 후 예측은 y∗ = argmin y∈Y wT Ψ(x, y) 14 / 14