SlideShare a Scribd company logo
1 of 57
Download to read offline
윤 정 훈
Classification
(분류)
Supervised Learning
𝑓 ∶ 𝕩 → 𝑌
Given samples 𝑋 = ( 𝕩1, 𝑦1 , 𝕩2, 𝑦2 , … , (𝕩 𝑁, 𝑦 𝑁))
find!
http://cs.stanford.edu/people/karpathy/svmjs/demo/
Question 1) 좋은 분류기(classifier)란?
Question 2) 분류기의 분류 기준은?
○ Bayesian Classifier : Error, Risk를 minimize
(Likelihood or MAP 분포에서의 오류영역)
1. 데이터는 2차원 공간의 point라고 가정 : feature가 2개
2. 하늘색 point ∈ 𝑐1, 빨간색 point ∈ 𝑐2 라고 가정
𝑥1
𝑥2
𝑐1
𝑐2
① ② ③
어떤 분류 직선을 선택하겠는가?
𝑥1
𝑥2
𝑐1
𝑐2
① ② ③
𝑐1에서 발생하는 패턴에서 살짝 변형이 생겨
직선 2를 넘어가게 되면??
분류 직선을 선택함에 있어서, 중요하게 고려되어야 할 요소 : Generalization
(미래에 발생할 미지의 패턴을 얼마나 잘 분류하는가?)
𝑥1
𝑥2
𝑐1
𝑐2
③
Generalization을 극대화
(패턴에서 어느정도의 변형이 발생해도 오분류 되지 않도록 한다.)
부류 사이에 여유를 두자. 즉 여백(margin)을 크게 만들고, 반으로 나누자.
𝕩 = 𝑥1, 𝑥2, … , 𝑥 𝑛 ∈ ℝ 𝑛, 𝕨 = 𝑤1, 𝑤2, … , 𝑤 𝑛 ∈ ℝ 𝑛, 𝑏 ∈ ℝ
𝑑 𝕩 = 𝕨 𝑇
𝕩 + 𝑏 = 0
 𝑑(𝕩)은 특징 공간을 두 영역으로 분할한다.
○ 𝑐1은 𝑑 𝕩 > 0인 영역
○ 𝑐2은 𝑑 𝕩 < 0인 영역
 하나의 초평면을 표현하는 식은 여럿 있다.
 𝕨 : normal vector(초평면의 방향), 𝑏 : 초평면의 위치
 임의의 점 𝕩1에서 초평면까지의 거리
𝒉 =
𝒅 𝕩 𝟏
𝕨
Decision Hyperplane
𝑐1
𝑐2
𝑑 𝕩 = 0𝑑 𝕩 > 0
𝑑 𝕩 < 0
결정 초평면 (decision hyperplane)
 Constrained optimization problem (primal problem)
○ 𝕩 ∈ ℝ 𝑛
is the optimization variable.
○ 𝑓0: ℝ 𝑛
→ ℝ is the objective function or cost function. (목적 함수)
○ 𝑓𝑖: ℝ 𝑛
→ ℝ, 𝑖 = 1, … , 𝑚, are inequality constraint functions.
○ ℎ𝑖: ℝ 𝑛
→ ℝ, 𝑖 = 1, … , 𝑝, are equality constraint functions.
○ optimal value 𝑝⋆
𝑝⋆
= inf 𝑓0 𝕩 𝑓𝑖 𝕩 ≤ 0, 𝑖 = 1, … , 𝑚, ℎ𝑖 𝕩 = 0, 𝑖 = 1, … , 𝑝}
조건부 최적화 문제
minimize 𝑓0(𝕩)
subject to 𝑓𝑖 𝕩 ≤ 0 , 𝑖 = 1, … , 𝑚
ℎ𝑖 𝕩 = 0 , 𝑖 = 1, … , 𝑝
 Affine set
○ 𝐶 ⊂ ℝ 𝑛
is affine → 𝐶 안의 2개의 서로 다른 point를 지나는 line이 𝐶에 속할 때.
○ 쉬운 예로, 평면 or hyperplane 등이 있다.
 Convex set
○ 𝐶 ⊂ ℝ 𝑛
is convex → 𝐶 안의 2개의 서로 다른 point를 지나는 line segment가 𝐶에 속할
때.
○ 쉬운 예로, 원 or 오각형 등이 있다.
Affine / Convex
convex set (오각형)convex set (평면)
line
line segment
 Affine function
○ a function composed of a linear function and constant (translation)
○ in 1-dim : 𝑦 = 𝐴𝑥 + 𝐶
○ in 2-dim : 𝑓 𝑥, 𝑦 = 𝐴𝑥 + 𝐵𝑦 + 𝐶
○ in 3-dim : 𝑓 𝑥, 𝑦, 𝑧 = 𝐴𝑥 + 𝐵𝑦 + 𝐶𝑧 + 𝐷
translation : a transformation consisting of a constant offset with no rotation or distortion
Affine function
 𝑓: ℝ 𝑛 → ℝ is convex if 𝐝𝐨𝐦 𝑓 is convex and
𝑓 𝜃𝕩 + 1 − 𝜃 𝕪 ≤ 𝜃𝑓 𝕩 + 1 − 𝜃 𝑓 𝕪
for ∀𝕩, 𝕪 ∈ 𝐝𝐨𝐦 𝑓, 0 ≤ 𝜃 ≤ 1.
○ 𝑓 is concave if −𝑓 is convex.
(𝕪, 𝑓(𝕪))
(𝕩, 𝑓(𝕩))
𝑓(𝜃𝕩 + 1 − 𝜃 𝕪)
𝜃𝕩 + 1 − 𝜃 𝕪
𝜃𝑓 𝕩 + 1 − 𝜃 𝑓 𝕪 의 minimum
𝐝𝐨𝐦 𝑓 : 함수 𝑓의 유효한 입력 값의 집합. 이 영역을 𝑓가 define되는 영역이라고도 표현 한다.
Convex function
 convex optimization problem
○ 𝑓0, … , 𝑓𝑚 are convex.
○ ℎ𝑖 𝕩 = 𝕒𝑖
𝑇
𝕩 − 𝑏𝑖 , 𝑖 = 1, … , 𝑝 are affine.
○ The feasible set of a convex optimization problem is convex.
① Since 𝑓1, … , 𝑓𝑚 are convex, ‫ځ‬𝑖=1
𝑚
𝐝𝐨𝐦 𝑓𝑖 is convex.
② Since 𝕩 𝕒𝑖 𝕩 = 𝑏𝑖} is hyperplane, ‫ځ‬𝑖=1
𝑝
𝕩 𝕒𝒊 𝕩 = 𝑏𝑖} is affine (i.e convex).
○ In a convex optimization, we minimize a convex objective function over a convex set.
convex optimization
minimize 𝑓0(𝕩)
subject to 𝑓𝑖 𝕩 ≤ 0 , 𝑖 = 1, … , 𝑚
𝕒𝑖
𝑇
𝕩 = 𝑏𝑖 , 𝑖 = 1, … , 𝑝
 Lagrangian ℒ: ℝ 𝑛 × ℝ 𝑚 × ℝ 𝑝 → ℝ,
ℒ 𝕩, Λ, 𝑉 = 𝑓𝑜 𝕩 + ෍
𝑖=1
𝑚
𝜆𝑖 𝑓𝑖(𝕩) + ෍
𝑖=1
𝑝
𝑣𝑖ℎ𝑖(𝕩)
with, 𝐝𝐨𝐦 ℒ = ‫ځ‬𝑖=1
𝑚
𝐝𝐨𝐦 𝑓𝑖 ∩ ‫ځ‬𝑖=1
𝑝
𝐝𝐨𝐦 ℎ𝑖 × ℝ 𝑚
× ℝ 𝑝
○ 𝜆𝑖 is Lagrange multiplier associated with 𝑓𝑖 𝕩 ≤ 0 and 𝜦 = (𝝀 𝟏, … , 𝝀 𝒎)
○ 𝑣𝑖 is Lagrange multiplier associated with ℎ𝑖 𝕩 = 0 and 𝑉 = (𝒗 𝟏, … , 𝒗 𝒑)
Lagrangian
 Lagrange dual function 𝑔: ℝ 𝑚 × ℝ 𝑝 → ℝ
 Lagrange dual problem
○ 𝑔(Λ, 𝑉) is concave and constraints are convex, so this is convex optimization
problem.
○ Lagrange dual problem의 해(Λ⋆
, 𝑉⋆
)는 primal problem(𝕩⋆
) 해의 lower bound를 제공
한다.
inf ℒ(𝕩⋆
, Λ⋆
, 𝑉⋆
) ≤ 𝑓0(𝕩⋆
)
𝑔 Λ, 𝑉 = inf
𝕩∈𝒟
ℒ(𝕩, Λ, 𝑉 ) = inf
𝕩∈𝒟
𝑓0 𝕩 + ෍
𝑖=1
𝑚
𝜆𝑖 𝑓𝑖 𝕩 + ෍
𝑖=1
𝑝
𝑣𝑖ℎ𝑖 𝕩
Lagrange dual function /
Lagrange dual problem
maximize 𝑔(Λ, 𝑉)
subject to Λ ≽ 0
How to make it coincide?
 If
○ 𝑓𝑖 are convex (목적함수, inequality constraint)
○ ℎ𝑖 are affine (equality constraint)
○ 𝕩⋆
, Λ⋆
, 𝑉⋆
satisfy KKT condition
 Then
○ 𝕩⋆
is primal optimal and (Λ⋆
, 𝑉⋆
) is dual optimal with zero duality gap.
○ 두 개의 해가 같아진다.
KKT condition and
zero duality
KKT conditions
𝑓𝑖 𝕩′ ≤ 0, 𝑖 = 1, … , 𝑚
ℎ𝑖 𝕩′ = 0, 𝑖 = 1, … , 𝑝
𝜆𝑖
′
≥ 0, 𝑖 = 1, … , 𝑚
𝜆𝑖
′
𝑓𝑖 𝕩′ = 0, 𝑖 = 1, … , 𝑚
𝛻𝑓0 𝕩′ + σ𝑖=1
𝑚
𝜆𝑖
′
𝛻𝑓𝑖(𝕩′) + σ𝑖=1
𝑝
𝑣𝑖
′
𝛻ℎ𝑖(𝕩′) = 0
primal constraints
dual constraints
complementary slackness
gradient Lagrangian
with respect to 𝕩 vanishes at 𝕩′
 Wolfe duality problem
○ 𝑓0 is convex.
○ 𝑓𝑖, 𝑔𝑖 are differentiable. (Lagrange dual problem → Wolfe duality problem)
○ 제약조건이 KKT conditions에 있는 조건들에 이미 포함되므로, 이 문제의 해를 구하는
것이 primal problem의 해를 구하는 것과 동일하다.
maximize 𝑓0 𝕩 + σ𝑖=1
𝑚
𝜆𝑖 𝑓𝑖 𝕩 + σ𝑖=1
𝑝
𝑣𝑖ℎ𝑖 𝕩
subject to Λ ≽ 0
𝛻𝑓0 𝕩 + σ𝑖=1
𝑚
𝜆𝑖
′
𝛻𝑓𝑖(𝕩) + σ𝑖=1
𝑝
𝑣𝑖
′
𝛻ℎ𝑖(𝕩) = 0
Wolfe duality
ℒ(𝕩, Λ, 𝑉)
 SVM의 concept은 여백(margin)에서 시작한다.
 두 부류의 샘플 사이의 여백(margin)의 크기를 극대화하는 분류직선을 찾는다.
