1 / 77

ماشین بردار پشتیبان

ماشین بردار پشتیبان. Instructor : Saeed Shiry. مقدمه. SVM دسته بندی کننده ای است که جزو شاخه Kernel Methods دریادگیری ماشین محسوب میشود. SVM در سال 1992 توسط Vapnik معرفی شده و بر پایه statistical learning theory بنا گردیده است.

jjeff
Download Presentation

ماشین بردار پشتیبان

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ماشین بردار پشتیبان Instructor : Saeed Shiry

  2. مقدمه • SVMدسته بندی کننده ای است که جزو شاخه Kernel Methods دریادگیری ماشین محسوب میشود. • SVMدر سال 1992 توسط Vapnik معرفی شده و بر پایه statistical learning theory بنا گردیده است. • شهرت SVM بخاطر موفقیت آن در تشخیص حروف دست نویس است که با شبکه های عصبی بدقت تنظیم شده برابری میکند: 1.1% خطا

  3. مقدمه • هدف این دسته الگوریتم ها تشخیص و متمایز کردن الگوهای پیچیده در داده هاست ( از طریق کلاسترینگ، دسته بندی، رنکینگ، پاکسازی و غیره) • مسایل مطرح: • الگوهای پیچیده را چگونه نمایش دهیم • چگونه از مسئله overfitting پرهیز کنیم

  4. ایده اصلی • با فرض اینکه دسته ها بصورت خطی جداپذیر باشند، ابرصفحه هائی با حداکثر حاشیه (maximum margin) را بدست می آورد که دسته ها را جدا کنند. • در مسایلی که داده ها بصورت خطی جداپذیر نباشند داده ها به فضای با ابعاد بیشتر نگاشت پیدا میکنند تا بتوان آنها را در این فضای جدید بصورت خطی جدا نمود.

  5. تعریف • 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)

  6. A+ A- Separating Surface: مسئله جداسازی خطی:Linear Discrimination • اگر دو دسته وجود داشته باشند که بصورت خطی از هم جداپذیر باشند، بهترین جدا کننده این دو دسته چیست؟ • الگوریتمهای مختلفی از جمله پرسپترون میتوانند این جداسازی را انجام دهند. • آیا همه این الگوریتمها بخوبی از عهده اینکار بر میآیند؟

  7. Intuitions O O X X O X X O O X O X O X O X

  8. Intuitions O O X X O X X O O X O X O X O X

  9. Intuitions O O X X O X X O O X O X O X O X

  10. Intuitions O O X X O X X O O X O X O X O X

  11. A “Good” Separator O O X X O X X O O X O X O X O X

  12. Noise in the Observations O O X X O X X O O X O X O X O X

  13. Ruling Out Some Separators O O X X O X X O O X O X O X O X

  14. Lots of Noise O O X X O X X O O X O X O X O X

  15. Maximizing the Margin O O X X O X X O O X O X O X O X

  16. a q b ضرب داخلی • ضرب داخلی را میتوان معیاری از تشابه دانست • در حالت n بعدی میتوان آنرا بصورت زیر نمایش داد.

  17. X2 Class 1 X1 Class -1 خط یا ابر صفحه جدا کننده • هدف: پیدا کردن بهترین خط ( ابر صفحه) که دو دسته را از هم جدا کند. در حالت دو بعدی معادله این خط بصورت زیر است: • در حالت n بعدی خواهیمداشت:

  18. Class -1 Class 1 ایده SVM برای جدا سازی دسته ها • دو صفحه مرزی بسازید : • دو صفحه مرزی موازی با صفحه دسته بندی رسم کرده و آندو را آنقدر از هم دور میکنیم که به داده ها برخورد کنند. • صفحه دسته بندی که بیشترین فاصله را از صفحات مرزی داشته باشد، بهترین جدا کننده خواهد بود.

  19. Class -1 Class 1 حداکثر حاشیه • بر طبق قضیه ای در تئوری یادگیری اگر مثالهای آموزشی بدرستی دسته بندی شده باشند، از بین جداسازهای خطی، آن جداسازی که حاشیه داده های آموزشی را حداکثر میکند خطای تعمیم را حداقل خواهد کرد.

  20. چرا حداکثر حاشیه؟ • به نظر میرسد که مطمئن ترین راه باشد. • تئوری هائی برمبنای VC dimension وجود دارد که مفید بودن آنرا اثبات میکند. • بطور تجربی این روش خیلی خوب جواب داده است.

  21. بردار پشتیبان • نزدیکترین داده های آموزشی به ابر صفحه های جدا کننده بردار پشتیبان نامیده میشوند X2 SV SV SV Class 1 X1 Class -1

  22. تعمیم و SVM • در صورت استفاده مناسب از SVM این الگوریتم قدرت تعمیم خوبی خواهد داشت: • علیرغم داشتن ابعاد زیاد (high dimensionality) از overfitting پرهیز میکند. این خاصیت ناشی از optimization این الگوریتم است • فشرده سازی اطلاعات: • بجای داده های آموزشی از بردارهای پشتیبان استفاده میکند.

  23. حل مسئله برای حالت دو بعدی • نمونه های آموزشی 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رابگونه ای پیدا کنیم که: • نمونه های آموزشی را بدقت دسته بندی کند • با این فرض که داده ها بصورت خطی جدا پذیر باشند • حاشیه را حداکثر نماید

  24. Linear SVM Mathematically • Let training set {(xi, yi)}i=1..n, xiRd, yi  {-1, 1}be separated by a hyperplane withmargin ρ. Then for each training example (xi, yi): • For every support vector xs the above inequality is an equality. After rescaling w and b by ρ/2in the equality, we obtain that distance between each xs and the hyperplane is • Then the margin can be expressed through (rescaled) w and b as: wTxi+ b ≤ - ρ/2 if yi= -1 wTxi+ b≥ ρ/2 if yi= 1 yi(wTxi+ b)≥ρ/2 

  25. حل مسئله برای حالت دو بعدی • فاصله خط جداکننده از مبدا برا براست با • فاصله نمونه ای مثل x از خط جدا کننده برابر است با f(x)<0 f(x)=0 f(x)>0 X2 بردار w بر هر دو صفحه مثبت ومنفی عمود خواهد بود. x w X1

  26. تعیین حاشیه بین خطوط جدا کننده 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

  27. محاسبه پهنای حاشیه • صفحه مثبت و منفی را بصورت زیر در نظر میگیریم: • Plus-plane= { x : w . x + b = +1 } • Minus-plane = { x : w . x + b = -1 } • بردار w بر صفحه مثبت ومنفی عمود خواهد بود. • فرض کنید X- نقطه ای در صفحه منفی بوده و X+ نزدیکترین نقطه در صفحه مثبت به X- باشد.

  28. محاسبه پهنای حاشیه • خطی که X- رابه X+ وصل میکند بر هر دو صفحه عمود خواهد بود. لذا فاصله بین دو صفحه مضربی ازW خواهد بود. در اینصورت خواهیم داشت: x+= x-+ λ w for some value of λ.

  29. محاسبه پهنای حاشیه • میدانیم که: • w . x++ b = +1 • w . x-+ b = -1 • X+= x-+ λ w • | x+- x-| = M • لذا میتوان M را برحسب Wو b محاسبه کرد.

  30. محاسبه پهنای حاشیه • 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

  31. محاسبه پهنای حاشیه

  32. محدودیت • اگر برای مثال دو بعدی فوق مقدار دسته ها را با 1 و 1- مشخص کنیم داریم: • <w,xi> + b ≥ 1for y=1 • <w,xi> + b £ -1for y= -1 • که میتوان آنرابصورت زیر نوشت • yi (<w,xi> + b) ≥ 1 for all i

  33. جمع بندی حل مسئله • در 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 • این یک مسئله quadratic programming با محدودیت هائی بصورت نامعادلات خطی است. روشهای شناخته شده ای برای چنین مسئله هائی بوجود آمده اند.

  34. Quadratic Programming

  35. 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

  36. 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 is also known as the Lagrangrian; we want to set its gradient to 0

  37. راه حل معادله • Construct & minimise the Lagrangian • Take derivatives wrt. w and b, equate them to 0 The Lagrange multipliers ai are called ‘dual variables’ Each training point has an associated dual variable. • parameters are expressed as a linear combination of training points • only SVs will have non-zero ai

  38. راه حل معادله Class 2 a10=0 a8=0.6 a7=0 a2=0 a5=0 a1=0.8 a4=0 a6=1.4 a9=0 a3=0 Class 1

  39. The Dual Problem • If we substitute to Lagrangian , we have • Note that • This is a function of ai only

  40. 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

  41. The Dual Problem • This is a quadratic programming (QP) problem • A global maximum of ai can always be found • w can be recovered by

  42. راه حل معادله • So, • Plug this back into the Lagrangian to obtain the dual formulation • The resulting dual that is solved for  by using a QP solver: • The b does not appear in the dual so it is determined separatelyfrom the initial constraints Data enters only in the form of dot products!

  43. دسته بندی داده های جدید • پس از آنکه مقادیر (*, b*) با حل معادلات quadratic بر اساس داده های ورودی بدست آمد، میتوان SVM را برای دسته بندی نمونه های جدید بکار برد. • اگر x یک نمونه جدید باشد، دسته بندی آن بصورت زیر مشخص میشود: • sign[f(x, *, b*)], where Data enters only in the form of dot products!

  44. ویژگی های راه حل • 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 non-linear without complicating the algorithm

  45. 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

  46. داده هائی که بصورت خطی جدا پذیر نیستند • یک فرض بسیار قوی در SVM این بود که داده ها بصورت خطی جداپذیر باشند. در حالیکه در عمل در بسیاری مواقع این فرض صحیح نیست.

  47. Class 2 Class 1 افزودن متغیر های slack • یک راه حل این است که اندکی کوتاه آمده و مقداری خطا در دسته بندی را بپذیریم! • این کار با معرفی متغیرxi انجام میشود که نشانگر تعداد نمونه هائی است که توسط تابع wTx+b غلط ارزیابی میشوند.

  48. افزودن متغیر های slack • با معرفی متغیرxi, i=1, 2, …, N, محدودیت های قبلی ساده تر شده و رابطه yi (<w,xi> + b) ≥1 • بصورت زیر تغییر میکند: yi (<w,xi> + b) ≥1- xi , xi≥ 0 • در حالت ایده آل همه این متغیر ها باید صفر باشند.

  49. در اینصورت مسئله بهینه سازی تبدیل میشود به یافتن w به نحوی که معادله زیر مینیمم شود: • که در آن C > 0 میباشد. جمله اضافه شدن سعی دارد تا حد امکان همه متغیرهای slack را کوچک نماید.

  50. رابطه دوگان در حالت جدید بصورت زیر خواهد بود. • مقدار مناسب C بر اساس داده های مسئله انتخاب میشود. find ai that maximizes subject to

More Related