Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
ایعصثیهصعی ضثک01-713-11-43
ترصچاضم
داوشگاي شهيد بهشتیداوشکدي ی مهىدسی و علىم کامپيىتر
1394زمستان احمد محمىدی ازواوي
http://faculties.sbu.ac.ir/~a_mahmoudi/
فطستهؽالة
(SVM)هاضیيتطزاضپطتیثاى•تاضیرچ–هعطفی–ایخساییپصیطذؽی– زاز
•Soft Margin
ایخساییاپصیطذؽی• هدوعگاضتتفعاییتااتعازتاال––Inner product kernel
XORهثال•
•SVMزضMatlab
شبک عصبی2
تاضیرچ
ی• یالی Vladimir VapnikتسػآلایSVMسر.اضائضس
•VapnikتاوکاضیذانCorinna Cortesاستاساضزضیعیکطززض1993ضازضسالSVMکی پای.هتططوزس1995سال
شبک عصبی3
Cortes, C. and V. Vapnik (1995). "Support-vector networks."
Machine Learning 20(3): 273-297.
هعطفی
یذؽیضاهیتاىواسضکلظیط• یکخساکس.زضظطگطفت
شبک عصبی4
WTX + b = 0
WTX + b < 0
WTX + B > 0
F(X) = SIGN(WTX + b)
www.cs.utexas.edu/~mooney/cs391L/slides/svm.ppt
هطظتی
سال•کسامیکاظهطظا،هطظیتیتطایخساساظیاست؟–
شبک عصبی5
www.cs.utexas.edu/~mooney/cs391L/slides/svm.ppt
هطظخساساظی
ایتهیذاین• ضاخساساظیهطظتتطیيگزست .آضینت
شبک عصبی6
فطضکینعزیکتطیيمؽتهطظخساساظیزضظطگطفتضسفاصلضا
rتاهین.
r .استrسفهاکعیونوزى
یکحاضیهطرصهیکینطی پيتطیضاتیدهطظیکحاضی
.استتتطزس،
Margin of separation
یهاکعیون حاضی
ی(Margin)حاضیوزىهاکعیون• ذتیایسیاLSVMضاضیایيذؽی،خساساظیختاست
Linear SVMهیاهس.اییحالتایيزض• حاضیهطظضیتکو
ایاویتاظستس، .تطذضزاضسیژایاظهیتاىتسیيسیل• کطزصطفظطزیگطو
ایتتا .پطزاذتحاضیهطظضیهنو
شبک عصبی7
تطزاضپطتیثاى
ایت• «پطتیثاىتطزاض»حاضیهطظضیو.هیگیس
شبک عصبی8
تطزاضایپطتیثاى
Support Vector
Optimal hyperplane
هطظخساساظی
یتطای• :زاضتینخساساظیهطظهعازل
هطرصWopbopتسػتیهطظکینفطض•.ضز
:فطض• هطظتمؽعزیکتطیيکینفطض.تاهین«r»ضافاصلگطفت،ظطزضضاخساساظی
شبک عصبی9
0TW X b
( , 1)i iX d
( , 1)i iX d
0T
iW X b
0T
iW X b
...(ازاه)هطظخساساظی
سف•.استρ=2rواىیافاصلوزىهاکعیون–:زاضینتیخساساظیهطظضیماغتطای–
:زاضینهطظاظذاضجماغتطای–
–g(X)تاضسهفییاهثثتهیتاس.
شبک عصبی10
0T
op opW X b
( ) T
op opg X W X b
...(ازاه)هطظخساساظی
:تاضس،ؼثكضکلظیطذاینزاضتتطزاضپطتیثاىXزضصضتیک•
•ABزضختعوزتطهطظخساکسیتطزاض• زضظطگطفتضز،AB=rاگطاساظ
:ذاینزاضت
شبک عصبی11
A
B
Xp
pX X AB
X
op
p
op
WX X r
W
op
op
WAB r
W
...(ازاه)هطظخساساظی
:زاضتین•
شبک عصبی12
( ) [ ]opT
op p op
op
Wg X W X r b
W
( ) T
op opg X W X b
op
p
op
WX X r
W
( )opT T
op p op op
op
Wg X W X b r W
W
ريی مرز پس تراتر تا صفر2
( )op
op
Wg X r
W ( ) opg X r W
...(ازاه)هطظخساساظی
شبک عصبی13
( ) opg X r W
( )
op
g xr
W
.استrسفهاکعیونوزى
.کویگطززWزضایيحالتتحتضطایؽیهیتایس
A
B
xp
X
( )
op
g Xr
W
فاصلاظهثساهرتصات
op
op
b
W
X=0
یbopهثثتیاهفیتزى استایيطاىزس.استکسامسوتذػهطظیهثسأزضک
0 Wopb
...(ازاه)هطظخساساظی
:هیگیطینظطزضظیطصضتتضاذؽیخساساظ•
ی• تطلطاضآهظضیالگایتواهیتطایتاالضاتؽ.است
پطتیثاىتطزاضایتطایتیدزض•
شبک عصبی 14
1 1T
op i op iW X b for d
1 1T
op i op iW X b for d
( , 1)iX
( , 1)iX
:ت صرت لکی داریم( ) 1 T
i op opd W X b
( ) 1s T s
op opg X W X b
است bopي Wopمسال یافته
...(ازاه)هطظخساساظی
یزتطزاضپطتیثاىزضزؼطفهطظ• فاصل :زضتید
شبک عصبی15
( ) 1s T s
op opg X W X b
1
( )
1
sop
op
op
Wg Xr
W
W
22
op
rW
خساییپصیطذؽی
شبک عصبی16
X-
x+ρ=Margin Width
:هیزاین• W . X+ + b = +1
• W . X- + b = -1
• W . (X+-X-) = 2
( ) 2X X W
W W
خساییپصیطذؽی
ی• تاتختزضاتؽهیتایسهییونWopتایيتیدهیضسینک•
.گطززایيهسألهعازلهییونکطزى•
–Φیکتاتعهحسب(Convex Function)است.یتطای– الگیNؼثكضاتؽ
:آهظضیضطغظیطهیتایستطلطاضتاضس
شبک عصبی17
22
op
rW
( ) 1 T
i op opd W X b
1( )
2
TW W W
( ) 1 T
i op i opd W X b
1
[ ( ) 1] N
T
i op i op
i
d W X b
تر یا مسايی صفر استایه میسان تسرگ
ذالص
شبک عصبی18
ایتیاتیسک :ظىاتایاسضاتگ
is maximized
and for all (Xi, di), i=1..n : di(WTXi + b) ≥ 1
ایتیاتیسک :ظىاتایاسضاتگ
Φ(W) =1/2 ||W||2=1/2WTW is minimized
and for all (Xi, di), i=1..n : di (WTXi + b) ≥ 1
2
W
یتی یافتيضی
ی• ایتهیضزتعطیفظیطالگطاژضاتؽ کگ:زسپضصضاضسشکطلیسزط
زستتطای• زطتسثتWopbopآضزىت.هیگیطینهطتك
شبک عصبی19
1
1( , , ) [ ( ) 1]
2
NT T
i i i
i
J W b W W d W X b
1
0 0N
i i i
i
JW d X
W
1
N
op i i i
i
W d X
1
0 0N
i i
i
Jd
b
bop آیدت دست ومی
دد يلی یک قید می1
0N
i i
i
d
Lagrange multiplier(nonnegative)
یتی یافتيضی
:زاضتذاینαتطایضطغز•
ایتطایαiطاظایت• تاهتاظطآهظضیالگSVیا :استتطلطاضظیطضاتؽ
غیطصفطپطتیاىتطزاضایتاهتاظطαiتیدزض•شبک عصبی.تزذاس
20
1
0N
i i
i
d
[ ( ) 1] 0T
i i id W X b
صفط
غیطصفط
( ) 1 0T
i op i opd W X b
Karush–Kuhn–Tucker(KKT) condition of optimization theory
یتی یافتيضی
:تطایهمازیطتیزاضتین•
:پسذاینزاضت•
شبک عصبی21
1 1 1
1( , , )
2
N N NT T
i i i i i i
i i i
J W b W W d W X d b
2
1
1( , , ) [ ( ) 1]
2
NT
i i i
i
J W b W d W X b
1
N
op i i i
i
W d X
1
0N
i i
i
d
1
1( , , ) 0
2
NT T
op op op op op op i
i
J W b W W W W
Duality theorem
Dual Problem
شبک عصبی22
1
1
2
NT
i op op
i
W W
=Q(α)
1
0N
i i
i
d
ظیطااستQوزىهاکعیونواسWوزىهییونصضتایيزضاستهیعاىکنتطیيWهمساضWopزض
.هیضزهاکعیونعثاضتکلکاست
1
1( , , ) 0
2
NT T
op op op op op op i
i
J W b W W W W
یتی یافتيضی
شبک عصبی23
1
1( )
2
NT
i op op
i
Q W W
1 1 1
1 [ ] [ ]
2
N N NT
i i i i j j j
i i j
d X d X
1 1 1
1
1
2
0
0 1 0,1,.....,
N N NT
i i i j j i j
i i j
N
i i
i
i
d d X X
d
for N
αi ا ياتست ت الگای Xi , Xj ي خريجی ای مرتثط است
1 1 1
1
2
N N NT
i i i j j i j
i i j
d d X X
یتی یافتيضی
شبک عصبی24
یخت،لیزگطفتيظطزضتسى اαهحاسثلطاضصفطتاتطاتطگطفتهطتكαkتسثتهیتاى
.زاز
1 1 1
1 [ ] [ ]
2
N N NT
i i i i j j j
i i j
d X d X
2
1
( ) 1 0
NT T
i i k i k k k k k
iki k
Qd d X X d X X
NهعازلNهدل,
T
i j i jM X Xظطبزاذلی
,
1k
Q( ) 1 0
N
k i i i k
i
d d M
یتی یافتيضی
:ذاینزاضتαپساظتزستآضزى•
شبک عصبی25
1
N
op i i i
i
W d X
support vectorsX X 1T s
op opW X b
1 T s
op opb W X
یتی یافتيضی
یصفط،هرالف αiط Xiکاستایيطاىزس.استپطتیثاىتطزاضیکهتاظطش
:استظیطواسخساکستاتعحالتایيزض
:تخساظیهسالحل ظطبهحاسثتاتستتی
ایتواهیتیيزاذلی .استآهظضیو
شبک عصبی26
W =ΣαidiXi b= dk-WTXk for any Xk such that αk 0
g(X) = ΣαidiXiTX + b
ظطبزاذلیزتطزاض
شبک عصبی27
ξi
ξi
•SVMایتطای لطاضتطضسیهضزذؽیخساییپصیطزاز.گطفت
یاگطحال• ایهدوع ضاخساساظیلاتلیتآهظشزازهضززضصحثتتتطتیاىتضس؟ذاسچتاضس،ساضت.ستسوطایعتاکاستخساییپصیطهسائل
Soft Margin
ی• Hardهسأل Marginیحلتتثسیلضا هسألSoft Marginهیضز.
ی• صضتیزضهیضز،گفتsoftخساساظیحاضیاتطذیتطایک :ضزمطظیطضطغزاز
Slack Variableتااظافکطزىیک•.هسألضاتاضزیگطتطضسیهیکین
ایيهتغیطهیعاىاحطافاظضطغ•.فقضاطاىهیزس
شبک عصبی28
Soft Margin
( ) 1 T
i op opd W X b
e7
e1
e2
شبک عصبی29
Soft Margin Classification
:زحالتهوکياستضخزس•یزضکالسزضستلیزضحاضیلطاضگیطز• .زازتسیضز• یآهظضیتاضتثازست .زاز
( ) 1 , 1,2, , i
T
i op opd W X b i N
0 1i 1i
کستسآىاییپطتیثاىتطزاضایحالتایيزض•یزض حتیهیکس،صسقتاالعثاضتزضتسایضاتؽξ>0خزتا
ایکصضتیزض– ضز،ذاضجهدوعاظیعیزازی .کطزذاستغییطخساکسضی
ای»یافتيسف• آىزضکاست«خساکسضیتسیذؽای :ضزهییونآىزضازضستؼثم
شبک عصبی30
Soft Margin Classification
( ) 1 , 1,2, , i
T
i op opd b i N W X
1
1N
i
i
I
0 if 0
1 if 0I
یکتاتعیچیيکطزىکویکایيتتختا•ی ساظیهسأل یزضاستnonconvexتی ضز
NP-completeظیطتاتعتاضاآىهیگیطز،لطاض:هیظینتمطیة
:استظیطعثاضتکطزىهییونسفکلزض•
شبک عصبی31
1
1,
2
RT
k
k
W W W C e
Soft Margin Classification
1
N
i
i
regularization parameter
ت صفر Cکىد، رچ ایه پارامتروعی مصالح تیه پیچیدگی ماشیه ي خطا ترقرار میتر تری دارد ي دروتیج حاشی تسرگتر تاشد ت ایه معىاست ک خطا امیت کموسدیک
.شدتر میوسدیک hard marginتر تاشد، مسال ت حالت ي رچ ترزگ. شدمی
Soft Margin
:زاضتینHard Marginتطای•
:زاضینSlack Variableتااظافکطزى•
شبک عصبی32
Find W and b such that
Φ(W) =½ WTW is minimized and for all {(Xi ,di)}
di (WTXi + b) ≥ 1
Find W and b such that
Φ(W) =½ WTW + CΣξi is minimized and for all {(Xi ,di)}
di (WTXi + b) ≥ 1- ξi and ξi ≥ 0 for all i
یتی یافتيضی
ی• ایتهیضزتعطیفظیطالگطاژضاتؽ کگی :زسپضصضایاظهسیاو
اهفیتاکاستضساظافضایياظآذطترص•.کستعویيضاξتزى
شبک عصبی33
1
1( , , , , ) [ ( ) 1 ]
2
NT T
i i i i i i i
i i i
J W b W W C d W X b
شبک عصبی34
Soft Margin Classification
1 1 1
1
2
N N NT
i i j i j i j
i i j
Q d d X X
1
0
0
N
i i
i
i
d
C
:در وایت ضرایة الگراوژ از عثارت زیر محاسث خاىد شد
تا در وظر گرفته قید زیر
1
sN
op i i i
i
W d X
:تقی مراحل ماوىد حالت قثل خاد تد
SVMغیطذؽی
اییتطای• زاضس،ذؽیخساساظیلاتلیتکزاز.استذبتسیاضسیستنعولکطز
ااگط• چگهسألتاضس،ظیطصضتایتزازهیضز؟حل
شبک عصبی 35
0 x
0 x
0
x2
x
High Dimensionگاضتتیکفعای
www.cs.utexas.edu/~mooney/cs391L/slides/svm.ppt
گاضتتفعایتاالتط
اتعازتافعاییتهیتاسضزیفعایواض•.گطززگاضتتاالتط
ایيزضکتاضسصضتیتهیتاسگاضتایي•زاضتخساساظیلاتلیتضزیاخسیسفعای.تاضس
شبک عصبی36
Φ: X→ φ(X)
www.cs.utexas.edu/~mooney/cs391L/slides/svm.ppt
گاضتتفعایتاالتط
زاضتین•
کاضتزیگطیفعایتضزیاگاهیک•:زاضتذاینخسیسگاضتتطایضس،
ییافتيسفحالتایيزض• استخساساظیضیای گ :کت
شبک عصبی37
0TW X b
11 2( ) [ ( ), ( ),........, ( )]T
mX X X X
1
1
( ) 0m
j j
j
w X b
0 1
( )
i i
m m
X X
R R
Wذطخی
گاضتتفعایتاالتط
تافطض•:ذاینزاضت•
شبک عصبی38
1
1
( ) 0m
j j
j
w X b
0 ( ) 1X
1
0
( ) 0m
j j
j
w X
( ) 0TW X
( ) [1, ( )]TX X
0 1 2 1[ , , ,..... ]T
mW b w w w w
گاضتتفعایتاالتط
تطایکلیزیضطغتواهیهطحلایيزض•تتازاضزخزگطفتینظطزضذؽیخساساظی
:هیضزگطفتظطزضΦ(Xi)اXiاظای
شبک عصبی39
1
0
( ) 1 0m
i j j i
j
d w X
1
. ( ( ))N
opt i i i
i
W d X
اسکالط m1×1
( ) 0T
opt W X1
. ( ) ( ) 0N
T
i i i
i
d
X X
گاضتتفعایتاالتط
شبک عصبی40
1
. ( ) ( ) 0N
T
i i i
i
d X X
1
. ( , ) 0N
i i i
i
d K X X
K(Xi,Xj)= φ(Xi)Tφ(Xj)
1 1 1
1( , )
2
N N N
i i j i j i j
i i j
Q d d K X X
، تاتعی است ک معادل ضرب داخلی دي تردار kernelتاتع .خصیص است
;x=[x1 x2]هثال
K(xi,xj)=(1 + xiTxj)
2, K(xi,xj)= φ(xi)
Tφ(xj):
K(xi,xj)=(1 + xiTxj)
2,= 1+ xi1
2xj12 + 2 xi1xj1 xi2xj2+ xi2
2xj22 + 2xi1xj1 + 2xi2xj2
= [1 xi12 √2 xi1xi2 xi2
2 √2xi1 √2xi2]T [1 xj1
2 √2 xj1xj2 xj22 √2xj1 √2xj2]
= φ(xi)Tφ(xj),
where φ(X) = [1 x12 √2 x1x2 x2
2 √2x1 √2x2]
شبک عصبی41
K(X1, X1) K(X1, X2) K(X1, X3) … K(X1, Xn)
K(X2, X1) K(X2, X2) K(X2, X3) K(X2, Xn)
… … … … …
K(Xn, X1) K(Xn, X2) K(Xn, X3) … K(Xn, Xn)
Mercer’s theorem: Every semi-positive definite symmetric function is a kernel
گاضتتفعایتاالتط
شبک عصبی42
1 1 1
1( , )
2
N N N
i i j i j i j
i i j
Q d d K X X
1
0
0
N
i i
i
d
C
:دف یافته ضرایة الگراوژ تیشیى در عثارت زیر است
تا در وظر گرفته قید زیر
kernel trick
مىاسة تدين ایه ک درگیر kernelدر صرت یافته تاتع شیم، تىا از وتیج ( وکثت اتعاد)مشالکت فضای تا اتعاد تاال
.تریمایه واگشت تر می
1 1 1
1() ( ) ( )
2
N N N
i i ji j i j
i i j
Q dd X X
( , )i jK X X , 1
( , )N
N N i j i jK K X X
هاتطیسهتماضى
g(X) = ΣαidiK(Xi, X)+ b
تاتعگاضت
شبک عصبی43
chi-squared kernel
SVMساذتاض
شبک عصبی44
K(X1,X)
K(X2,X)
K(Xm1,X)
g(X) = ΣαidiK(Xi,X)+ b
چسکت
•SVMایت ایتکاستگ تطایضایحضیایؼطاحی .ساضزیاظیRBFMLPضثک
تطزاضایتسػذصیصفعایاتعاز،SVMزض–.هیضزهطرصپطتیثاى
تآىهطاکعاستفازهضزضعاعیتاتعتعساز–RBF)هیگطززهطرصذزکاضصضت network).
ایتعساز– ذزکاضصضتتظىاهرفیالیtwo-layer).هیضزهطرص perceptron)
ااتعازتهسألپیچیسگی• .ساضزتستگیزاز
زبان ماشيه45
XOR Problemهثال
ایآهظضیزتعسیستس• .و
شبک عصبی46
1 1[ 1 -1] d 1X
2 2[ 1 1] d 1X
3 3[1 -1] d 1X
4 4[1 1] d 1X
4N
( , ) ( ). ( )T
i iK X X X X
2( , ) (1 )T
i iK X X X X
XOR Problem
زستآهسضاتاظطب• حالاگطتراینپاسدتطاىزینذاینφ(X)φ(Xi)زاذلیزتطزاض
:زاضت
شبک عصبی47
1 2[ ]i i iX x x
1 2[ ]X x x
2( , ) (1 )T
i iK X X X X
1 2 2
1 2 1 1 2 2
2
(1 [ ] ) (1 )i i i i
xx x x x x x
x
2 2
2 2 2 2
1 1 1 2 1 2 1 1 2 21 2 2 2ii i i i ix x x x x x x x x x x x
XOR Problem
شبک عصبی48
2 2
2 2 2 2
1 1 1 2 1 2 1 1 2 21 2 2 2ii i i i ix x x x x x x x x x x x
2
2 2
1 1 2 1 2( ) [1, , 2 , , 2 , 2 ]TX x x x x x xφ
2
2 2
1 1 2 1 2( ) [1 , 2 , , 2 , 2 ] i=1,2,3,4i
T
i i i i i ix x x x x x x φ
XOR Problem
شبک عصبی49
1 1 2 1 2 2
1 1 2 1 2 2
1 1 2 1 2 2
1 1 2 1 2 2
1 [ 1 -1]X
2 [ 1 1]X
3 [1 -1]X
4 [1 1]X
2
2 2
1 1 2 1 2( ) [1, , 2 , , 2 , 2 ]Tx x x x x xφ x
2
2 2
1 1 2 1 2( ) [1 , 2 , , 2 , 2 ] i=1,2,3,4i
T
i i i i i ix x x x x x x φ
XOR Problem
شبک عصبی50
4 4
1 1 1 1
1 1 1 11 1 2 1 2 2
2 2 2 21 1 2 1 2 2
1 1 1 11 1 2 1 2 2
2 2 2 21 1 2 1 2 2
2 2 2 2
K
4 4
9 1 1 1
1 9 1 1
1 1 9 1
1 1 1 9
K
2( , ) (1 )T
i iK X X X X
XOR Problem
:اتیهدطتضاتػظیطهیضزαiزستآضزى•
شبک عصبی51
4 4 4
1 1 1
1( ) ( , )
2i i j i j i j
i i j
Q d d K X X
4N
1 2 3 4
2 2 2 2
1 2 3 4 1 2 1 3 1 4 2 3 2 4 3 4
Q( )=
1 (9 9 9 9 2 2 2 2 2 2 )
2
XOR Problem
.تاتطایيطچاضضزی،تطزاضپطتیثاىستس•ی• :ضاهحاسثهیکینWoptاαپساظهحاسث
شبک عصبی52
1 2 3 41-9 0
1 2 3 41+ 9 0
1 2 3 41+ 9 0
1 2 3 41- 9 0
1
8i
1( )
4Q
XOR Problem
یظىتیزاضین• یاساظ :ختهحاسث
:زاضتین•
شبک عصبی53
2
opt
1 1=
2 4W
opt
1=
2W
1
. ( ( ))N
opt i i j i
i
W d X
XOR Problem
ی• یتتیضی یسیل هحاسثظیطضاتؽ:هیضز
شبک عصبی54
( ) 0T
optW X
1 2 0x x
XOR Problem
شبک عصبی55
شبک عصبی56
هثال
شبک عصبی57
clear all;
close all;
load fisheriris
data = [meas(:,1), meas(:,2)];
groups = ismember(species,'setosa');
[train, test] = crossvalind('holdOut',groups);
cp = classperf(groups);
svmStruct =
svmtrain(data(train,:),groups(train),'showplot',true,'boxconstr
aint',1e6);
title(sprintf('Kernel Function: %s',...
func2str(svmStruct.KernelFunction)),...
'interpreter','none');
classes = svmclassify(svmStruct,data(test,:),'showplot',true);
classperf(cp,classes,test);
cp.CorrectRate
شبک عصبی58
clear all;
close all;
load fisheriris
data = [meas(:,1), meas(:,2)];
groups = ismember(species,'setosa');
[train, test] = crossvalind('holdOut',groups);
cp = classperf(groups);
svmStruct = svmtrain(data(train,:),groups(train),'showplot',true);
title(sprintf('Kernel Function: %s',...
func2str(svmStruct.KernelFunction)),...
'interpreter','none');
classes = svmclassify(svmStruct,data(test,:),'showplot',true);
classperf(cp,classes,test);
cp.CorrectRate
هثال
شبک عصبی59
شبک عصبی60
هثال
يادگيری ماشيه61
r = sqrt(rand(100,1)); % radius
t = 2*pi*rand(100,1); % angle
data1 = [r.*cos(t), r.*sin(t)]; % points
r2 = sqrt(3*rand(100,1)+1); % radius
t2 = 2*pi*rand(100,1); % angle
data2 = [r2.*cos(t2), r2.*sin(t2)]; % points
plot(data1(:,1),data1(:,2),'r.')
plot(data2(:,1),data2(:,2),'b.')
axis equal
data3 = [data1;data2];
theclass = ones(200,1);
theclass(1:100) = -1;
cl = svmtrain(data3,theclass,'Kernel_Function','rbf',...
'boxconstraint',Inf,'showplot',true);
hold on
axis equal
يادگيری ماشيه62