○ 여백(margin) : 결정 초평면(직선)으로부터 가장 가까운 샘플까지의 거리의 2배
𝑥1
𝑥2
𝑐1
𝑐2
margin
How to find the best margin?
𝑥1
𝑥2
𝑐1
𝑐2
margin
separation band separation band
선형 SVM
비선형 SVM
선형 분리 가능한 상황
𝑥1
𝑥2
𝑐1
𝑐2
separation band
(분할 띠 안에 데이터가 존재하지 않을 때)
 Problem : margin을 극대화하는 분류직선을 찾아라.
○ support vector, 𝕩 𝑠: 분류직선으로부터 가장 가까운 sample
○ margin의 크기 =
2 𝑑 𝕩 𝑠
𝕨
=
2
𝕨
(직선의 방정식은 rescale이 가능함. 편의상 1로 계산)
○ 훈련집합 𝑋 = { 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , 𝕩 𝑛, 𝑡 𝑛 }
① if 𝕩𝑖 ∈ 𝑐1, then 𝑡𝑖 = 1
② if 𝕩𝑖 ∈ 𝑐2, then 𝑡𝑖 = −1
※ 가정 : 모든 샘플을 옳게 분류한다. 즉 모든 샘플이 분할 띠의 바깥에 놓여있다.
maximize
2
𝕨
subject to 𝕨 𝑇
𝕩𝑖 + 𝑏 ≥ 1 ∀𝕩𝑖 ∈ 𝑐1
𝕨 𝑇
𝕩𝑖 + 𝑏 ≤ −1 ∀𝕩𝑖 ∈ 𝑐2
 Primal problem (조건부 최적화 문제)
○
2
𝕨
를 최대화하는 문제는 비용함수
𝕨 2
2
를 최소화하는 문제로 변형할 수 있다.
① 𝐽 𝕨 =
1
2
𝕨 2
는 𝕨 의 2차식으로 이루어져 있기 때문에 convex 함수이다.
② inequality constrain가 모두 선형이기 때문에 convex 함수이다.
③ inequality constrain을 만족시키는 영역(feasible)은 convex set이다.
○ Primal problem은 convex optimization problem이다.
○ Primal problem의 해는 global solution이 된다.
minimize 𝑱 𝕨 =
𝟏
𝟐
𝕨 𝟐
subject to 𝒕𝒊 𝕨 𝑻
𝕩𝒊 + 𝒃 ≥ 𝟏 , 𝒊 = 𝟏, … , 𝑵
○ Primal problem을 아래와 같은 순서로 변형시킬 것이다.
Primal problem
Lagrange dual problem
Wolfe dual problem
조건부 최적화 문제
- Lagrangian 사용
- Lagrange dual function 사용
- Objective(Cost) function : convex
- constraints are differentiable.
 Lagrangian of primal problem
○ 𝕒 = 𝛼1, … , 𝛼 𝑁
𝑇
를 Lagrange multiplier라고 하자. 𝛼𝑖 ≥ 0 for 𝑖 = 1, … , 𝑁
ℒ 𝕨, 𝑏, 𝕒 =
1
2
𝕨 2 − ෍
𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1
 Lagrange dual function of primal problem
𝑔 𝕒 = inf
𝕨,𝑏
ℒ(𝕨, 𝑏, 𝕒) = inf
𝕨,𝑏
1
2
𝕨 2 − ෍
𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1
 Lagrange dual problem of primal problem
maximize 𝑔 𝕒 = inf
𝕨,𝑏
ℒ(𝕨, 𝑏, 𝕒)
subject to 𝕒 ≽ 0
 Wolfe dual problem
○ 목적함수
1
2
𝕨 2
는 convex 함수이다.
○ 목적함수와 제약조건식이 모두 미분 가능하다.
maximize ℒ 𝕨, 𝑏, 𝕒 =
1
2
𝕨 2
− σ𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 𝕨 𝑇
𝕩𝑖 + 𝑏 − 1
subject to 𝕒 ≽ 0,
𝜕ℒ
𝜕𝕨
= 0,
𝜕ℒ
𝜕𝑏
= 0
𝛼𝑖 ≥ 0, 𝑖 = 1, … , 𝑁 𝕨 = ෍
𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 𝕩𝑖 ෍
𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 = 0
maximize ℒ 𝕒 = σ𝑖=1
𝑁
𝛼𝑖 −
1
2
σ𝑖=1
𝑁
σ 𝑗=1
𝑁
𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗 𝕩𝑖
𝑇
𝕩𝑗
subject to 𝛼𝑖 ≥ 0, 𝑖 = 1, … , 𝑁
σ𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 = 0
 한 개의 등식 조건과 𝑁개의 부등식 조건을 가진 2차(quadratic) 목적 함수의 최대
화 문제
 𝕨, 𝑏를 구하는 문제가 아닌, Lagrange multiplier 𝕒를 구하는 문제로 변경됨
 목적 함수에서 특징 벡터 𝕩𝑖가 혼자 나타나지 않고, 두 개의 특징 벡터의 내적
𝕩𝒊
𝑻
𝕩𝒋으로 나타남
 𝑁2의 항을 계산해야 함
maximize ℒ 𝕒 = σ𝑖=1
𝑁
𝛼𝑖 −
1
2
σ𝑖=1
𝑁
σ 𝑗=1
𝑁
𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗 𝕩𝑖
𝑇
𝕩𝑗
subject to 𝛼𝑖 ≥ 0, 𝑖 = 1, … , 𝑁
σ𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 = 0
선형 분리 불가능한 상황
(Soft margin)
𝑥1
𝑥2
𝑐1
𝑐2
separation band
(분할 띠 안에 데이터가 존재하거나, 분류오류가 생기는 경우)
𝑥1
𝑥2
𝑐1
𝑐2
separation band
①
③
②
① 분할 띠의 경계에 있거나(support vector), 분할 띠의 바깥에 있다.
⇒ 𝟏 ≤ 𝒕(𝕨 𝑻
𝕩 + 𝒃)
② 분할 띠의 안쪽에 있고, 자기가 속한 부류의 영역에 있다.
⇒ 𝟎 ≤ 𝒕 𝕨 𝑻
𝕩 + 𝒃 < 𝟏
③ 결정 경계를 넘어 자신이 속하지 않은 부류의 영역에 있다.
⇒ 𝒕 𝕨 𝑻 𝕩 + 𝒃 < 𝟎
𝑥1
𝑥2
𝑐1
𝑐2
separation band
①
③
②
① 𝟏 ≤ 𝒕(𝕨 𝑻
𝕩 + 𝒃) ⇒ 𝜉 = 0
② 𝟎 ≤ 𝒕 𝕨 𝑻 𝕩 + 𝒃 < 𝟏 ⇒ 0 < 𝜉 ≤ 1
③ 𝒕 𝕨 𝑻 𝕩 + 𝒃 < 𝟎 ⇒ 𝜉 > 1
slack 변수 𝜉를 사용하여, 3가지 경우를, 하나의 식으로 표현
𝒕 𝕨 𝑻 𝕩 + 𝒃 ≥ 𝟏 − 𝝃
𝑥1
𝑥2
𝑐1
𝑐2
separation band
①
③
②
우리가 해결해야 할 문제는 다음 2개의 목적을 만족시켜야 한다.
- 목적 1 : margin을 최대화 시켜야 한다.
- 목적 2 : ②, ③ 경우에 해당하는 샘플의 수를 최소한으로 줄여야 한다.
𝑥1
𝑥2
𝑐1
𝑐2
2가지의 목적에 맞게 목적함수를 아래와 같이 변경하도록 한다.
Ξ = (𝜉1, … , 𝜉 𝑁)라고 하자.
𝐽 𝕨, Ξ =
1
2
𝕨 2
+ 𝐶 ෍
𝑖=1
𝑁
𝜉𝑖
두 가지 목적중 어느 것에 비중을 둘지를 결정하는 매개 변수.
𝐶 = 0이면 목적2를 무시한다. 𝐶 = ∞이면 목적 2만 고려한다.
𝑥1
𝑥2
𝑐1
𝑐2
𝐶 = ∞𝐶 = 0
𝐽 𝕨, Ξ =
1
2
𝕨 2
+ 𝐶 ෍
𝑖=1
𝑁
𝜉𝑖
따라서 𝐶는 적절히 조절되어야 한다.
minimize 𝑱 𝕨 =
𝟏
𝟐
𝕨 𝟐
+ 𝑪 σ𝒊=𝟏
𝑵
𝝃𝒊
subject to 𝒕𝒊 𝕨 𝑻
𝕩𝒊 + 𝒃 ≥ 𝟏 − 𝝃𝒊 , 𝒊 = 𝟏, … , 𝑵
𝝃𝒊 ≥ 𝟎, 𝒊 = 𝟏, … , 𝑵
목적함수가 주어졌음으로, 조건부 최적화 문제를 유도할 수 있다.
 Primal problem (선형 분리 불가능한 상황)
○ 목적함수 𝐽(𝕨)는 convex함수이다.
○ 조건식 모두 미분가능하다.
 Lagrangian
ℒ 𝕨, 𝑏, Ξ, 𝕒, 𝕓 =
1
2
𝕨 2 + 𝐶 ෍
𝑖=1
𝑁
𝜉𝑖 − ෍
𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1 + 𝜉𝑖 + ෍
𝑖=1
𝑁
𝛽𝑖 𝜉𝑖
○ 𝕒 = (𝛼1, … , 𝛼 𝑁), 𝕓 = (𝛽1, … , 𝛽 𝑁), Ξ = (𝜉1, … , 𝜉 𝑁)
 Wolfe dual problem
maximize ℒ 𝕨, 𝑏, Ξ, 𝕒, 𝕓
=
1
2
𝕨 2 + 𝐶 σ𝑖=1
𝑁
𝜉𝑖 − σ𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1 + 𝜉𝑖 + σ𝑖=1
𝑁
𝛽𝑖 𝜉𝑖
subject to 𝕒 ≽ 0, 𝕓 ≽ 0,
𝜕ℒ
𝜕𝕨
= 0,
𝜕ℒ
𝜕𝑏
= 0,
𝜕ℒ
𝜕Ξ
= 0
𝛼𝑖 ≥ 0, 𝑖 = 1, … , 𝑁
𝛽𝑖 ≥ 0, 𝑖 = 1, … , 𝑁
𝕨 = ෍
𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 𝕩𝑖
෍
𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 = 0
𝐶 = 𝛼𝑖 + 𝛽𝑖
 Wolfe dual problem
