More Related Content
PPTX
PDF
내가 이해하는 SVM(왜, 어떻게를 중심으로) PDF
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01 PDF
PDF
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신 PDF
PRML Chapter 7 SVM supplementary files PDF
Support Vector Machine Tutorial 한국어 PPTX
Support vector machine for graduate course in Sogang university Similar to Support Vector Machine - 기본 이해와 OpenCV 실습.pdf
PDF
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기 PDF
PDF
Machine learning bysogood PPTX
PPTX
Ensemble Model (Hybrid model) PPTX
Python Machine Learning - ML03 Support Vector Machine(서포트 벡터 머신) PDF
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic PDF
Ch.5 machine learning basics PDF
5.model evaluation and improvement PDF
PDF
PDF
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게 PDF
From maching learning to deep learning episode2 PDF
PDF
PPTX
데이터분석의 길 4: “고수는 통계학습의 달인이다” PDF
PPTX
PDF
PDF
More from Hansol Kang
PPTX
관측 임무스케줄링 (Selecting and scheduling observations of agile satellites) PDF
Photo-realistic Single Image Super-resolution using a Generative Adversarial ... PDF
이 세계로의 전송_파이썬과 함께하는 궤도모험.pdf PDF
LSGAN - SIMPle(Simple Idea Meaningful Performance Level up) PPTX
PDF
PDF
PDF
PDF
Deep Convolutional GANs - meaning of latent space PDF
PyTorch 튜토리얼 (Touch to PyTorch) PDF
PDF
신뢰 전파 기법을 이용한 스테레오 정합(Stereo matching using belief propagation algorithm) PDF
PDF
ROS 시작하기(Getting Started with ROS:: Your First Steps in Robot Programming ) PDF
HSV 컬러 공간에서의 레티넥스와 채도 보정을 이용한 화질 개선 기법 PDF
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet) PDF
InfoGAN : Interpretable Representation Learning by Information Maximizing Gen... PDF
쉽게 설명하는 GAN (What is this? Gum? It's GAN.) PDF
문서와 개발에 필요한 간단한 팁들(Too easy, but important things - document, development) PDF
Support Vector Machine - 기본 이해와 OpenCV 실습.pdf
- 1.
- 2.
- 3.
- 4.
4
SVM의 개념과 이론
§SVM은 최대 마진 분류기
§
1
2
3
Hyper Plane
Support Vector
Margin
즉, 이상적인 분류기는 Margin이 최대화 되는 Hyper Plane을 찾는 것
§
§
§
- 5.
5
SVM의 개념과 이론
§SVM은 최대 마진 분류기
§
§ 𝑎𝑥 + 𝑏𝑦 + 𝑐 = 0
§ 𝑎 𝑏 )
𝑥
𝑦 + 𝑐 = 0
§
§ 𝑤! 𝑤" )
𝑥
𝑦 + 𝑏 = 0
§ +
𝒘𝑻
) +
𝑿 + 𝒃 = 𝟎
§
§ +
𝑤$
) ̅
𝑥" = −𝑏
§ +
𝑤$ ) ̅
𝑥! = −𝑏
§ +
𝑤$
) ( ̅
𝑥" − ̅
𝑥!) = 0
§ +
𝒘𝑻
!
𝑤
!
#
$
𝑋
+
𝑏
=
0
+
𝑤$
!
𝒙𝟏
!
𝒙𝟐
!
𝒙𝟐 − !
𝒙𝟏
- 6.
6
SVM의 개념과 이론
§SVM은 최대 마진 분류기
§
§
§ +
𝑤$ ) 4
𝑋 + 𝑏 = 1, +
𝑤$ ) 4
𝑋 + 𝑏 = −1
§
§ +
𝑤$ ) 4
𝑋 + 𝑏 ≥ 1
§ +
𝑤$
) 4
𝑋 + 𝑏 ≤ −1
§
§ 𝑦%(+
𝑤$
) +
𝑥% + 𝑏) ≥ 1
!
𝑤
!
#
$
𝑋
+
𝑏
=
−
1
!
𝑤
!
#
$
𝑋
+
𝑏
=
0
!
𝑤
!
#
$
𝑋
+
𝑏
=
1
+
𝑤$
- 7.
7
SVM의 개념과 이론
§SVM은 최대 마진 분류기
§
§ +
𝑤$
) 4
𝑋 + 𝑏 ≥ 1, +
𝑤$
) 4
𝑋 + 𝑏 ≤ −1
§
§ 𝑦%(+
𝑤$
) +
𝑥% + 𝑏) − 1 ≥ 0. <
+
𝑋%: 𝑃𝑙𝑢𝑠 𝐷𝑎𝑡𝑎 , +
𝑌%: +1
+
𝑋%: 𝑀𝑖𝑛𝑢𝑠 𝐷𝑎𝑡𝑎 , +
𝑌%: −1
§
§
§ margin = ( ̅
𝑥& − ̅
𝑥') )
(
)!
(
)!
§
̅
+", (
)!
(
)! −
̅
+#, (
)!
(
)!
§ =
'-&!
(
)! −
'-'!
(
)! =
𝟐
(
𝒘
§ +
𝒘
Constraint
̅
𝑥#
̅
𝑥$
!
𝒙$
− !
𝒙#
!
𝑤
!
#
$
𝑋
+
𝑏
=
−
1
!
𝑤
!
#
$
𝑋
+
𝑏
=
0
!
𝑤
!
#
$
𝑋
+
𝑏
=
1
+
𝑤$
- 8.
8
SVM의 개념과 이론
§어떻게 최적화 할까?
§ 𝑦%(+
𝑤$
) +
𝑥% + 𝑏) − 1 ≥ 0 +
𝑤
§
§ 𝑓 𝑥, 𝑦 = 𝑎𝑥 + 𝑏𝑦 + 𝑐 𝑔 𝑥, 𝑦 = 𝑥" + 𝑦" − 𝑟"
§
§ 𝜵𝒇 𝒙, 𝒚 = 𝝀 𝜵𝒈 𝒙, 𝒚 →
§ 𝒈 𝒙, 𝒚 = 𝟎 →
§ L = 𝑓(𝑥, 𝑦) − 𝜆𝑔(𝑥, 𝑦)
§ 𝛻+,1,2L = 0
§ L = 𝑓(𝑥, 𝑦) − ∑%3!
4
𝜆%𝑔%(𝑥, 𝑦)
𝑔 𝑥, 𝑦
𝑓 𝑥, 𝑦
- 9.
9
SVM의 개념과 이론
§어떻게 최적화 할까?
§
§
§
§ 𝛻+,1,2L = 0
§ L(𝜃, 𝛼) = 𝑓(𝜃) − ∑!"#
$
𝛼!(𝑔!(𝜃)) 𝑔!(𝜃) ≥ 0
§
§
%&
%'"
= 0, 𝑖 = 1, … , 𝑘
§
§ 𝛼! ≥ 0, 𝑖 = 1, … , 𝑘
§
§ 𝛼!𝑔! (𝜃) = 0, 𝑖 = 1, … , 𝑘
- 10.
10
SVM의 개념과 이론
§어떻게 최적화 할까?
§ +
𝑤
!
"
+
𝑤 "
§
𝟏
𝟐
+
𝒘 𝟐 𝒚𝒊(+
𝒘𝑻 ) +
𝒙𝒊 + 𝒃) − 𝟏 ≥ 𝟎
§
§ 𝐿 =
!
"
+
𝑤 "
− ∑%3!
7
𝛼% 𝑦% +
𝑤$
) ̅
𝑥% + 𝑏 − 1
𝜕𝐿
𝜕#
𝑤
= #
𝑤 − ' 𝛼_𝑦_ ̅
𝑥_ = 0
𝜕𝐿
𝜕𝑏
= − ' 𝛼_𝑦_ = 0
#
𝑤 = ' 𝛼_𝑦_ ̅
𝑥_
' 𝛼_𝑦_ = 0
KKT Condition 1 KKT Condition 2
KKT Condition 3
𝛼_ ≥ 0
𝛼_(𝑦_ #
𝑤` 0 ̅
𝑥_ + 𝑏 − 1) = 0
- 11.
11
SVM의 개념과 이론
§어떻게 최적화 할까?
§ 𝐿 =
#
(
3
𝑤 ( − ∑!"#
)
𝛼! 𝑦! 3
𝑤* 6 ̅
𝑥! + 𝑏 − 1
§ =
#
(
3
𝑤 ( − ∑ 𝛼!𝑦! 3
𝑤* ̅
𝑥! − 𝑏 ∑ 𝛼!𝑦! + ∑ 𝛼!
§
#
(
3
𝑤 ( +#+
(
=
+# ∑ -"." ̅
0"
(
∑ -"." ̅
0"+#
(
§ 𝐿 = −
∑ -"." ̅
0"+#
(
+ ∑ 𝛼!
§ −
∑ -"." ̅
0" ∑ -$.$ ̅
0$
(
+ ∑ 𝛼!
§ ∑ 𝛼! −
∑ ∑ -"-$.".$ ̅
0" ̅
0$
(
§ 𝛻- 𝐿 = 0
§ 𝛼
§ 𝑤∗ = ∑ 𝛼!
∗𝑦! ̅
𝑥! 𝑤∗ 6 ̅
𝑥23 + 𝑏∗ = +1
#
𝑤 = ' 𝛼_𝑦_ ̅
𝑥_
' 𝛼_𝑦_ = 0
KKT Condition 2
KKT Condition 3
𝛼_ ≥ 0
𝛼_(𝑦_ #
𝑤 0 ̅
𝑥_ + 𝑏 − 1) = 0
- 12.
12
SVM의 개념과 이론
§실제로 어떻게 풀까?
𝑥a = (−1,2), 𝑥b = −3,3 , 𝑥c = (1, −2)
L = ' 𝛼_ −
1
2
'
_
'
d
𝛼_𝛼d𝑦_𝑦d( ̅
𝑥_ 0 ̅
𝑥d)
5 9 5
9 18 9
5 9 5
𝑦%𝑦8( ̅
𝑥% ) ̅
𝑥8)
= 𝛼a + 𝛼b + 𝛼c −
5
2
𝛼a
b − 9𝛼b
b −
5
2
𝛼c
b
− 9𝛼a𝛼b − 5𝛼a𝛼c − 9𝛼b𝛼c
𝑦a = 1, 𝑦b = 1, 𝑦c = −1
- 13.
13
SVM의 개념과 이론
§실제로 어떻게 풀까?
§ 𝐿 = 𝛼# + 𝛼( + 𝛼4 −
5
(
𝛼#
( − 9𝛼(
( −
5
(
𝛼4
( − 9𝛼#𝛼( − 5𝛼#𝛼4 − 9𝛼(𝛼4
§
§ ∑ 𝛼!𝑦! = 𝛼# + 𝛼( − 𝛼4 = 0 𝛼# ≥ 0, 𝛼( ≥ 0, 𝛼4 ≥ 0
§ 𝛼%(𝑦% +
𝑤$ ) ̅
𝑥% + 𝑏 − 1 = 0
§
§ 𝛼! = 0
§ 𝛼" = 0
§ 𝛼9 = 0
§ 𝛼! ≠ 0, 𝛼" ≠ 0, 𝛼9 ≠ 0
- 14.
14
SVM의 개념과 이론
§실제로 어떻게 풀까?
§ 𝜶𝟏 = 𝟎
§ 𝛼( − 𝛼4 = 0 𝛼( = 𝛼4
§ 𝐿 = 𝛼# + 𝛼( + 𝛼4 −
5
(
𝛼#
( − 9𝛼(
( −
5
(
𝛼4
( − 9𝛼#𝛼( − 5𝛼#𝛼4 − 9𝛼(𝛼4
§ L = 2𝛼( −
6#
(
𝛼(
(
§
%&
%-%
= 2 − 41𝛼( = 0
§ 𝛼( = 0.049, 𝛼4 = 0.049, 𝛼# = 0
§ 3
𝒘 = ∑ 𝛼!𝑦! ̅
𝑥! = 0.049 −3,3 − (1, −2) = 0.049 −4,5 = (−𝟎. 𝟏𝟗𝟔, 𝟎. 𝟐𝟒𝟓)
§ 𝛼![𝑦! 3
𝑤 6 ̅
𝑥! + 𝑏 − 1] = 0.049[(−0.196,0.245) 6 −3,3 + 𝑏 − 1] = 0
§ 𝒃 = 1 − −0.196,0.245 6 −3,3 = 1 − 1.323 = −𝟎. 𝟑𝟐𝟑
- 15.
15
SVM의 개념과 이론
§실제로 어떻게 풀까?
§ 𝜶𝟏 = 𝟎
§ 3
𝑤 = (−0.196,0.245)
§ 𝑏 = −0.323
§ 3
𝑤 6 𝑥# + 𝑏 ≥ 1 −0.196,0.245 6 −1,2 − 0.323 = 0.363
§ 3
𝑤 6 𝑥( + 𝑏 ≥ 1 −0.196,0.245 6 −3,3 − 0.323 = 1
§ 3
𝑤 6 𝑥4 + 𝑏 ≤ −1 −0.196,0.245 6 1, −2 − 0.323 = −1
SV
SV
Not satisfied
- 16.
16
SVM의 개념과 이론
§실제로 어떻게 풀까?
§ 𝜶𝟐 = 𝟎
§ 𝛼! − 𝛼9 = 0 𝛼! = 𝛼9
§ 𝐿 = 𝛼! + 𝛼" + 𝛼9 −
:
"
𝛼!
"
− 9𝛼"
"
−
:
"
𝛼9
"
− 9𝛼!𝛼" − 5𝛼!𝛼9 − 9𝛼"𝛼9
§ L = 2𝛼! − 10𝛼!
"
§
;<
;=$
= 2 − 20𝛼! = 0
§ 𝛼! = 0.1, 𝛼9 = 0.1, 𝛼" = 0
§ +
𝒘 = ∑ 𝛼%𝑦% ̅
𝑥% = 0.1 −1,2 − (1, −2) = 0.1 −2,4 = (−𝟎. 𝟐, 𝟎. 𝟒)
§ 𝛼%[𝑦% +
𝑤 ) ̅
𝑥% + 𝑏 − 1] = 0.1[(−0.2,0.4) ) −1,2 + 𝑏 − 1] = 0
§ 𝒃 = 1 − −0.2,0.4 ) −1,2 = 1 − 1 = 𝟎
- 17.
17
SVM의 개념과 이론
§실제로 어떻게 풀까?
§ 𝜶𝟐 = 𝟎
§ 3
𝑤 = (−0.2,0.4)
§ 𝑏 = 0
§ 3
𝑤 6 𝑥# + 𝑏 ≥ 1 −0.2,0.4 6 −1,2 = 1
§ 3
𝑤 6 𝑥( + 𝑏 ≥ 1 −0.2,0.4 6 −3,3 = 1.8
§ 3
𝑤 6 𝑥4 + 𝑏 ≤ −1 −0.2,0.4 6 1, −2 = −1
§ 𝜶𝟑 = 𝟎
§ 𝛼# + 𝛼( = 0
§ ∵ ∑ 𝛼!𝑦! = 𝛼# + 𝛼( − 𝛼4 = 0 𝛼# ≥ 0, 𝛼( ≥ 0, 𝛼4 ≥ 0)
Satisfied
SV
SV
- 18.
18
SVM의 개념과 이론
§실제로 어떻게 풀까?
§ 𝜶𝟏 ≠ 𝟎, 𝜶𝟐 ≠ 𝟎, 𝜶𝟑 ≠ 𝟎
§ 𝐿 = 𝛼# + 𝛼( + 𝛼4 −
5
(
𝛼#
( − 9𝛼(
( −
5
(
𝛼4
( − 9𝛼#𝛼( − 5𝛼#𝛼4 − 9𝛼(𝛼4
§
%&
%-&
= 1 − 5𝛼# − 9𝛼( − 5𝛼4 = 0
§
%&
%-%
= 1 − 18𝛼( − 9𝛼# − 9𝛼4 = 0
§
%&
%-'
= 1 − 5𝛼4 − 5𝛼# − 9𝛼( = 0
5 9 5
9 18 9
5 9 5
𝛼#
𝛼(
𝛼4
=
1
1
1
𝛼#
𝛼(
𝛼4
=
5 9 5
9 18 9
5 9 5
7#
1
1
1
=
0.5
−0.444
0.5
Impossible case
- 19.
19
SVM의 개념과 이론
§실제로 어떻게 풀까?
§
§ +
𝑤 = (−0.2,0.4)
§ 𝑏 = 0
§ +
𝑤 ) (𝑥, 𝑦) + 𝑏 = 0
§ −0.2𝑥 + 0.4𝑦 = 0
§ 𝑦 = 0.5𝑥
- 20.
- 21.
- 22.
22
SVM의 개념과 이론
§만약 아래처럼 구분하기 힘든 경우라면?
§
𝑘 ̅
𝑥_, ̅
𝑥d = ̅
𝑥_ 0 ̅
𝑥d
Φ( ̅
𝑥_) 0 Φ( ̅
𝑥d)
𝐿 = ' 𝛼_ −
1
2
'
_
'
d
𝛼_𝛼d𝑦_𝑦d( ̅
𝑥_ 0 ̅
𝑥d)
𝑘 ̅
𝑥_, ̅
𝑥d = (1 + ̅
𝑥_ 0 ̅
𝑥d)o
𝑘 ̅
𝑥_, ̅
𝑥d = 𝑒
p ̅
q&p ̅
q'
(
br(
Linear :
Polynomial :
Gaussian
(RBF) :
𝑘 ̅
𝑥_, ̅
𝑥d = (Φ( ̅
𝑥_) 0 Φ( ̅
𝑥d))
- 23.
23
OpenCV를 이용한 SVM
§cv::ml::SVM
• static Ptr<SVM> create()
•
• virtual void SVM::setType(int val)
•
•
•
•
•
•
•
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
31
References
§ OpenCV로 배우는컴퓨터 비전과 머신러닝 - 황선규
§ OpenCV를 위한 머신 러닝 마이클 베이어
§ 인공지능입문 10주차 1교시: 서포트 벡터 머신 (SVM)
https://youtu.be/JW2BsQZoqpw?si=ZZnl_eGiWZInW-Dp
§ [핵심 머신러닝] SVM 모델 1 (Margin, Hard Margin Linear SVM)
https://youtu.be/qFg8cDnqYCI?si=tuvnBGzQhG5aWjHR
§ (Docceptor 머신러닝 8-3) SVM 이해를 위한 Lagrange Multiplier & KKT condition
https://youtu.be/DyUW3UKxHOo?si=BkKDSqhFmCB_Rs6S
§ (Docceptor 머신러닝 8-4) 본격 SVM boundary 수학적 이해 및 유도-1
https://youtu.be/yKkzx9x2yug?si=IvVgI6aVIfjoI1lC
§ (Docceptor 머신러닝 8-5) 본격 SVM boundary 수학적 이해 및 유도-2
https://youtu.be/MV3YJmJ9ysk?si=xdZs6gdlYECq3V8V