ماشین بردار پشتیبان Instructor : Saeed Shiry مقدمه    2 SVM دسته بندی کننده ای است که جزو شاخه Kernel Methods دریادگیری ماشین محسوب میشود . SVM در.

Download Report

Transcript ماشین بردار پشتیبان Instructor : Saeed Shiry مقدمه    2 SVM دسته بندی کننده ای است که جزو شاخه Kernel Methods دریادگیری ماشین محسوب میشود . SVM در.

‫ماشین بردار پشتیبان‬
Instructor : Saeed Shiry
1
‫مقدمه‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪2‬‬
‫‪ SVM‬دسته بندی کننده ای است که جزو شاخه ‪Kernel‬‬
‫‪ Methods‬دریادگیری ماشین محسوب میشود‪.‬‬
‫‪SVM‬در سال ‪ 1992‬توسط ‪ Vapnik‬معرفی شده و بر پایه‬
‫‪ statistical learning theory‬بنا گردیده است‪.‬‬
‫شهرت ‪ SVM‬بخاطر موفقیت آن در تشخیص حروف دست‬
‫نویس است که با شبکه های عصبی بدقت تنظیم شده برابری‬
‫میکند‪ %1.1 :‬خطا‬
‫مقدمه‬
‫‪‬‬
‫‪‬‬
‫هدف این دسته الگوریتم ها تشخیص و متمایز کردن الگوهای‬
‫پیچیده در داده هاست ( از طریق کالسترینگ‪ ،‬دسته بندی‪،‬‬
‫رنکینگ‪ ،‬پاکسازی و غیره)‬
‫مسایل مطرح‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪3‬‬
‫الگوهای پیچیده را چگونه نمایش دهیم‬
‫چگونه از مسئله ‪overfitting‬پرهیز کنیم‬
‫ایده اصلی‬
‫‪‬‬
‫‪‬‬
‫‪4‬‬
‫با فرض اینکه دسته ها بصورت خطی جداپذیر باشند‪،‬‬
‫ابرصفحه هائی با حداکثر حاشیه )‪ (maximum margin‬را‬
‫بدست می آورد که دسته ها را جدا کنند‪.‬‬
‫در مسایلی که داده ها بصورت خطی جداپذیر نباشند داده ها به‬
‫فضای با ابعاد بیشتر نگاشت پیدا میکنند تا بتوان آنها را در این‬
‫فضای جدید بصورت خطی جدا نمود‪.‬‬
‫تعریف‬

Support Vector Machines are a system for
efficiently training linear learning machines in
kernel-induced feature spaces, while
respecting the insights of generalisation
theory and exploiting optimisation theory.

Cristianini & Shawe-Taylor (2000)
5
‫مسئله جداسازی خطی‪:‬‬
‫‪Linear Discrimination‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اگر دو دسته وجود داشته باشند که بصورت خطی از هم‬
‫جداپذیر باشند‪ ،‬بهترین جدا کننده این دو دسته چیست؟‬
‫الگوریتم های مختلفی از جمله پرسپترون میتوانند این‬
‫جداسازی را انجام دهند‪.‬‬
‫آیا همه این الگوریتمها بخوبی از عهده اینکار بر میآیند؟‬
‫‪x 0w = í + 1‬‬
‫‪A+‬‬
‫‪A‬‬‫‪w‬‬
‫‪6‬‬
‫‪x 0w = í à 1‬‬
‫‪x 0w = í‬‬
‫‪Separating Surface:‬‬
Intuitions
X
X
X
O
X
X
X
X
O
O
X
O
O
O
O
O
7
Intuitions
X
X
X
O
X
X
X
X
O
O
X
O
O
O
O
O
8
Intuitions
X
X
X
O
X
X
X
X
O
O
X
O
O
O
O
O
9
Intuitions
X
X
X
O
X
X
X
X
O
O
X
O
O
O
O
O
10
A “Good” Separator
X
X
X
O
X
X
X
X
O
O
X
O
O
O
O
O
11
Noise in the Observations
X
X
X
O
X
X
X
X
O
O
X
O
O
O
O
O
12
Ruling Out Some Separators
X
X
X
O
X
X
X
X
O
O
X
O
O
O
O
O
13
Lots of Noise
X
X
X
O
X
X
X
X
O
O
X
O
O
O
O
O
14
Maximizing the Margin
X
X
X
O
X
X
X
X
O
O
X
O
O
O
O
O
15
‫ضرب داخلی‬
‫‪‬‬
‫ضرب داخلی را میتوان معیاری از تشابه دانست‬
‫‪a‬‬
‫‪q‬‬
‫‪b‬‬
‫‪a  b  a b cosq‬‬
‫‪‬‬
‫در حالت ‪ n‬بعدی میتوان آنرا بصورت زیر نمایش داد‪.‬‬
‫‪n‬‬
‫‪a b‬‬
‫‪i i‬‬
‫‪16‬‬
‫‪i 1‬‬
‫‪a, b ‬‬
‫‪a, b  R n‬‬
‫خط یا ابر صفحه جدا کننده‬
‫‪X2‬‬
‫‪X1‬‬
‫‪‬‬
‫‪‬‬
‫‪17‬‬
‫‪Class 1‬‬
‫‪Class -1‬‬
‫هدف‪ :‬پیدا کردن بهترین خط ( ابر صفحه) که دو دسته را از‬
‫هم جدا کند‪ .‬در حالت دو بعدی معادله این خط بصورت زیر‬
‫است‪:‬‬
‫‪w1 X1  w2 X 2  b  0‬‬
‫در حالت ‪ n‬بعدی خواهیم داشت‪:‬‬
‫‪T ‬‬
‫‪w .x  b  0‬‬
‫‪n‬‬
‫‪ wi.xi  b  0‬‬
‫‪i 0‬‬
‫ایده ‪ SVM‬برای جدا سازی دسته ها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫دو صفحه مرزی بسازید ‪:‬‬
‫دو صفحه مرزی موازی با صفحه دسته بندی رسم کرده و آندو را‬
‫آنقدر از هم دور میکنیم که به داده ها برخورد کنند‪.‬‬
‫صفحه دسته بندی که بیشترین فاصله را از صفحات مرزی داشته باشد‪،‬‬
‫بهترین جدا کننده خواهد بود‪.‬‬
‫‪‬‬
‫‪w.x  b  0‬‬
‫‪Class -1‬‬
‫‪Class 1‬‬
‫‪18‬‬
‫‪‬‬
‫‪w.x  b  C‬‬
‫‪ ‬‬
‫‪w.x  b  C‬‬
‫حداکثر حاشیه‬
‫‪‬‬
‫بر طبق قضیه ای در تئوری یادگیری اگر مثالهای آموزشی‬
‫بدرستی دسته بندی شده باشند‪ ،‬از بین جداسازهای خطی‪ ،‬آن‬
‫جداسازی که حاشیه داده های آموزشی را حداکثر میکند خطای‬
‫تعمیم را حداقل خواهد کرد‪.‬‬
‫‪‬‬
‫‪w.x  b  0‬‬
‫‪Class -1‬‬
‫‪Class 1‬‬
‫‪19‬‬
‫‪‬‬
‫‪w.x  b  C‬‬
‫‪ ‬‬
‫‪w.x  b  C‬‬
‫چرا حداکثر حاشیه؟‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪20‬‬
‫به نظر میرسد که مطمئن ترین راه باشد‪.‬‬
‫تئوری هائی برمبنای ‪ VC dimension‬وجود دارد که مفید‬
‫بودن آنرا اثبات میکند‪.‬‬
‫بطور تجربی این روش خیلی خوب جواب داده است‪.‬‬
‫بردار پشتیبان‬
‫‪‬‬
‫نزدیکترین داده های آموزشی به ابر صفحه های جدا کننده‬
‫بردار پشتیبان نامیده میشوند‬
‫‪X2‬‬
‫‪SV‬‬
‫‪SV‬‬
‫‪SV‬‬
‫‪X1‬‬
‫‪21‬‬
‫‪Class 1‬‬
‫‪Class -1‬‬
‫تعمیم و ‪SVM‬‬
‫‪‬‬
‫در صورت استفاده مناسب از ‪ SVM‬این الگوریتم قدرت تعمیم‬
‫خوبی خواهد داشت‪:‬‬
‫‪‬‬
‫‪‬‬
‫علیرغم داشتن ابعاد زیاد )‪ (high dimensionality‬از‬
‫‪ overfitting‬پرهیز میکند‪ .‬این خاصیت ناشی از ‪optimization‬‬
‫این الگوریتم است‬
‫فشرده سازی اطالعات‪:‬‬
‫‪‬‬
‫‪22‬‬
‫بجای داده های آموزشی از بردارهای پشتیبان استفاده میکند‪.‬‬
‫حل مسئله برای حالت دو بعدی‬
‫‪‬‬
‫نمونه های آموزشی‬
‫‪‬‬
‫تابع تصمیم گیری‬
‫‪‬‬
‫ابر صفحه‬
‫‪x  n‬‬
‫}‪y  {-1, 1‬‬
‫)‪f(x) = sign(<w,x> + b‬‬
‫‪w  n‬‬
‫‪b‬‬
‫‪‬‬
‫‪<w, x> + b = 0‬‬
‫‪w1x1 + w2x2 … + wnxn + b = 0‬‬
‫میخواهیم مقادیر ‪W, b‬رابگونه ای پیدا کنیم که‪:‬‬
‫‪ ‬نمونه های آموزشی را بدقت دسته بندی کند‬
‫‪‬‬
‫‪‬‬
‫‪23‬‬
‫با این فرض که داده ها بصورت خطی جدا پذیر باشند‬
‫حاشیه را حداکثر نماید‬
Linear SVM Mathematically

Let training set {(xi, yi)}i=1..n, xiRd, yi  {-1, 1} be
separated by a hyperplane with margin ρ. Then for each
training example (xi, yi):
wTxi + b ≤ - ρ/2 if yi = -1

wTxi + b ≥ ρ/2 if yi = 1

yi(wTxi + b) ≥ ρ/2
For every support vector xs the above inequality is an
equality. After rescaling w and b by ρ/2 in the equality,
we obtain that distance between each xs and the
hyperplane is
y s (wT x s  b)
1
r

w

w
Then the margin can be expressed through (rescaled) w
and b as:
2
  2r 
w
24
‫حل مسئله برای حالت دو بعدی‬
‫‪f(x)>0‬‬
‫‪f(x)<0‬‬
‫‪f(x)=0‬‬
‫‪X2‬‬
‫بردار ‪ w‬بر هر دو صفحه مثبت ومنفی‬
‫عمود خواهد بود‪.‬‬
‫‪b‬‬
‫‪w‬‬
‫‪x‬‬
‫‪wx  b‬‬
‫‪w‬‬
‫‪‬‬
‫‪w‬‬
‫)‪f ( x‬‬
‫‪w‬‬
‫‪X1‬‬
‫‪‬‬
‫‪‬‬
‫‪25‬‬
‫‪b‬‬
‫‪w‬‬
‫فاصله خط جداکننده از مبدا برا براست با‬
‫فاصله نمونه ای مثل ‪ x‬از خط جدا کننده برابر است با‬
‫‪wx  b‬‬
‫‪w‬‬
‫‪‬‬
‫)‪f ( x‬‬
‫‪w‬‬
‫تعیین حاشیه بین خطوط جدا کننده‬
Plus-plane = { x : w . x + b = +1 }
Minus-plane = { x : w . x + b = -1 }
Classify as..
-1 if w . x + b <= -1
+1 if w . x + b >= 1
26
‫محاسبه پهنای حاشیه‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪27‬‬
‫صفحه مثبت و منفی را بصورت زیر در نظر میگیریم‪:‬‬
‫‪ Plus-plane‬‬
‫} ‪= { x : w . x + b = +1‬‬
‫} ‪ Minus-plane = { x : w . x + b = -1‬‬
‫بردار ‪ w‬بر صفحه مثبت ومنفی عمود خواهد بود‪.‬‬
‫فرض کنید ‪ X-‬نقطه ای در صفحه منفی بوده و ‪ X+‬نزدیکترین نقطه در‬
‫صفحه مثبت به ‪ X-‬باشد‪.‬‬
‫محاسبه پهنای حاشیه‬
‫‪ ‬خطی که ‪ X-‬رابه ‪ X+‬وصل میکند بر هر دو صفحه عمود‬
‫خواهد بود‪ .‬لذا فاصله بین دو صفحه مضربی از‪ W‬خواهد بود‪.‬‬
‫در اینصورت خواهیم داشت‪:‬‬
‫‪x+= x-+ λ w‬‬
‫‪for some value of λ.‬‬
‫‪28‬‬
‫محاسبه پهنای حاشیه‬
‫‪‬‬
‫میدانیم که‪:‬‬
‫‪‬‬
‫‪w . x+ + b = +1‬‬
‫‪w . x- + b = -1‬‬
‫‪X + = x- + λ w‬‬
‫‪| x+- x-| = M‬‬
‫لذا میتوان ‪ M‬را برحسب ‪W‬و ‪ b‬محاسبه کرد‪.‬‬
‫‪29‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫محاسبه پهنای حاشیه‬




w . x+ + b = +1
w . x- + b = -1
X + = x- + λ w
| x+- x-| = M
w.( x-+ λ w) + b = +1
w.x-+ λ w.w + b = +1
-1+ λ w.w = +1
λ=2/ w.w
30
‫محاسبه پهنای حاشیه‬
‫‪31‬‬
‫محدودیت‬
‫‪‬‬
‫‪‬‬
‫اگر برای مثال دو بعدی فوق مقدار دسته ها را با ‪ 1‬و ‪-1‬‬
‫مشخص کنیم داریم‪:‬‬
‫‪<w,xi> + b ≥ 1 for y=1‬‬
‫‪<w,xi> + b  -1 for y= -1‬‬
‫که میتوان آنرابصورت زیر نوشت‬
‫‪yi (<w,xi> + b( ≥ 1 for all i‬‬
‫‪32‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫جمع بندی حل مسئله‬
‫‪‬‬
‫‪‬‬
‫در ‪ SVM‬بدنبال حل همزمان معادالت زیر هستیم‪:‬‬
‫با داشتن مثالهای آموزشی )‪ (xi, yi‬که }‪i=1,2,…N; yi{+1,-1‬‬
‫‪Minimise ||w||2‬‬
‫‪Subject to : yi (<w,xi> + b( ≥ 1 for all i‬‬
‫‪Note that ||w||2 = wTw‬‬
‫‪‬‬
‫‪33‬‬
‫این یک مسئله ‪ quadratic programming‬با محدودیت هائی‬
‫بصورت نامعادالت خطی است‪ .‬روشهای شناخته شده ای برای چنین‬
‫مسئله هائی بوجود آمده اند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
Quadratic Programming
34
Recap of Constrained
Optimization




Suppose we want to: minimize f(x) subject to g(x) = 0
A necessary condition for x0 to be a solution:
a: the Lagrange multiplier
For multiple constraints gi(x) = 0, i=1, …, m, we need a
Lagrange multiplier ai for each of the constraints
35
Recap of Constrained
Optimization

The case for inequality constraint gi(x)  0 is similar, except that the
Lagrange multiplier ai should be positive
If x0 is a solution to the constrained optimization problem

There must exist ai ≥ 0 for i=1, …, m such that x0 satisfy


The function
we want to set its gradient to 0
is also known as the Lagrangrian;
36
‫راه حل معادله‬

Construct & minimise the Lagrangian
N
1
2
L(w, b,a )  || w || a i [ yi (wxi  b)  1]
2
i 1
wrt.constrainta i  0, i  1,...N

Take derivatives wrt. w and b, equate them to 0
N
L(w, b,a )
 w  a i yi xi  0
w
i 1
L(w, b,a ) N
 a i yi  0
b
i 1
KKT cond : a i [ yi (wxi  b)  1]  0
parameters are expressed as a linear
combination of training points
only SVs will have non-zero ai
The Lagrange multipliers ai are called ‘dual variables’
Each training point has an associated dual variable.
37
‫راه حل معادله‬
Class 2
a8=0.6 a10=0
a7=0
a5=0
a4=0
a9=0
Class 1
a2=0
a1=0.8
a6=1.4
a3=0
38
The Dual Problem

If we substitute

Note that

This is a function of ai only
to Lagrangian , we have
39
The Dual Problem





The new objective function is in terms of ai only
It is known as the dual problem: if we know w, we know all ai;
if we know all ai, we know w
The original problem is known as the primal problem
The objective function of the dual problem needs to be
maximized!
The dual problem is therefore:
Properties of ai when we introduce
the Lagrange multipliers
The result when we differentiate the
original Lagrangian w.r.t. b
40
The Dual Problem

This is a quadratic programming (QP)
problem


A global maximum of ai can always be found
w can be recovered by
41
‫راه حل معادله‬





a y x  iSV a i yi x i
So, w 
i 1 i i i
Plug this back into the Lagrangian to obtain the dual formulation
The resulting dual that is solved for a by using a QP solver:
N
maximise: W (a )  
1 N
N
a
a
y
y
x
x

 i j i j i j i1a i
2 i , j 1
subject to: i 1a i yi  0, a i  0, i  1,...N
N

The b does not appear in the dual so
it is determined separately
from the initial constraints
Data enters only
in the form of
dot products!
42
‫دسته بندی داده های جدید‬
‫‪‬‬
‫‪‬‬
‫پس از آنکه مقادیر )*‪ (a*, b‬با حل معادالت ‪ quadratic‬بر اساس داده های‬
‫ورودی بدست آمد‪ ،‬میتوان ‪ SVM‬را برای دسته بندی نمونه های جدید بکار برد‪.‬‬
‫اگر ‪x‬یک نمونه جدید باشد‪ ،‬دسته بندی آن بصورت زیر مشخص میشود‪:‬‬
‫‪sign[f(x, a*, b*)], where‬‬
‫*‪f (x,a , b )  w x  b  i 1a i* yi xi x  b*  iSV a i* yi xi x  b‬‬
‫‪N‬‬
‫‪Data enters only‬‬
‫‪in the form of‬‬
‫!‪dot products‬‬
‫‪43‬‬
‫*‬
‫*‬
‫*‬
‫*‬
‫‪‬‬
‫ویژگی های راه حل‬



The solution of the SVM, i.e. of the quadratic
programming problem with linear inequality
constraints has the nice property that the data
enters only in the form of dot products!
Dot product (notation & memory refreshing): given
x=(x1,x2,…xn) and y=(y1,y2,…yn), then the dot
product of x and y is xy=(x1y1, x2y2,…, xnyn).
This is nice because it allows us to make SVMs nonlinear without complicating the algorithm
44
The Quadratic Programming
Problem




Many approaches have been proposed
 Loqo, cplex, etc.
Most are “interior-point” methods
 Start with an initial solution that can violate the constraints
 Improve this solution by optimizing the objective function and/or
reducing the amount of constraint violation
For SVM, sequential minimal optimization (SMO) seems to be
the most popular
 A QP with two variables is trivial to solve
 Each iteration of SMO picks a pair of (ai,aj) and solve the QP
with these two variables; repeat until convergence
In practice, we can just regard the QP solver as a “black-box”
without bothering how it works
45
‫داده هائی که بصورت خطی جدا پذیر نیستند‬
‫‪‬‬
‫یک فرض بسیار قوی در ‪ SVM‬این بود که داده ها بصورت‬
‫خطی جداپذیر باشند‪ .‬در حالیکه در عمل در بسیاری مواقع این‬
‫فرض صحیح نیست‪.‬‬
‫‪+ ‬‬
‫‪‬‬
‫‪+‬‬
‫‪+‬‬
‫‪‬‬
‫‪‬‬
‫‪+ +‬‬
‫‪ ‬‬
‫‪+‬‬
‫‪+‬‬
‫‪46‬‬
‫افزودن متغیر های ‪slack‬‬
‫‪‬‬
‫‪‬‬
‫یک راه حل این است که اندکی کوتاه آمده و مقداری خطا در دسته بندی‬
‫را بپذیریم!‬
‫این کار با معرفی متغیر ‪ xi‬انجام میشود که نشانگر تعداد نمونه هائی‬
‫است که توسط تابع ‪ wTx+b‬غلط ارزیابی میشوند‪.‬‬
‫‪Class 2‬‬
‫‪Class 1‬‬
‫‪47‬‬
‫افزودن متغیر های ‪slack‬‬
‫‪‬‬
‫با معرفی متغیر ‪ xi, i=1, 2, …, N,‬محدودیت های قبلی ساده‬
‫تر شده و رابطه‬
‫‪yi (<w,xi> + b( ≥1‬‬
‫‪‬‬
‫بصورت زیر تغییر میکند‪:‬‬
‫‪‬‬
‫در حالت ایده آل همه این متغیر ها باید صفر باشند‪.‬‬
‫‪yi (<w,xi> + b( ≥1 -xi , xi ≥ 0‬‬
‫‪48‬‬
‫‪‬‬
‫در اینصورت مسئله بهینه سازی تبدیل میشود به یافتن ‪ w‬به‬
‫نحوی که معادله زیر مینیمم شود‪:‬‬
‫‪1 w 2  Cx 2‬‬
‫‪i‬‬
‫‪2‬‬
‫‪i‬‬
‫‪To‬‬
‫‪subject‬‬
‫‪yi (w T x i  b)  1  x i , x i  0, i‬‬
‫‪‬‬
‫‪49‬‬
‫که در آن ‪ C > 0‬میباشد‪ .‬جمله اضافه شدن سعی دارد تا حد‬
‫امکان همه متغیرهای ‪ slack‬را کوچک نماید‪.‬‬
‫‪‬‬
‫رابطه دوگان در حالت جدید بصورت زیر خواهد بود‪.‬‬
‫‪T‬‬
‫‪yi y j x i x j‬‬
‫‪j‬‬
‫‪aa‬‬
‫‪2‬‬
‫‪i‬‬
‫‪j‬‬
‫‪1‬‬
‫‪i‬‬
‫‪a‬‬
‫‪i‬‬
‫‪find ai that maximizes‬‬
‫‪i‬‬
‫‪i 1a i yi  0,‬‬
‫‪N‬‬
‫‪0  a i  C , i‬‬
‫‪‬‬
‫‪50‬‬
‫‪subject to‬‬
‫مقدار مناسب ‪ C‬بر اساس داده های مسئله انتخاب میشود‪.‬‬
Soft Margin Hyperplane

If we minimize wi xi, xi can be computed by

xi are “slack variables” in optimization



We want to minimize


Note that xi=0 if there is no error for xi
xi is an upper bound of the number of errors
C : tradeoff parameter between error and margin
The optimization problem becomes
51
The Optimization Problem

The dual of this new constrained optimization problem is

w is recovered as

This is very similar to the optimization problem in the linear
separable case, except that there is an upper bound C on ai now
Once again, a QP solver can be used to find ai

52
‫مسئله جداسازی غیر خطی ‪:‬‬
‫یادگیری در فضای ویژگی‬
‫‪‬‬
‫‪53‬‬
‫میتوان با نگاشت داده به یک فضای ویژگی آنها را بصورت‬
‫خطی جداپذیر نمود‪:‬‬
‫تبدل داده به فضای ویژگی‬
‫) (‪f‬‬
‫) (‪f‬‬
‫) (‪f( ) f( ) f‬‬
‫) (‪f‬‬
‫) (‪f‬‬
‫) (‪f‬‬
‫) (‪f( ) f‬‬
‫) (‪f( ) f‬‬
‫) (‪f‬‬
‫) (‪f( ) f‬‬
‫) (‪f‬‬
‫) (‪f‬‬
‫) (‪f‬‬
‫‪Feature space‬‬
‫‪Note: feature space is of higher dimension‬‬
‫‪than the input space in practice‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪54‬‬
‫)‪f(.‬‬
‫‪Input space‬‬
‫انجام محاسبات در فضای ویژگی میتواند پرهزینه باشد برای اینکه ابعاد بیشتری دارد‪.‬‬
‫در حالت کلی ابعاد این فضا بی نهایت است‪.‬‬
‫برای غلبه بر این مشکل از ‪ kernel trick‬استفاده میشود‪.‬‬
‫مشکالت فضای ویژگی‬
‫‪‬‬
‫‪‬‬
‫‪55‬‬
‫کار کردن با فضای ویژگی با ابعاد باال مشکل است‬
‫عالوه بر مسئله باال رفتن هزینه محاسباتی ممکن است مشکل‬
‫تعمیم نیز بواسطه ‪ curse of dimensionality‬بوجود آید‪.‬‬
‫نگاشت غیر مستقیم به فضای ویژگی‬

We will introduce Kernels:




Solve the computational problem of working with
many dimensions
Can make it possible to use infinite dimensions
efficiently in time / space
Other advantages, both practical and conceptual
56
‫کرنل‬



Transform x  f(x)
The linear algorithm depends only on xxi,
hence transformed algorithm depends only
on f(x)f(xi)
Use kernel function K(xi,xj) such that K(xi,xj)=
f(x)f(xi)
57
An Example for f(.) and K(.,.)

Suppose f(.) is given as follows

An inner product in the feature space is

So, if we define the kernel function as follows, there is no need to
carry out f(.) explicitly

This use of kernel function to avoid carrying out f(.) explicitly is
known as the kernel trick
58
:‫کرنل های نمونه‬
m - th Degree polynomial: K ( x, x' )  (1  ( x, x' ))m
Radial basis : K ( x, x' )  exp( || x  x' ||2 / c)
Neural network: K ( x, x' )  tanh(k1  x, x'   k 2)
 x12



f (x)   2 x1 x2 
 2

 x2



K (x i , x j )  (x i x j ) 2
59
‫مثال‪ :‬کرنل چند جمله ای‬
‫‪60‬‬
Modification Due to Kernel
Function


Change all inner products to kernel functions
For training,
Original
With kernel
function
61
Modification Due to Kernel
Function

For testing, the new data z is classified as
class 1 if f0, and as class 2 if f <0
Original
With kernel
function
62
Modularity

Any kernel-based learning algorithm composed of
two modules:





A general purpose learning machine
A problem specific kernel function
Any K-B algorithm can be fitted with any kernel
Kernels themselves can be constructed in a
modular way
Great for software engineering (and for analysis)
63
‫ساخت کرنل ها‬
‫‪‬‬
‫مجموعه قوانین زیر در مورد کرنل ها صادق است‪:‬‬
‫‪If K, K’ are kernels, then:‬‬
‫‪K+K’ is a kernel‬‬
‫‪cK is a kernel, if c>0‬‬
‫‪aK+bK’ is a kernel, for a,b >0‬‬
‫……‪Etc etc etc‬‬
‫‪‬‬
‫‪64‬‬
‫به این ترتیب میتوان کرنل های پیچیده را از روی کرنل‬
‫های ساده تر ساخت‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
Example



Suppose we have 5 1D data points
 x1=1, x2=2, x3=4, x4=5, x5=6, with 1, 2, 6 as class 1 and 4, 5
as class 2  y1=1, y2=1, y3=-1, y4=-1, y5=1
We use the polynomial kernel of degree 2
 K(x,y) = (xy+1)2
 C is set to 100
We first find ai (i=1, …, 5) by
65
Example

By using a QP solver, we get



a1=0, a2=2.5, a3=0, a4=7.333, a5=4.833
Note that the constraints are indeed satisfied
The support vectors are {x2=2, x4=5, x5=6}

The discriminant function is

b is recovered by solving f(2)=1 or by f(5)=-1 or by
f(6)=1, as x2 and x5 lie on the line
and x4 lies on the line
All three give b=9

66
Example
Value of discriminant function
class 1
class 1
class 2
1
2
4
5
6
67
‫مثالی از کاربرد‬
‫‪‬‬
‫تشخیص حروف دست‬
‫نویس‬
‫‪‬‬
‫‪68‬‬
‫در اداره پست آمریکا‬
‫با استفاده از این روش‬
‫توانسته اند به خطائی‬
‫در حدود ‪ %4‬برسند‪.‬‬
‫ برای دسته بندی‬SVM ‫مراحل استفاده از‬




Prepare the data matrix
Select the kernel function to use
Execute the training algorithm using a QP
solver to obtain the ai values
Unseen data can be classified using the ai
values and the support vectors
69
‫انتخاب تابع کرنل‬





.‫ انتخاب تابع کرنل است‬SVM ‫ جدی ترین مسئله در روش‬
:‫ روشها و اصول متعددی برای این کار معرفی شده اسـت‬
diffusion kernel, Fisher kernel, string kernel, …
‫و تحقیقاتی نیز برای بدست آوردن ماتریس کرنل از روی داده های موجود‬
.‫در حال انجام است‬
‫در عمل‬
In practice, a low degree polynomial kernel or RBF
kernel with a reasonable width is a good initial try
Note that SVM with RBF kernel is closely related to
RBF neural networks, with the centers of the radial
basis functions automatically chosen for SVM
70
SVM applications






SVMs were originally proposed by Boser, Guyon and Vapnik in
1992 and gained increasing popularity in late 1990s.
SVMs are currently among the best performers for a number of
classification tasks ranging from text to genomic data.
SVMs can be applied to complex data types beyond feature
vectors (e.g. graphs, sequences, relational data) by designing
kernel functions for such data.
SVM techniques have been extended to a number of tasks such
as regression [Vapnik et al. ’97], principal component analysis
[Schölkopf et al. ’99], etc.
Most popular optimization algorithms for SVMs use
decomposition to hill-climb over a subset of αi’s at a time, e.g.
SMO [Platt ’99] and [Joachims ’99]
Tuning SVMs remains a black art: selecting a specific kernel
and parameters is usually done in a try-and-see manner.
71
SVM ‫نقاط قوت و ضعف‬

Strengths








Training is relatively easy
Good generalization in theory and practice
Work well with few training instances
Find globally best model, No local optimal, unlike in neural
networks
It scales relatively well to high dimensional data
Tradeoff between classifier complexity and error can be
controlled explicitly
Non-traditional data like strings and trees can be used as
input to SVM, instead of feature vectors
Weaknesses

Need to choose a “good” kernel function.
72
‫نتیجه گیری‬

SVMs find optimal linear separator



They pick the hyperplane that maximises the margin
The optimal hyperplane turns out to be a linear
combination of support vectors
The kernel trick makes SVMs non-linear learning
algorithms

Transform nonlinear problems to higher dimensional space
using kernel functions; then there is more chance that in
the transformed space the classes will be linearly
separable.
73
SVM ‫سایر جنبه های‬

How to use SVM for multi-class classification?




How to interpret the SVM discriminant function value
as probability?


One can change the QP formulation to become multi-class
More often, multiple binary classifiers are combined
One can train multiple one-versus-all classifiers, or
combine multiple pairwise classifiers “intelligently”
By performing logistic regression on the SVM output of a
set of data (validation set) that is not used for training
Some SVM software (like libsvm) have these
features built-in
74
Multi-class Classification




SVM is basically a two-class classifier
One can change the QP formulation to allow multiclass classification
More commonly, the data set is divided into two
parts “intelligently” in different ways and a separate
SVM is trained for each way of division
Multi-class classification is done by combining the
output of all the SVM classifiers



Majority rule
Error correcting code
Directed acyclic graph
75
‫نرم افزار‬
‫‪ ‬لیستی از نرم افزار های مختلف را میتوانید در آدرس زیر‬
‫بیابید‪:‬‬
‫‪http://www.kernel-machines.org/software.html‬‬
‫‪ ‬برخی نرم افزارها نظیر ‪ LIBSVM‬میتوانند بصورت چند‬
‫دسته ای کار کنند‪.‬‬
‫‪ ‬نرم افزار ‪ SVMLight‬در مراجع مختلفی بکار رفته است‪.‬‬
‫‪ ‬چندین ‪ toolbox‬در ‪ Matlab‬برای ‪ SVM‬معرفی شده اند‪.‬‬
‫‪76‬‬
‫‪‬‬
‫مراجع‬
[1] b.E. Boser et al. A training algorithm for optimal margin classifiers.
Proceedings of the fifth annual workshop on computational learning
theory 5 144-152, Pittsburgh, 1992.
[2] l. Bottou et al. Comparison of classifier methods: a case study in
handwritten digit recognition. Proceedings of the 12th IAPR
international conference on pattern recognition, vol. 2, pp. 77-82.
[3] v. Vapnik. The nature of statistical learning theory. 2nd edition,
Springer, 1999.
77