○ soft margin 최적화 문제의 솔루션은 훈련 샘플을 세 가지 경우로 분류
① 𝛼𝑖 = 0 : 샘플들은 support vector이거나, margin 바깥쪽에 있다.
② 0 < 𝛼𝑖 < 𝐶 : 샘플들은 support vector
③ 𝛼𝑖 = 𝐶 : 샘플들은 support vector이거나, margin 안쪽에 있다.
maximize 𝓛 𝕒 = σ𝒊=𝟏
𝑵
𝜶𝒊 −
𝟏
𝟐
σ𝒊=𝟏
𝑵 σ𝒋=𝟏
𝑵
𝜶𝒊 𝜶𝒋 𝒕𝒊 𝒕𝒋 𝕩𝒊
𝑻
𝕩𝒋
subject to σ𝒊=𝟏
𝑵
𝜶𝒊 𝒕𝒊 = 𝟎
𝟎 ≤ 𝜶𝒊 ≤ 𝑪, 𝒊 = 𝟏, … , 𝑵
(Proof)
○ 문제의 솔루션은 KKT 조건을 만족한다.
① 𝐶 = 𝛼𝑖 + 𝛽𝑖
② 𝛽𝑖 𝜉𝑖 = 0
③ 𝛼𝑖 𝑦𝑖 𝕨 𝑇
𝕩𝑖 + 𝑏 − 1 − 𝜉𝑖 = 0
④ 𝜉𝑖 ≥ 0
○ 𝛼𝑖 = 𝐶
① 𝛽𝑖 = 0, 𝜉𝑖 ≥ 0
② 𝑦𝑖 𝕨 𝑇
𝕩𝑖 + 𝑏 − 1 − 𝜉𝑖 = 0
⇒ 𝑦𝑖 𝕨 𝑇
𝕩𝑖 + 𝑏 ≤ 1
○ 𝛼𝑖 = 0
① 𝛽𝑖 = 𝐶, 𝜉𝑖 = 0
② 𝑦𝑖 𝕨 𝑇
𝕩𝑖 + 𝑏 − 1 − 𝜉𝑖 ≥ 0
⇒ 𝑦𝑖 𝕨 𝑇
𝕩𝑖 + 𝑏 ≥ 1
○ 0 < 𝛼𝑖 < 𝐶
① 0 < 𝛽𝑖 < 𝐶, 𝜉𝑖 = 0
② 𝑦𝑖 𝕨 𝑇
𝕩𝑖 + 𝑏 − 1 − 𝜉𝑖 = 0
⇒ 𝑦𝑖 𝕨 𝑇
𝕩𝑖 + 𝑏 = 1
선형 SVM
비선형 SVM
 실제 세계에서 발생하는 분류 문제에서는 선형 분류기로 높은 성능을 얻는다는 것
은 가능성이 낮다.
 원래 특징 공간에서는 선형 분리 가능하지 않은데 이 공간을 더 높은 차원의 새로
운 공간으로 매핑하여 선형 분리 가능하게 만들 수 있다.
원래 공간 : 선형 분리 불가능
𝑝1 𝑝2
𝑝4𝑝3
Φ: 𝐿 → 𝐻
변형된 공간 : 선형 분리 가능
𝑞1
𝑞4
𝑞3
𝑞2Φ 𝑝𝑖 = 𝑞𝑖
 공간 𝐿에서 공간 𝐻로의 공간 매핑
Φ: 𝐿 → 𝐻
○ 보통, 공간 𝐻의 차원은 𝐿보다 훨씬 높다.
 커널 함수(Kernel function)
○ 두 벡터 𝕩, 𝕪 ∈ 𝐿
○ 두 벡터 Φ 𝕩 , Φ(𝕪) ∈ 𝐻
○ 함수 𝐾: 𝐿 × 𝐿 → 𝑅(실수공간)
𝑲 𝕩, 𝕪 = 𝚽 𝕩 ⋅ 𝚽(𝕪)
○ 커널 함수의 값과 매핑된 두 벡터의 내적의 값이 같아야 한다.
𝕩 = 𝑥1, 𝑥2
𝑇, 𝕪 = 𝑦1, 𝑦2
𝑇 , 𝕩, 𝕪 ∈ 𝐿
𝐾 𝕩, 𝕪 = 𝕩 ⋅ 𝕪 2 = 𝑥1
2
𝑦1
2
+ 2𝑥1 𝑥2 𝑦1 𝑦2 + 𝑥2
2
𝑦2
2
Φ 𝕩 = 𝑥1
2
, 2𝑥1 𝑥2, 𝑥2
2
∈ 𝐻
𝐾 𝕩, 𝕪 = 𝕩 ⋅ 𝕪 2
= 𝑥1
2
𝑦1
2
+ 2𝑥1 𝑥2 𝑦1 𝑦2 + 𝑥2
2
𝑦2
2
= 𝑥1
2
, 2𝑥1 𝑥2, 𝑥2
2
𝑦1
2
, 2𝑦1 𝑦2, 𝑦2
2
= Φ 𝕩 ⋅ Φ(𝕪)
즉, 예제에서 𝐾는 커널 함수이다.
Example
example )
 Kernel substitution
○ Kernel trick이라고도 한다.
○ 어떤 수식이 벡터의 내적을 포함하고 있을 때, 그 내적을 커널 함수로 대치하여 계산하
는 기법이다.
○ 실제 계산은 𝐿공간에서 커널 함수 𝐾의 계산으로 이루어진다. 하지만 실제로는 Φ로 매
핑된 고차원 공간 𝐻에서 작업하는 효과를 얻는다.
○ 차원의 저주를 피해가는 셈이다.
○ 내적 연산인 경우에만 사용할 수 있다.
 선형 분류기로 원래 특징 공간 𝐿에서 높은 성능을 기대하기 어렵다면 𝐿공간에서
작업하는 대신 매핑 함수 Φ로 더 높은 차원의 ( 즉, 선형 분리가 더 유리한) 새로운
공간 𝐻로 매핑하고 𝐻에서 작업
 공간 𝐿에서의 SVM 분류기는 아래의 목적함수를 이용
ℒ 𝕒 = ෍
𝑖=1
𝑁
𝛼𝑖 −
1
2
෍
𝑖=1
𝑁
෍
𝑗=1
𝑁
𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗 𝕩𝑖
𝑇
𝕩𝑗
○ 𝕩1, 𝕩2 ∈ 𝐿, 𝕒 = (𝛼1, … , 𝛼 𝑁)
 공간 𝐻로 매핑되면, SVM 분류기는 아래의 목적함수를 이용
ℒ 𝕒 = ෍
𝑖=1
𝑁
𝛼𝑖 −
1
2
෍
𝑖=1
𝑁
෍
𝑗=1
𝑁
𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗Φ 𝕩𝑖
𝑇
Φ(𝕩𝑗)
○ Φ 𝕩1 , Φ 𝕩2 ∈ 𝐻
○ 𝐝𝐨𝐦𝐾 ∈ 𝐿
෍
𝑖=1
𝑁
𝛼𝑖 −
1
2
෍
𝑖=1
𝑁
෍
𝑗=1
𝑁
𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗 𝑲(𝕩, 𝕪)
실제 계산에 사용되는 함수
계산은 원래 공간에서 수행
목표로 하는 고차원에서의 계산을, 커널함수를 사용하여 저차원에서 수행.
고차원에서의 결과값과 동일함을 달성
 다항식 커널
𝐾 𝕩, 𝕪 = 𝕩 ⋅ 𝕪 + 1 𝑝
 Radial Basis Function 커널
𝐾 𝕩, 𝕪 = 𝑒
−
𝕩−𝕪 2
2𝜎2
 하이퍼볼릭 탄젠트 커널
𝐾 𝕩, 𝕪 = tanh(𝛼𝕩 ⋅ 𝕪 + 𝛽)
○ 모든 𝛼, 𝛽에 대하여 매핑함수가 존재하지는 않는다. 𝛼 = 2, 𝛽 = 1이 적절한 값이다.
 1대 M-1방법
○ 𝑀개의 이진 분류기를 생성
① 𝑗번째 이진 분류기는 부류 𝑐𝑗와 나머지 𝑀 − 1개 부류를 분류
② 𝑐𝑗에 속하는 샘플은 양의 영역, 나머지 부류에 속하면 음의 영역으로 구분
○ 결정 초평면 함수의 값이 가장 큰 부류로 분류
① 𝑘 = arg max
𝑗
𝑑𝑗(𝕩)
 1대 1방법
○ 부류 쌍을 분류하는 이진 분류기를
𝑀 𝑀−1
2
개 생성
① 𝑑𝑖𝑗(𝕩)는 𝑐𝑖와 𝑐𝑗를 분류하는 이진 분류기의 결정 초평면
② 𝕩에 대하여 𝑑𝑖𝑗(𝕩)가 𝑐𝑖로 분류하면 부류 𝑐𝑖이 한표, 반대면 𝑐𝑗가 한표를 얻음
③ 2번 스텝을
𝑀 𝑀−1
2
번 반복하여 가장 많은 표를 얻은 부류로 𝕩를 분류
How to compute 𝕒 = (𝛼1, … , 𝛼 𝑁)?
Sequential Minimal Optimization
(순차적 최소 최적화)
 커다란 최적화 문제를, 작은 문제들로 나누어 해결한다.
○ 작은 문제들은 쉽게 해결할 수 있으며, 순차적으로 해결된다.
○ 순차적으로 해결된 문제들의 답은 모두 같게 되고, 모든 문제를 다함께 처리한 것과 같
은 효과가 있다.
 커다란 최적화 문제 : 𝕒 = (𝛼1, … , 𝛼 𝑁)의 최적화
 나누어진 작은 문제 : 적당한 𝛼𝑖, 𝛼𝑗의 쌍을 최적화
 Platt이 제안한 알고리즘 (여기서는 simple version을 다룬다.)
 수학적 아이디어는 Coordinate ascent를 사용한다.
○ 𝛼𝑖의 최적값을 찾기위해, 𝛼𝑖를 제외한 값들을 상수값으로 고정시킨 후, 𝑊를 optimize
시킨다.
Loop until convergence : {
For 𝑖 = 1, … , 𝑚, {
𝛼𝑖 ≔ arg max
ෝ𝛼
𝑊(𝛼1, … , 𝛼𝑖−1, ෝ𝛼𝑖, 𝛼𝑖+1, … , 𝛼 𝑁)
}
}
෍
𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 = 0
초기값을 0으로 하는 𝕒 = (𝛼1, … , 𝛼 𝑁) 생성
(while) 반복 횟수 𝑀이 임계값보다 작을 때 반복
(for) 𝛼𝑖, 𝑖 = 1, … , 𝑁 에 대해 반복 (라그랑지 승수에 대해)
라그랑지 승수 𝛼𝑖가 최적화 될 수 있다면
임의로 다른 라그랑지 승수 𝛼𝑗를 선택
새로운 𝛼𝑗를 계산 (새로운 𝛼𝑗는 목적함수의 optimization으로부터 나옴)
𝛼𝑗를 최적화 할 수 없다면 next 𝑖 continue
𝛼𝑗를 최적화 할 수 있다면 𝛼𝑖, 𝑏를 새롭게 계산
최적화된 라그랑지 승수의 쌍이 하나도 없다면, 반복 횟수 𝑀을 1 증가 시킨다.
෍
𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 = 0
Go to Appendix 1
Go to Appendix 2
 𝛼𝑖, 𝛼𝑗를 선택
○ 𝛼𝑖가 최적화 될 수 있는 조건
①라그랑지 승수 𝛼𝑖에 대응되는 샘플의 참 값(𝑡𝑖 )과, SVM계산 결과(σ 𝑗=1
𝑁
𝛼𝑗 𝑡𝑗 𝕩𝑗
𝑇
𝕩𝑖 + 𝑏)
의 차이가 허용 가능한 수치(tolerance) 이상인 경우
②이 경우에 𝛼𝑗를 random하게 선택
 새로운 𝕒에 대하여 𝑏를 구한다.
○ 새로운 𝛼𝑖와 𝛼𝑗가 적용된 𝕒
 𝕒가 수렴할 때까지 위의 과정을 반복한다.
○ 최적화되는(변경되는) 라그랑지 승수의 쌍이 발견되지 않는 상황이, 미리 설정해 놓은
임계치 이상 반복될 때.
 여백(margin) 개념을 분류기 설계에 도입하고 여백을 극대화하는 결정 초평면을
찾아내는 것 ⇒ 뛰어난 일반화 능력을 확보하는 것
 커널과 관련된 매개 변수, 𝐶값을 다양하게 설정하여 성능 실험을 하고 그 중 가장
뛰어난 값을 선택 (휴리스틱)
 SVM은 일반화 능력이 뛰어남.
 패턴인식 - 오일석 저
 http://cs229.stanford.edu/materials/smo.pdf
 http://cs229.stanford.edu/notes/cs229-notes3.pdf - Andrew Ng
 https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf
 Fast Training of Support Vector Machine using Sequential Minimal Optimization,
in Advances in Kernel Methods - Platt John
 Machine Learning in Action - 피터 해링턴
 Machine Learning-A Probabilistic Perspective - Kevin P. Murphy
 0 < 𝛼𝑖 < 𝐶를 만족시키기 위하여 새로운 𝛼𝑗는 다음의 범위를 만족시켜야 한다.
○ 𝛼𝑖 + 𝛼𝑗 = 𝛾 (𝑡𝑖 = 𝑡𝑗)
① 𝛾 > 𝐶
a. 𝛾 − 𝐶 ≤ 𝛼𝑗 ≤ 𝐶
② 𝛾 < 𝐶
a. 0 ≤ 𝛼𝑗 ≤ 𝛾
𝐿 = max(0, 𝛼𝑗 + 𝛼𝑖 − 𝐶), 𝐻 = min(𝐶, 𝛼𝑗 + 𝛼𝑖)
○ 𝛼𝑖 − 𝛼𝑗 = 𝛾 (𝑡𝑖 ≠ 𝑡𝑗)
① 𝛾 > 0
a. 0 ≤ 𝛼𝑗 ≤ 𝐶 − 𝛾
② 𝛾 < 0
a. −𝛾 ≤ 𝛼𝑗 ≤ 𝐶
𝐿 = max(0, 𝛼𝑗 − 𝛼𝑖), 𝐻 = min(𝐶, 𝐶 + 𝛼𝑗 − 𝛼𝑖)
𝜶𝒋 구하기
𝜶𝒋 구하기
ℒ 𝕒 = ෍
𝑖=1
𝑁
𝛼𝑖 −
1
2
෍
𝑖=1
𝑁
෍
𝑗=1
𝑁
𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗 𝕩𝑖
𝑇
𝕩𝑗
𝛼𝑖와 𝛼𝑗를 제외하고는 모두 고정된 상수로 표현
𝑡𝑖 𝛼𝑖 + 𝑡𝑗 𝛼𝑗 = Const.
위의 식을 목적함수에 대입하여 𝛼𝑗의 2차식으로 표현
1계 도함수, 2계 도함수 사용
From here!
𝛼𝑗 ≔ 𝛼𝑗 −
𝑡𝑗 𝐸𝑖 − 𝐸𝑗
𝜂
𝐸𝑗 = ෍
𝑖=1
𝑁
𝛼𝑖 𝑡𝑖 𝕩𝑖
𝑇
𝕩𝑗 + 𝑏 − 𝑡𝑗
𝜂 = 2𝕩𝑖
𝑇
𝕩𝑗 − 𝕩𝑖 𝕩𝑖 − 𝕩𝑗 𝕩𝑗
𝛼𝑗 ≔ ቐ
𝐻
𝛼𝑗
𝐿
where
if 𝛼𝑗 > 𝐻
if 𝐿 ≤ 𝛼𝑗 ≤ 𝐻
if 𝛼𝑗 < 𝐿
새로운 𝜶𝒋
𝛼𝑗
𝑜𝑙𝑑
𝜶𝒋 구하기
back
𝛼𝑖 ≔ 𝛼𝑖 + 𝑡𝑖 𝑡𝑗(𝛼𝑗
𝑜𝑙𝑑
− 𝛼𝑗)
𝑏1 = 𝑏 − 𝐸𝑖 − 𝑡𝑖 𝛼𝑖 − 𝛼𝑖
𝑜𝑙𝑑
𝕩𝑖
𝑇
𝕩𝑖 − 𝑡𝑗 𝛼𝑗 − 𝛼𝑗
𝑜𝑙𝑑
𝕩𝑖
𝑇
𝕩𝑗
𝑏2 = 𝑏 − 𝐸𝑗 − 𝑡𝑖 𝛼𝑖 − 𝛼𝑖
𝑜𝑙𝑑
𝕩𝑖
𝑇
𝕩𝑗 − 𝑡𝑗 𝛼𝑗 − 𝛼𝑗
𝑜𝑙𝑑
𝕩𝑗
𝑇
𝕩𝑗
𝑏 ≔
𝑏1
𝑏2
𝑏1 + 𝑏2
2
if 0 < 𝛼𝑖 < 𝐶
if 0 < 𝛼𝑗 < 𝐶
if otherwise
𝛼𝑖
𝑜𝑙𝑑
새로운 𝜶𝒊
새로운 𝒃
𝜶𝒊, 𝒃 구하기
back

More Related Content

What's hot

数式を使わずイメージで理解するEMアルゴリズム
数式を使わずイメージで理解するEMアルゴリズム数式を使わずイメージで理解するEMアルゴリズム
数式を使わずイメージで理解するEMアルゴリズム裕樹 奥田
 
2020年分子生物学会_留学のすゝめ_イギリス大学院
2020年分子生物学会_留学のすゝめ_イギリス大学院2020年分子生物学会_留学のすゝめ_イギリス大学院
2020年分子生物学会_留学のすゝめ_イギリス大学院KonanIshida
 
Introduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT EvaluationIntroduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT EvaluationMasahiro Sakai
 
[Paper] attention mechanism(luong)
[Paper] attention mechanism(luong)[Paper] attention mechanism(luong)
[Paper] attention mechanism(luong)Susang Kim
 
Methods of Optimization in Machine Learning
Methods of Optimization in Machine LearningMethods of Optimization in Machine Learning
Methods of Optimization in Machine LearningKnoldus Inc.
 
Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰태영 정
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)SANG WON PARK
 
hands on machine learning Chapter 6&7 decision tree, ensemble and random forest
hands on machine learning Chapter 6&7 decision tree, ensemble and random foresthands on machine learning Chapter 6&7 decision tree, ensemble and random forest
hands on machine learning Chapter 6&7 decision tree, ensemble and random forestJaey Jeong
 
Bayesian Model-Agnostic Meta-Learning
Bayesian Model-Agnostic Meta-LearningBayesian Model-Agnostic Meta-Learning
Bayesian Model-Agnostic Meta-LearningSangwoo Mo
 
Let's do Inverse RL
Let's do Inverse RLLet's do Inverse RL
Let's do Inverse RLDongmin Lee
 
XGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionXGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionJaroslaw Szymczak
 
Deep Implicit Layers: Learning Structured Problems with Neural Networks
Deep Implicit Layers: Learning Structured Problems with Neural NetworksDeep Implicit Layers: Learning Structured Problems with Neural Networks
Deep Implicit Layers: Learning Structured Problems with Neural NetworksSangwoo Mo
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシンYuta Sugii
 
Stochastic Gradient Decent (SGD).pptx
Stochastic Gradient Decent (SGD).pptxStochastic Gradient Decent (SGD).pptx
Stochastic Gradient Decent (SGD).pptxShubham Jaybhaye
 
EMアルゴリズム
EMアルゴリズムEMアルゴリズム
EMアルゴリズムmoritama1515
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.Yongho Ha
 
Optimization in deep learning
Optimization in deep learningOptimization in deep learning
Optimization in deep learningRakshith Sathish
 

What's hot (20)

数式を使わずイメージで理解するEMアルゴリズム
数式を使わずイメージで理解するEMアルゴリズム数式を使わずイメージで理解するEMアルゴリズム
数式を使わずイメージで理解するEMアルゴリズム
 
2020年分子生物学会_留学のすゝめ_イギリス大学院
2020年分子生物学会_留学のすゝめ_イギリス大学院2020年分子生物学会_留学のすゝめ_イギリス大学院
2020年分子生物学会_留学のすゝめ_イギリス大学院
 
Convex optimization
Convex optimization Convex optimization
Convex optimization
 
Introduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT EvaluationIntroduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT Evaluation
 
[Paper] attention mechanism(luong)
[Paper] attention mechanism(luong)[Paper] attention mechanism(luong)
[Paper] attention mechanism(luong)
 
Methods of Optimization in Machine Learning
Methods of Optimization in Machine LearningMethods of Optimization in Machine Learning
Methods of Optimization in Machine Learning
 
Pixel Shuffer
Pixel ShufferPixel Shuffer
Pixel Shuffer
 
Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)
 
hands on machine learning Chapter 6&7 decision tree, ensemble and random forest
hands on machine learning Chapter 6&7 decision tree, ensemble and random foresthands on machine learning Chapter 6&7 decision tree, ensemble and random forest
hands on machine learning Chapter 6&7 decision tree, ensemble and random forest
 
Bayesian Model-Agnostic Meta-Learning
Bayesian Model-Agnostic Meta-LearningBayesian Model-Agnostic Meta-Learning
Bayesian Model-Agnostic Meta-Learning
 
Let's do Inverse RL
Let's do Inverse RLLet's do Inverse RL
Let's do Inverse RL
 
Attention Is All You Need
Attention Is All You NeedAttention Is All You Need
Attention Is All You Need
 
XGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionXGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competition
 
Deep Implicit Layers: Learning Structured Problems with Neural Networks
Deep Implicit Layers: Learning Structured Problems with Neural NetworksDeep Implicit Layers: Learning Structured Problems with Neural Networks
Deep Implicit Layers: Learning Structured Problems with Neural Networks
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン
 
Stochastic Gradient Decent (SGD).pptx
Stochastic Gradient Decent (SGD).pptxStochastic Gradient Decent (SGD).pptx
Stochastic Gradient Decent (SGD).pptx
 
EMアルゴリズム
EMアルゴリズムEMアルゴリズム
EMアルゴリズム
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 
Optimization in deep learning
Optimization in deep learningOptimization in deep learning
Optimization in deep learning
 

Similar to SVM

Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)Jeonghun Yoon
 
Eigendecomposition and pca
Eigendecomposition and pcaEigendecomposition and pca
Eigendecomposition and pcaJinhwan Suk
 
03. linear regression
03. linear regression03. linear regression
03. linear regressionJeonghun Yoon
 
Linear algebra.pptx
Linear algebra.pptxLinear algebra.pptx
Linear algebra.pptxGeonWooYoo1
 
0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalueJeonghun Yoon
 
Auto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersAuto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersJinho Lee
 
08. spectal clustering
08. spectal clustering08. spectal clustering
08. spectal clusteringJeonghun Yoon
 
선형대수 08. 선형 변환 (Linear Transformation)
선형대수 08. 선형 변환 (Linear Transformation)선형대수 08. 선형 변환 (Linear Transformation)
선형대수 08. 선형 변환 (Linear Transformation)AHRA CHO
 
[기초수학] 미분 적분학
[기초수학] 미분 적분학[기초수학] 미분 적분학
[기초수학] 미분 적분학KyeongWon Koo
 
패턴 인식 2 classifiers based on bayes decision theory part 1
패턴 인식 2 classifiers based on bayes decision theory part 1패턴 인식 2 classifiers based on bayes decision theory part 1
패턴 인식 2 classifiers based on bayes decision theory part 1jdo
 
패턴인식-베이즈결정이론기반 분류기 part1
패턴인식-베이즈결정이론기반 분류기 part1패턴인식-베이즈결정이론기반 분류기 part1
패턴인식-베이즈결정이론기반 분류기 part1jdo
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagationJinSooKim80
 
0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vectorJeonghun Yoon
 
Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn searchWooSung Choi
 
3 sat with randomization
3 sat with randomization3 sat with randomization
3 sat with randomizationChangki Yun
 
페리 수열(Farey sequence)
페리 수열(Farey sequence)페리 수열(Farey sequence)
페리 수열(Farey sequence)종빈 오
 

Similar to SVM (20)

06. graph mining
06. graph mining06. graph mining
06. graph mining
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
 
Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)
 
Svmtf
SvmtfSvmtf
Svmtf
 
Eigendecomposition and pca
Eigendecomposition and pcaEigendecomposition and pca
Eigendecomposition and pca
 
03. linear regression
03. linear regression03. linear regression
03. linear regression
 
Linear algebra.pptx
Linear algebra.pptxLinear algebra.pptx
Linear algebra.pptx
 
0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue
 
Vae
VaeVae
Vae
 
Auto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersAuto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-Encoders
 
08. spectal clustering
08. spectal clustering08. spectal clustering
08. spectal clustering
 
선형대수 08. 선형 변환 (Linear Transformation)
선형대수 08. 선형 변환 (Linear Transformation)선형대수 08. 선형 변환 (Linear Transformation)
선형대수 08. 선형 변환 (Linear Transformation)
 
[기초수학] 미분 적분학
[기초수학] 미분 적분학[기초수학] 미분 적분학
[기초수학] 미분 적분학
 
패턴 인식 2 classifiers based on bayes decision theory part 1
패턴 인식 2 classifiers based on bayes decision theory part 1패턴 인식 2 classifiers based on bayes decision theory part 1
패턴 인식 2 classifiers based on bayes decision theory part 1
 
패턴인식-베이즈결정이론기반 분류기 part1
패턴인식-베이즈결정이론기반 분류기 part1패턴인식-베이즈결정이론기반 분류기 part1
패턴인식-베이즈결정이론기반 분류기 part1
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
 
0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector
 
Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn search
 
3 sat with randomization
3 sat with randomization3 sat with randomization
3 sat with randomization
 
페리 수열(Farey sequence)
페리 수열(Farey sequence)페리 수열(Farey sequence)
페리 수열(Farey sequence)
 

More from Jeonghun Yoon

0307 2 hypothesis_testing
0307 2 hypothesis_testing0307 2 hypothesis_testing
0307 2 hypothesis_testingJeonghun Yoon
 
0307 1 estimation_theory
0307 1 estimation_theory0307 1 estimation_theory
0307 1 estimation_theoryJeonghun Yoon
 
0228 2 sample_distribution
0228 2 sample_distribution0228 2 sample_distribution
0228 2 sample_distributionJeonghun Yoon
 
0221 basic probability theory
0221 basic probability theory0221 basic probability theory
0221 basic probability theoryJeonghun Yoon
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformationJeonghun Yoon
 
0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrix0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrixJeonghun Yoon
 
Ensemble Model (Hybrid model)
Ensemble Model (Hybrid model)Ensemble Model (Hybrid model)
Ensemble Model (Hybrid model)Jeonghun Yoon
 
Association rule mining
Association rule miningAssociation rule mining
Association rule miningJeonghun Yoon
 
05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)Jeonghun Yoon
 
02. naive bayes classifier revision
02. naive bayes classifier   revision02. naive bayes classifier   revision
02. naive bayes classifier revisionJeonghun Yoon
 

More from Jeonghun Yoon (17)

Topic models
Topic modelsTopic models
Topic models
 
0314 2 correlation
0314 2 correlation0314 2 correlation
0314 2 correlation
 
0314 1 anova
0314 1 anova0314 1 anova
0314 1 anova
 
0307 2 hypothesis_testing
0307 2 hypothesis_testing0307 2 hypothesis_testing
0307 2 hypothesis_testing
 
0307 1 estimation_theory
0307 1 estimation_theory0307 1 estimation_theory
0307 1 estimation_theory
 
0228 2 sample_distribution
0228 2 sample_distribution0228 2 sample_distribution
0228 2 sample_distribution
 
0221 basic probability theory
0221 basic probability theory0221 basic probability theory
0221 basic probability theory
 
0207 1 gradient
0207 1 gradient0207 1 gradient
0207 1 gradient
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation
 
0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrix0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrix
 
Ensemble Model (Hybrid model)
Ensemble Model (Hybrid model)Ensemble Model (Hybrid model)
Ensemble Model (Hybrid model)
 
Decision tree
Decision treeDecision tree
Decision tree
 
Association rule mining
Association rule miningAssociation rule mining
Association rule mining
 
07. PCA
07. PCA07. PCA
07. PCA
 
05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)
 
02. naive bayes classifier revision
02. naive bayes classifier   revision02. naive bayes classifier   revision
02. naive bayes classifier revision
 
01. introduction
01. introduction01. introduction
01. introduction
 

SVM

  • 2. Classification (분류) Supervised Learning 𝑓 ∶ 𝕩 → 𝑌 Given samples 𝑋 = ( 𝕩1, 𝑦1 , 𝕩2, 𝑦2 , … , (𝕩 𝑁, 𝑦 𝑁)) find!
  • 4. Question 1) 좋은 분류기(classifier)란? Question 2) 분류기의 분류 기준은? ○ Bayesian Classifier : Error, Risk를 minimize (Likelihood or MAP 분포에서의 오류영역)
  • 5. 1. 데이터는 2차원 공간의 point라고 가정 : feature가 2개 2. 하늘색 point ∈ 𝑐1, 빨간색 point ∈ 𝑐2 라고 가정 𝑥1 𝑥2 𝑐1 𝑐2 ① ② ③ 어떤 분류 직선을 선택하겠는가?
  • 6. 𝑥1 𝑥2 𝑐1 𝑐2 ① ② ③ 𝑐1에서 발생하는 패턴에서 살짝 변형이 생겨 직선 2를 넘어가게 되면?? 분류 직선을 선택함에 있어서, 중요하게 고려되어야 할 요소 : Generalization (미래에 발생할 미지의 패턴을 얼마나 잘 분류하는가?)
  • 7. 𝑥1 𝑥2 𝑐1 𝑐2 ③ Generalization을 극대화 (패턴에서 어느정도의 변형이 발생해도 오분류 되지 않도록 한다.) 부류 사이에 여유를 두자. 즉 여백(margin)을 크게 만들고, 반으로 나누자.
  • 8. 𝕩 = 𝑥1, 𝑥2, … , 𝑥 𝑛 ∈ ℝ 𝑛, 𝕨 = 𝑤1, 𝑤2, … , 𝑤 𝑛 ∈ ℝ 𝑛, 𝑏 ∈ ℝ 𝑑 𝕩 = 𝕨 𝑇 𝕩 + 𝑏 = 0  𝑑(𝕩)은 특징 공간을 두 영역으로 분할한다. ○ 𝑐1은 𝑑 𝕩 > 0인 영역 ○ 𝑐2은 𝑑 𝕩 < 0인 영역  하나의 초평면을 표현하는 식은 여럿 있다.  𝕨 : normal vector(초평면의 방향), 𝑏 : 초평면의 위치  임의의 점 𝕩1에서 초평면까지의 거리 𝒉 = 𝒅 𝕩 𝟏 𝕨 Decision Hyperplane 𝑐1 𝑐2 𝑑 𝕩 = 0𝑑 𝕩 > 0 𝑑 𝕩 < 0 결정 초평면 (decision hyperplane)
  • 9.  Constrained optimization problem (primal problem) ○ 𝕩 ∈ ℝ 𝑛 is the optimization variable. ○ 𝑓0: ℝ 𝑛 → ℝ is the objective function or cost function. (목적 함수) ○ 𝑓𝑖: ℝ 𝑛 → ℝ, 𝑖 = 1, … , 𝑚, are inequality constraint functions. ○ ℎ𝑖: ℝ 𝑛 → ℝ, 𝑖 = 1, … , 𝑝, are equality constraint functions. ○ optimal value 𝑝⋆ 𝑝⋆ = inf 𝑓0 𝕩 𝑓𝑖 𝕩 ≤ 0, 𝑖 = 1, … , 𝑚, ℎ𝑖 𝕩 = 0, 𝑖 = 1, … , 𝑝} 조건부 최적화 문제 minimize 𝑓0(𝕩) subject to 𝑓𝑖 𝕩 ≤ 0 , 𝑖 = 1, … , 𝑚 ℎ𝑖 𝕩 = 0 , 𝑖 = 1, … , 𝑝
  • 10.  Affine set ○ 𝐶 ⊂ ℝ 𝑛 is affine → 𝐶 안의 2개의 서로 다른 point를 지나는 line이 𝐶에 속할 때. ○ 쉬운 예로, 평면 or hyperplane 등이 있다.  Convex set ○ 𝐶 ⊂ ℝ 𝑛 is convex → 𝐶 안의 2개의 서로 다른 point를 지나는 line segment가 𝐶에 속할 때. ○ 쉬운 예로, 원 or 오각형 등이 있다. Affine / Convex convex set (오각형)convex set (평면) line line segment
  • 11.  Affine function ○ a function composed of a linear function and constant (translation) ○ in 1-dim : 𝑦 = 𝐴𝑥 + 𝐶 ○ in 2-dim : 𝑓 𝑥, 𝑦 = 𝐴𝑥 + 𝐵𝑦 + 𝐶 ○ in 3-dim : 𝑓 𝑥, 𝑦, 𝑧 = 𝐴𝑥 + 𝐵𝑦 + 𝐶𝑧 + 𝐷 translation : a transformation consisting of a constant offset with no rotation or distortion Affine function
  • 12.  𝑓: ℝ 𝑛 → ℝ is convex if 𝐝𝐨𝐦 𝑓 is convex and 𝑓 𝜃𝕩 + 1 − 𝜃 𝕪 ≤ 𝜃𝑓 𝕩 + 1 − 𝜃 𝑓 𝕪 for ∀𝕩, 𝕪 ∈ 𝐝𝐨𝐦 𝑓, 0 ≤ 𝜃 ≤ 1. ○ 𝑓 is concave if −𝑓 is convex. (𝕪, 𝑓(𝕪)) (𝕩, 𝑓(𝕩)) 𝑓(𝜃𝕩 + 1 − 𝜃 𝕪) 𝜃𝕩 + 1 − 𝜃 𝕪 𝜃𝑓 𝕩 + 1 − 𝜃 𝑓 𝕪 의 minimum 𝐝𝐨𝐦 𝑓 : 함수 𝑓의 유효한 입력 값의 집합. 이 영역을 𝑓가 define되는 영역이라고도 표현 한다. Convex function
  • 13.  convex optimization problem ○ 𝑓0, … , 𝑓𝑚 are convex. ○ ℎ𝑖 𝕩 = 𝕒𝑖 𝑇 𝕩 − 𝑏𝑖 , 𝑖 = 1, … , 𝑝 are affine. ○ The feasible set of a convex optimization problem is convex. ① Since 𝑓1, … , 𝑓𝑚 are convex, ‫ځ‬𝑖=1 𝑚 𝐝𝐨𝐦 𝑓𝑖 is convex. ② Since 𝕩 𝕒𝑖 𝕩 = 𝑏𝑖} is hyperplane, ‫ځ‬𝑖=1 𝑝 𝕩 𝕒𝒊 𝕩 = 𝑏𝑖} is affine (i.e convex). ○ In a convex optimization, we minimize a convex objective function over a convex set. convex optimization minimize 𝑓0(𝕩) subject to 𝑓𝑖 𝕩 ≤ 0 , 𝑖 = 1, … , 𝑚 𝕒𝑖 𝑇 𝕩 = 𝑏𝑖 , 𝑖 = 1, … , 𝑝
  • 14.  Lagrangian ℒ: ℝ 𝑛 × ℝ 𝑚 × ℝ 𝑝 → ℝ, ℒ 𝕩, Λ, 𝑉 = 𝑓𝑜 𝕩 + ෍ 𝑖=1 𝑚 𝜆𝑖 𝑓𝑖(𝕩) + ෍ 𝑖=1 𝑝 𝑣𝑖ℎ𝑖(𝕩) with, 𝐝𝐨𝐦 ℒ = ‫ځ‬𝑖=1 𝑚 𝐝𝐨𝐦 𝑓𝑖 ∩ ‫ځ‬𝑖=1 𝑝 𝐝𝐨𝐦 ℎ𝑖 × ℝ 𝑚 × ℝ 𝑝 ○ 𝜆𝑖 is Lagrange multiplier associated with 𝑓𝑖 𝕩 ≤ 0 and 𝜦 = (𝝀 𝟏, … , 𝝀 𝒎) ○ 𝑣𝑖 is Lagrange multiplier associated with ℎ𝑖 𝕩 = 0 and 𝑉 = (𝒗 𝟏, … , 𝒗 𝒑) Lagrangian
  • 15.  Lagrange dual function 𝑔: ℝ 𝑚 × ℝ 𝑝 → ℝ  Lagrange dual problem ○ 𝑔(Λ, 𝑉) is concave and constraints are convex, so this is convex optimization problem. ○ Lagrange dual problem의 해(Λ⋆ , 𝑉⋆ )는 primal problem(𝕩⋆ ) 해의 lower bound를 제공 한다. inf ℒ(𝕩⋆ , Λ⋆ , 𝑉⋆ ) ≤ 𝑓0(𝕩⋆ ) 𝑔 Λ, 𝑉 = inf 𝕩∈𝒟 ℒ(𝕩, Λ, 𝑉 ) = inf 𝕩∈𝒟 𝑓0 𝕩 + ෍ 𝑖=1 𝑚 𝜆𝑖 𝑓𝑖 𝕩 + ෍ 𝑖=1 𝑝 𝑣𝑖ℎ𝑖 𝕩 Lagrange dual function / Lagrange dual problem maximize 𝑔(Λ, 𝑉) subject to Λ ≽ 0 How to make it coincide?
  • 16.  If ○ 𝑓𝑖 are convex (목적함수, inequality constraint) ○ ℎ𝑖 are affine (equality constraint) ○ 𝕩⋆ , Λ⋆ , 𝑉⋆ satisfy KKT condition  Then ○ 𝕩⋆ is primal optimal and (Λ⋆ , 𝑉⋆ ) is dual optimal with zero duality gap. ○ 두 개의 해가 같아진다. KKT condition and zero duality
  • 17. KKT conditions 𝑓𝑖 𝕩′ ≤ 0, 𝑖 = 1, … , 𝑚 ℎ𝑖 𝕩′ = 0, 𝑖 = 1, … , 𝑝 𝜆𝑖 ′ ≥ 0, 𝑖 = 1, … , 𝑚 𝜆𝑖 ′ 𝑓𝑖 𝕩′ = 0, 𝑖 = 1, … , 𝑚 𝛻𝑓0 𝕩′ + σ𝑖=1 𝑚 𝜆𝑖 ′ 𝛻𝑓𝑖(𝕩′) + σ𝑖=1 𝑝 𝑣𝑖 ′ 𝛻ℎ𝑖(𝕩′) = 0 primal constraints dual constraints complementary slackness gradient Lagrangian with respect to 𝕩 vanishes at 𝕩′
  • 18.  Wolfe duality problem ○ 𝑓0 is convex. ○ 𝑓𝑖, 𝑔𝑖 are differentiable. (Lagrange dual problem → Wolfe duality problem) ○ 제약조건이 KKT conditions에 있는 조건들에 이미 포함되므로, 이 문제의 해를 구하는 것이 primal problem의 해를 구하는 것과 동일하다. maximize 𝑓0 𝕩 + σ𝑖=1 𝑚 𝜆𝑖 𝑓𝑖 𝕩 + σ𝑖=1 𝑝 𝑣𝑖ℎ𝑖 𝕩 subject to Λ ≽ 0 𝛻𝑓0 𝕩 + σ𝑖=1 𝑚 𝜆𝑖 ′ 𝛻𝑓𝑖(𝕩) + σ𝑖=1 𝑝 𝑣𝑖 ′ 𝛻ℎ𝑖(𝕩) = 0 Wolfe duality ℒ(𝕩, Λ, 𝑉)
  • 19.  SVM의 concept은 여백(margin)에서 시작한다.  두 부류의 샘플 사이의 여백(margin)의 크기를 극대화하는 분류직선을 찾는다. ○ 여백(margin) : 결정 초평면(직선)으로부터 가장 가까운 샘플까지의 거리의 2배 𝑥1 𝑥2 𝑐1 𝑐2 margin How to find the best margin? 𝑥1 𝑥2 𝑐1 𝑐2 margin separation band separation band
  • 22. 𝑥1 𝑥2 𝑐1 𝑐2 separation band (분할 띠 안에 데이터가 존재하지 않을 때)
  • 23.  Problem : margin을 극대화하는 분류직선을 찾아라. ○ support vector, 𝕩 𝑠: 분류직선으로부터 가장 가까운 sample ○ margin의 크기 = 2 𝑑 𝕩 𝑠 𝕨 = 2 𝕨 (직선의 방정식은 rescale이 가능함. 편의상 1로 계산) ○ 훈련집합 𝑋 = { 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , 𝕩 𝑛, 𝑡 𝑛 } ① if 𝕩𝑖 ∈ 𝑐1, then 𝑡𝑖 = 1 ② if 𝕩𝑖 ∈ 𝑐2, then 𝑡𝑖 = −1 ※ 가정 : 모든 샘플을 옳게 분류한다. 즉 모든 샘플이 분할 띠의 바깥에 놓여있다. maximize 2 𝕨 subject to 𝕨 𝑇 𝕩𝑖 + 𝑏 ≥ 1 ∀𝕩𝑖 ∈ 𝑐1 𝕨 𝑇 𝕩𝑖 + 𝑏 ≤ −1 ∀𝕩𝑖 ∈ 𝑐2
  • 24.  Primal problem (조건부 최적화 문제) ○ 2 𝕨 를 최대화하는 문제는 비용함수 𝕨 2 2 를 최소화하는 문제로 변형할 수 있다. ① 𝐽 𝕨 = 1 2 𝕨 2 는 𝕨 의 2차식으로 이루어져 있기 때문에 convex 함수이다. ② inequality constrain가 모두 선형이기 때문에 convex 함수이다. ③ inequality constrain을 만족시키는 영역(feasible)은 convex set이다. ○ Primal problem은 convex optimization problem이다. ○ Primal problem의 해는 global solution이 된다. minimize 𝑱 𝕨 = 𝟏 𝟐 𝕨 𝟐 subject to 𝒕𝒊 𝕨 𝑻 𝕩𝒊 + 𝒃 ≥ 𝟏 , 𝒊 = 𝟏, … , 𝑵
  • 25. ○ Primal problem을 아래와 같은 순서로 변형시킬 것이다. Primal problem Lagrange dual problem Wolfe dual problem 조건부 최적화 문제 - Lagrangian 사용 - Lagrange dual function 사용 - Objective(Cost) function : convex - constraints are differentiable.
  • 26.  Lagrangian of primal problem ○ 𝕒 = 𝛼1, … , 𝛼 𝑁 𝑇 를 Lagrange multiplier라고 하자. 𝛼𝑖 ≥ 0 for 𝑖 = 1, … , 𝑁 ℒ 𝕨, 𝑏, 𝕒 = 1 2 𝕨 2 − ෍ 𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1  Lagrange dual function of primal problem 𝑔 𝕒 = inf 𝕨,𝑏 ℒ(𝕨, 𝑏, 𝕒) = inf 𝕨,𝑏 1 2 𝕨 2 − ෍ 𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1  Lagrange dual problem of primal problem maximize 𝑔 𝕒 = inf 𝕨,𝑏 ℒ(𝕨, 𝑏, 𝕒) subject to 𝕒 ≽ 0
  • 27.  Wolfe dual problem ○ 목적함수 1 2 𝕨 2 는 convex 함수이다. ○ 목적함수와 제약조건식이 모두 미분 가능하다. maximize ℒ 𝕨, 𝑏, 𝕒 = 1 2 𝕨 2 − σ𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1 subject to 𝕒 ≽ 0, 𝜕ℒ 𝜕𝕨 = 0, 𝜕ℒ 𝜕𝑏 = 0 𝛼𝑖 ≥ 0, 𝑖 = 1, … , 𝑁 𝕨 = ෍ 𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 𝕩𝑖 ෍ 𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 = 0 maximize ℒ 𝕒 = σ𝑖=1 𝑁 𝛼𝑖 − 1 2 σ𝑖=1 𝑁 σ 𝑗=1 𝑁 𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗 𝕩𝑖 𝑇 𝕩𝑗 subject to 𝛼𝑖 ≥ 0, 𝑖 = 1, … , 𝑁 σ𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 = 0
  • 28.  한 개의 등식 조건과 𝑁개의 부등식 조건을 가진 2차(quadratic) 목적 함수의 최대 화 문제  𝕨, 𝑏를 구하는 문제가 아닌, Lagrange multiplier 𝕒를 구하는 문제로 변경됨  목적 함수에서 특징 벡터 𝕩𝑖가 혼자 나타나지 않고, 두 개의 특징 벡터의 내적 𝕩𝒊 𝑻 𝕩𝒋으로 나타남  𝑁2의 항을 계산해야 함 maximize ℒ 𝕒 = σ𝑖=1 𝑁 𝛼𝑖 − 1 2 σ𝑖=1 𝑁 σ 𝑗=1 𝑁 𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗 𝕩𝑖 𝑇 𝕩𝑗 subject to 𝛼𝑖 ≥ 0, 𝑖 = 1, … , 𝑁 σ𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 = 0
  • 29. 선형 분리 불가능한 상황 (Soft margin)
  • 30. 𝑥1 𝑥2 𝑐1 𝑐2 separation band (분할 띠 안에 데이터가 존재하거나, 분류오류가 생기는 경우)
  • 31. 𝑥1 𝑥2 𝑐1 𝑐2 separation band ① ③ ② ① 분할 띠의 경계에 있거나(support vector), 분할 띠의 바깥에 있다. ⇒ 𝟏 ≤ 𝒕(𝕨 𝑻 𝕩 + 𝒃) ② 분할 띠의 안쪽에 있고, 자기가 속한 부류의 영역에 있다. ⇒ 𝟎 ≤ 𝒕 𝕨 𝑻 𝕩 + 𝒃 < 𝟏 ③ 결정 경계를 넘어 자신이 속하지 않은 부류의 영역에 있다. ⇒ 𝒕 𝕨 𝑻 𝕩 + 𝒃 < 𝟎
  • 32. 𝑥1 𝑥2 𝑐1 𝑐2 separation band ① ③ ② ① 𝟏 ≤ 𝒕(𝕨 𝑻 𝕩 + 𝒃) ⇒ 𝜉 = 0 ② 𝟎 ≤ 𝒕 𝕨 𝑻 𝕩 + 𝒃 < 𝟏 ⇒ 0 < 𝜉 ≤ 1 ③ 𝒕 𝕨 𝑻 𝕩 + 𝒃 < 𝟎 ⇒ 𝜉 > 1 slack 변수 𝜉를 사용하여, 3가지 경우를, 하나의 식으로 표현 𝒕 𝕨 𝑻 𝕩 + 𝒃 ≥ 𝟏 − 𝝃
  • 33. 𝑥1 𝑥2 𝑐1 𝑐2 separation band ① ③ ② 우리가 해결해야 할 문제는 다음 2개의 목적을 만족시켜야 한다. - 목적 1 : margin을 최대화 시켜야 한다. - 목적 2 : ②, ③ 경우에 해당하는 샘플의 수를 최소한으로 줄여야 한다.
  • 34. 𝑥1 𝑥2 𝑐1 𝑐2 2가지의 목적에 맞게 목적함수를 아래와 같이 변경하도록 한다. Ξ = (𝜉1, … , 𝜉 𝑁)라고 하자. 𝐽 𝕨, Ξ = 1 2 𝕨 2 + 𝐶 ෍ 𝑖=1 𝑁 𝜉𝑖 두 가지 목적중 어느 것에 비중을 둘지를 결정하는 매개 변수. 𝐶 = 0이면 목적2를 무시한다. 𝐶 = ∞이면 목적 2만 고려한다. 𝑥1 𝑥2 𝑐1 𝑐2 𝐶 = ∞𝐶 = 0
  • 35. 𝐽 𝕨, Ξ = 1 2 𝕨 2 + 𝐶 ෍ 𝑖=1 𝑁 𝜉𝑖 따라서 𝐶는 적절히 조절되어야 한다. minimize 𝑱 𝕨 = 𝟏 𝟐 𝕨 𝟐 + 𝑪 σ𝒊=𝟏 𝑵 𝝃𝒊 subject to 𝒕𝒊 𝕨 𝑻 𝕩𝒊 + 𝒃 ≥ 𝟏 − 𝝃𝒊 , 𝒊 = 𝟏, … , 𝑵 𝝃𝒊 ≥ 𝟎, 𝒊 = 𝟏, … , 𝑵 목적함수가 주어졌음으로, 조건부 최적화 문제를 유도할 수 있다.  Primal problem (선형 분리 불가능한 상황) ○ 목적함수 𝐽(𝕨)는 convex함수이다. ○ 조건식 모두 미분가능하다.
  • 36.  Lagrangian ℒ 𝕨, 𝑏, Ξ, 𝕒, 𝕓 = 1 2 𝕨 2 + 𝐶 ෍ 𝑖=1 𝑁 𝜉𝑖 − ෍ 𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1 + 𝜉𝑖 + ෍ 𝑖=1 𝑁 𝛽𝑖 𝜉𝑖 ○ 𝕒 = (𝛼1, … , 𝛼 𝑁), 𝕓 = (𝛽1, … , 𝛽 𝑁), Ξ = (𝜉1, … , 𝜉 𝑁)  Wolfe dual problem maximize ℒ 𝕨, 𝑏, Ξ, 𝕒, 𝕓 = 1 2 𝕨 2 + 𝐶 σ𝑖=1 𝑁 𝜉𝑖 − σ𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1 + 𝜉𝑖 + σ𝑖=1 𝑁 𝛽𝑖 𝜉𝑖 subject to 𝕒 ≽ 0, 𝕓 ≽ 0, 𝜕ℒ 𝜕𝕨 = 0, 𝜕ℒ 𝜕𝑏 = 0, 𝜕ℒ 𝜕Ξ = 0 𝛼𝑖 ≥ 0, 𝑖 = 1, … , 𝑁 𝛽𝑖 ≥ 0, 𝑖 = 1, … , 𝑁 𝕨 = ෍ 𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 𝕩𝑖 ෍ 𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 = 0 𝐶 = 𝛼𝑖 + 𝛽𝑖
  • 37.  Wolfe dual problem ○ soft margin 최적화 문제의 솔루션은 훈련 샘플을 세 가지 경우로 분류 ① 𝛼𝑖 = 0 : 샘플들은 support vector이거나, margin 바깥쪽에 있다. ② 0 < 𝛼𝑖 < 𝐶 : 샘플들은 support vector ③ 𝛼𝑖 = 𝐶 : 샘플들은 support vector이거나, margin 안쪽에 있다. maximize 𝓛 𝕒 = σ𝒊=𝟏 𝑵 𝜶𝒊 − 𝟏 𝟐 σ𝒊=𝟏 𝑵 σ𝒋=𝟏 𝑵 𝜶𝒊 𝜶𝒋 𝒕𝒊 𝒕𝒋 𝕩𝒊 𝑻 𝕩𝒋 subject to σ𝒊=𝟏 𝑵 𝜶𝒊 𝒕𝒊 = 𝟎 𝟎 ≤ 𝜶𝒊 ≤ 𝑪, 𝒊 = 𝟏, … , 𝑵
  • 38. (Proof) ○ 문제의 솔루션은 KKT 조건을 만족한다. ① 𝐶 = 𝛼𝑖 + 𝛽𝑖 ② 𝛽𝑖 𝜉𝑖 = 0 ③ 𝛼𝑖 𝑦𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1 − 𝜉𝑖 = 0 ④ 𝜉𝑖 ≥ 0 ○ 𝛼𝑖 = 𝐶 ① 𝛽𝑖 = 0, 𝜉𝑖 ≥ 0 ② 𝑦𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1 − 𝜉𝑖 = 0 ⇒ 𝑦𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 ≤ 1 ○ 𝛼𝑖 = 0 ① 𝛽𝑖 = 𝐶, 𝜉𝑖 = 0 ② 𝑦𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1 − 𝜉𝑖 ≥ 0 ⇒ 𝑦𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 ≥ 1 ○ 0 < 𝛼𝑖 < 𝐶 ① 0 < 𝛽𝑖 < 𝐶, 𝜉𝑖 = 0 ② 𝑦𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 − 1 − 𝜉𝑖 = 0 ⇒ 𝑦𝑖 𝕨 𝑇 𝕩𝑖 + 𝑏 = 1
  • 40.  실제 세계에서 발생하는 분류 문제에서는 선형 분류기로 높은 성능을 얻는다는 것 은 가능성이 낮다.  원래 특징 공간에서는 선형 분리 가능하지 않은데 이 공간을 더 높은 차원의 새로 운 공간으로 매핑하여 선형 분리 가능하게 만들 수 있다. 원래 공간 : 선형 분리 불가능 𝑝1 𝑝2 𝑝4𝑝3 Φ: 𝐿 → 𝐻 변형된 공간 : 선형 분리 가능 𝑞1 𝑞4 𝑞3 𝑞2Φ 𝑝𝑖 = 𝑞𝑖
  • 41.  공간 𝐿에서 공간 𝐻로의 공간 매핑 Φ: 𝐿 → 𝐻 ○ 보통, 공간 𝐻의 차원은 𝐿보다 훨씬 높다.  커널 함수(Kernel function) ○ 두 벡터 𝕩, 𝕪 ∈ 𝐿 ○ 두 벡터 Φ 𝕩 , Φ(𝕪) ∈ 𝐻 ○ 함수 𝐾: 𝐿 × 𝐿 → 𝑅(실수공간) 𝑲 𝕩, 𝕪 = 𝚽 𝕩 ⋅ 𝚽(𝕪) ○ 커널 함수의 값과 매핑된 두 벡터의 내적의 값이 같아야 한다.
  • 42. 𝕩 = 𝑥1, 𝑥2 𝑇, 𝕪 = 𝑦1, 𝑦2 𝑇 , 𝕩, 𝕪 ∈ 𝐿 𝐾 𝕩, 𝕪 = 𝕩 ⋅ 𝕪 2 = 𝑥1 2 𝑦1 2 + 2𝑥1 𝑥2 𝑦1 𝑦2 + 𝑥2 2 𝑦2 2 Φ 𝕩 = 𝑥1 2 , 2𝑥1 𝑥2, 𝑥2 2 ∈ 𝐻 𝐾 𝕩, 𝕪 = 𝕩 ⋅ 𝕪 2 = 𝑥1 2 𝑦1 2 + 2𝑥1 𝑥2 𝑦1 𝑦2 + 𝑥2 2 𝑦2 2 = 𝑥1 2 , 2𝑥1 𝑥2, 𝑥2 2 𝑦1 2 , 2𝑦1 𝑦2, 𝑦2 2 = Φ 𝕩 ⋅ Φ(𝕪) 즉, 예제에서 𝐾는 커널 함수이다. Example example )
  • 43.  Kernel substitution ○ Kernel trick이라고도 한다. ○ 어떤 수식이 벡터의 내적을 포함하고 있을 때, 그 내적을 커널 함수로 대치하여 계산하 는 기법이다. ○ 실제 계산은 𝐿공간에서 커널 함수 𝐾의 계산으로 이루어진다. 하지만 실제로는 Φ로 매 핑된 고차원 공간 𝐻에서 작업하는 효과를 얻는다. ○ 차원의 저주를 피해가는 셈이다. ○ 내적 연산인 경우에만 사용할 수 있다.
  • 44.  선형 분류기로 원래 특징 공간 𝐿에서 높은 성능을 기대하기 어렵다면 𝐿공간에서 작업하는 대신 매핑 함수 Φ로 더 높은 차원의 ( 즉, 선형 분리가 더 유리한) 새로운 공간 𝐻로 매핑하고 𝐻에서 작업  공간 𝐿에서의 SVM 분류기는 아래의 목적함수를 이용 ℒ 𝕒 = ෍ 𝑖=1 𝑁 𝛼𝑖 − 1 2 ෍ 𝑖=1 𝑁 ෍ 𝑗=1 𝑁 𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗 𝕩𝑖 𝑇 𝕩𝑗 ○ 𝕩1, 𝕩2 ∈ 𝐿, 𝕒 = (𝛼1, … , 𝛼 𝑁)  공간 𝐻로 매핑되면, SVM 분류기는 아래의 목적함수를 이용 ℒ 𝕒 = ෍ 𝑖=1 𝑁 𝛼𝑖 − 1 2 ෍ 𝑖=1 𝑁 ෍ 𝑗=1 𝑁 𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗Φ 𝕩𝑖 𝑇 Φ(𝕩𝑗) ○ Φ 𝕩1 , Φ 𝕩2 ∈ 𝐻 ○ 𝐝𝐨𝐦𝐾 ∈ 𝐿 ෍ 𝑖=1 𝑁 𝛼𝑖 − 1 2 ෍ 𝑖=1 𝑁 ෍ 𝑗=1 𝑁 𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗 𝑲(𝕩, 𝕪) 실제 계산에 사용되는 함수 계산은 원래 공간에서 수행 목표로 하는 고차원에서의 계산을, 커널함수를 사용하여 저차원에서 수행. 고차원에서의 결과값과 동일함을 달성
  • 45.  다항식 커널 𝐾 𝕩, 𝕪 = 𝕩 ⋅ 𝕪 + 1 𝑝  Radial Basis Function 커널 𝐾 𝕩, 𝕪 = 𝑒 − 𝕩−𝕪 2 2𝜎2  하이퍼볼릭 탄젠트 커널 𝐾 𝕩, 𝕪 = tanh(𝛼𝕩 ⋅ 𝕪 + 𝛽) ○ 모든 𝛼, 𝛽에 대하여 매핑함수가 존재하지는 않는다. 𝛼 = 2, 𝛽 = 1이 적절한 값이다.
  • 46.  1대 M-1방법 ○ 𝑀개의 이진 분류기를 생성 ① 𝑗번째 이진 분류기는 부류 𝑐𝑗와 나머지 𝑀 − 1개 부류를 분류 ② 𝑐𝑗에 속하는 샘플은 양의 영역, 나머지 부류에 속하면 음의 영역으로 구분 ○ 결정 초평면 함수의 값이 가장 큰 부류로 분류 ① 𝑘 = arg max 𝑗 𝑑𝑗(𝕩)  1대 1방법 ○ 부류 쌍을 분류하는 이진 분류기를 𝑀 𝑀−1 2 개 생성 ① 𝑑𝑖𝑗(𝕩)는 𝑐𝑖와 𝑐𝑗를 분류하는 이진 분류기의 결정 초평면 ② 𝕩에 대하여 𝑑𝑖𝑗(𝕩)가 𝑐𝑖로 분류하면 부류 𝑐𝑖이 한표, 반대면 𝑐𝑗가 한표를 얻음 ③ 2번 스텝을 𝑀 𝑀−1 2 번 반복하여 가장 많은 표를 얻은 부류로 𝕩를 분류
  • 47. How to compute 𝕒 = (𝛼1, … , 𝛼 𝑁)? Sequential Minimal Optimization (순차적 최소 최적화)
  • 48.  커다란 최적화 문제를, 작은 문제들로 나누어 해결한다. ○ 작은 문제들은 쉽게 해결할 수 있으며, 순차적으로 해결된다. ○ 순차적으로 해결된 문제들의 답은 모두 같게 되고, 모든 문제를 다함께 처리한 것과 같 은 효과가 있다.  커다란 최적화 문제 : 𝕒 = (𝛼1, … , 𝛼 𝑁)의 최적화  나누어진 작은 문제 : 적당한 𝛼𝑖, 𝛼𝑗의 쌍을 최적화
  • 49.  Platt이 제안한 알고리즘 (여기서는 simple version을 다룬다.)  수학적 아이디어는 Coordinate ascent를 사용한다. ○ 𝛼𝑖의 최적값을 찾기위해, 𝛼𝑖를 제외한 값들을 상수값으로 고정시킨 후, 𝑊를 optimize 시킨다. Loop until convergence : { For 𝑖 = 1, … , 𝑚, { 𝛼𝑖 ≔ arg max ෝ𝛼 𝑊(𝛼1, … , 𝛼𝑖−1, ෝ𝛼𝑖, 𝛼𝑖+1, … , 𝛼 𝑁) } } ෍ 𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 = 0
  • 50. 초기값을 0으로 하는 𝕒 = (𝛼1, … , 𝛼 𝑁) 생성 (while) 반복 횟수 𝑀이 임계값보다 작을 때 반복 (for) 𝛼𝑖, 𝑖 = 1, … , 𝑁 에 대해 반복 (라그랑지 승수에 대해) 라그랑지 승수 𝛼𝑖가 최적화 될 수 있다면 임의로 다른 라그랑지 승수 𝛼𝑗를 선택 새로운 𝛼𝑗를 계산 (새로운 𝛼𝑗는 목적함수의 optimization으로부터 나옴) 𝛼𝑗를 최적화 할 수 없다면 next 𝑖 continue 𝛼𝑗를 최적화 할 수 있다면 𝛼𝑖, 𝑏를 새롭게 계산 최적화된 라그랑지 승수의 쌍이 하나도 없다면, 반복 횟수 𝑀을 1 증가 시킨다. ෍ 𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 = 0 Go to Appendix 1 Go to Appendix 2
  • 51.  𝛼𝑖, 𝛼𝑗를 선택 ○ 𝛼𝑖가 최적화 될 수 있는 조건 ①라그랑지 승수 𝛼𝑖에 대응되는 샘플의 참 값(𝑡𝑖 )과, SVM계산 결과(σ 𝑗=1 𝑁 𝛼𝑗 𝑡𝑗 𝕩𝑗 𝑇 𝕩𝑖 + 𝑏) 의 차이가 허용 가능한 수치(tolerance) 이상인 경우 ②이 경우에 𝛼𝑗를 random하게 선택  새로운 𝕒에 대하여 𝑏를 구한다. ○ 새로운 𝛼𝑖와 𝛼𝑗가 적용된 𝕒  𝕒가 수렴할 때까지 위의 과정을 반복한다. ○ 최적화되는(변경되는) 라그랑지 승수의 쌍이 발견되지 않는 상황이, 미리 설정해 놓은 임계치 이상 반복될 때.
  • 52.  여백(margin) 개념을 분류기 설계에 도입하고 여백을 극대화하는 결정 초평면을 찾아내는 것 ⇒ 뛰어난 일반화 능력을 확보하는 것  커널과 관련된 매개 변수, 𝐶값을 다양하게 설정하여 성능 실험을 하고 그 중 가장 뛰어난 값을 선택 (휴리스틱)  SVM은 일반화 능력이 뛰어남.
  • 53.  패턴인식 - 오일석 저  http://cs229.stanford.edu/materials/smo.pdf  http://cs229.stanford.edu/notes/cs229-notes3.pdf - Andrew Ng  https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf  Fast Training of Support Vector Machine using Sequential Minimal Optimization, in Advances in Kernel Methods - Platt John  Machine Learning in Action - 피터 해링턴  Machine Learning-A Probabilistic Perspective - Kevin P. Murphy
  • 54.  0 < 𝛼𝑖 < 𝐶를 만족시키기 위하여 새로운 𝛼𝑗는 다음의 범위를 만족시켜야 한다. ○ 𝛼𝑖 + 𝛼𝑗 = 𝛾 (𝑡𝑖 = 𝑡𝑗) ① 𝛾 > 𝐶 a. 𝛾 − 𝐶 ≤ 𝛼𝑗 ≤ 𝐶 ② 𝛾 < 𝐶 a. 0 ≤ 𝛼𝑗 ≤ 𝛾 𝐿 = max(0, 𝛼𝑗 + 𝛼𝑖 − 𝐶), 𝐻 = min(𝐶, 𝛼𝑗 + 𝛼𝑖) ○ 𝛼𝑖 − 𝛼𝑗 = 𝛾 (𝑡𝑖 ≠ 𝑡𝑗) ① 𝛾 > 0 a. 0 ≤ 𝛼𝑗 ≤ 𝐶 − 𝛾 ② 𝛾 < 0 a. −𝛾 ≤ 𝛼𝑗 ≤ 𝐶 𝐿 = max(0, 𝛼𝑗 − 𝛼𝑖), 𝐻 = min(𝐶, 𝐶 + 𝛼𝑗 − 𝛼𝑖) 𝜶𝒋 구하기
  • 55. 𝜶𝒋 구하기 ℒ 𝕒 = ෍ 𝑖=1 𝑁 𝛼𝑖 − 1 2 ෍ 𝑖=1 𝑁 ෍ 𝑗=1 𝑁 𝛼𝑖 𝛼𝑗 𝑡𝑖 𝑡𝑗 𝕩𝑖 𝑇 𝕩𝑗 𝛼𝑖와 𝛼𝑗를 제외하고는 모두 고정된 상수로 표현 𝑡𝑖 𝛼𝑖 + 𝑡𝑗 𝛼𝑗 = Const. 위의 식을 목적함수에 대입하여 𝛼𝑗의 2차식으로 표현 1계 도함수, 2계 도함수 사용 From here!
  • 56. 𝛼𝑗 ≔ 𝛼𝑗 − 𝑡𝑗 𝐸𝑖 − 𝐸𝑗 𝜂 𝐸𝑗 = ෍ 𝑖=1 𝑁 𝛼𝑖 𝑡𝑖 𝕩𝑖 𝑇 𝕩𝑗 + 𝑏 − 𝑡𝑗 𝜂 = 2𝕩𝑖 𝑇 𝕩𝑗 − 𝕩𝑖 𝕩𝑖 − 𝕩𝑗 𝕩𝑗 𝛼𝑗 ≔ ቐ 𝐻 𝛼𝑗 𝐿 where if 𝛼𝑗 > 𝐻 if 𝐿 ≤ 𝛼𝑗 ≤ 𝐻 if 𝛼𝑗 < 𝐿 새로운 𝜶𝒋 𝛼𝑗 𝑜𝑙𝑑 𝜶𝒋 구하기 back
  • 57. 𝛼𝑖 ≔ 𝛼𝑖 + 𝑡𝑖 𝑡𝑗(𝛼𝑗 𝑜𝑙𝑑 − 𝛼𝑗) 𝑏1 = 𝑏 − 𝐸𝑖 − 𝑡𝑖 𝛼𝑖 − 𝛼𝑖 𝑜𝑙𝑑 𝕩𝑖 𝑇 𝕩𝑖 − 𝑡𝑗 𝛼𝑗 − 𝛼𝑗 𝑜𝑙𝑑 𝕩𝑖 𝑇 𝕩𝑗 𝑏2 = 𝑏 − 𝐸𝑗 − 𝑡𝑖 𝛼𝑖 − 𝛼𝑖 𝑜𝑙𝑑 𝕩𝑖 𝑇 𝕩𝑗 − 𝑡𝑗 𝛼𝑗 − 𝛼𝑗 𝑜𝑙𝑑 𝕩𝑗 𝑇 𝕩𝑗 𝑏 ≔ 𝑏1 𝑏2 𝑏1 + 𝑏2 2 if 0 < 𝛼𝑖 < 𝐶 if 0 < 𝛼𝑗 < 𝐶 if otherwise 𝛼𝑖 𝑜𝑙𝑑 새로운 𝜶𝒊 새로운 𝒃 𝜶𝒊, 𝒃 구하기 back