طبقه بند ماشین بردار پشتیبان (Support Vector Machine) یا به اختصار SVM

مدرس: مسعود کاویانی

در درسِ گذشته و در یک سری از دروسِ دوره شبکه‌های عصبی با پرسپترون آشنا شدیم. پرسپترون در واقع یک طبقه‌بند است که می‌تواند با رسمِ یک خط (با داشتن شیب خط و انحراف آن) تفاوتِ دو طبقه را شناسایی کند (مثال پراید و اتوبوس). اما در درسِ قبلی مشاهده کردیم که مشکل پرسپترون در طبقه‌بندی چه می‌تواند باشد. شکلِ زیر را از درس قبلی به یاد بیاورید:

همان‌طور که مشاهده کردید، پرسپترون نمی‌تواند به این مهم برسد که کدام خط به را به عنوان خطِ طبقه‌بند انتخاب کند. در واقع ممکن است خطِ انتخابی توسطِ پرسپترون خطِ درستی برای طبقه‌بند نباشد و این خط می‌تواند خطای طبقه‌بندی را افزایش دهد.

ماشینِ بردار پشتیبان یک نمونه از پرسپترونِ تقویت شده است. پس اگر با پرسپترون آشنایی ندارید حتما دوره‌ی شبکه عصبی را خوانده باشید. ماشین بردار پشتیبان یا همان Support Vector Machine که به اختصار SVM نیز خوانده می‌شود، می‌تواند از بینِ خطوطِ مختلف در شکل بالا، خطِ مناسب را جهت طبقه‌بندی پیدا کند. اما این خطِ مناسب چگونه پیدا می‌شود؟ به شکل زیر نگاه کنید:

فرض کنید الگوریتمی مانند پرسپترون توانسته است این ۳ خط را برای جدا کردنِ پراید‌ها (نقاط سبز) و اتوبوس‌ها (نقاط قرمز) رسم کند. احتمالاً می‌توانید حدس بزنید که خط شماره‌ی ۲ به نوعی بهترین خطِ متمایز کننده است. این خط، یک خط متمایز کننده است که بیشترین فاصله را نسبت به نمونه‌ها (نقاطِ مختلف) در دو طبقه پراید و اتوبوس دارد. در واقع این خط بیشترین حاشیه (margin) را نسبت به نمونه‌ها در فضا دارد و می‌توان گفت که خطِ بهینه‌ای است. مشکلِ موجود در پرسپترون را از درس قبل به یاد بیاورید. ماشین بردار پشتیبان می‌تواند خطی را رسم کند که مشکل پرسپترون را نداشته باشد. یعنی خطی باشد که بیشترین فاصله را نسبت به هر دو طبقه‌ی پراید و اتوبوس داشته باشد.

البته این خطِ متمایز کننده در واقع یک نمونه از اَبَر صفحه یا همان hyper plane در فضاهای چند بعدی است. برای این‌که بدانید hyper plane چیست این درس را بخوانید. پس در واقع کارِ SVM ایجادِ یک اَبَر صفحه برای جدا سازی طبقه‌ها (طبقه‌بندی داده‌ها) است به گونه‌ای که این ابر صفحه بتواند نسبت به نمونه‌های موجود در طبقه‌ها بیشترین فاصله را داشته باشد. چیزی مانند شکل زیر:

منابع این بحث و اطلاعات بیشتر

» فصل ۱۲کتاب Mining Of Massive Datasets

در صورت تمایل به یادگیری بیشتر، منابع بالا در نظر گرفته شده است. می توانید با خواندن این منابع، به یادگیری خود در این زمینه عمق ببخشید

4 دیدگاه دربارهٔ «طبقه بند ماشین بردار پشتیبان (Support Vector Machine) یا به اختصار SVM»

  1. آموزش خلاصه و مفیدی بود و به زبان ساده مطلب بیان شده بود. اگر امکانش هست در مورد support vector regression ها هم توضیح بدین

  2. خسته نباشید
    لطفا تاریخ انتشار مطالب رو هم در بالا یا پایین تدریس بزارید
    سایتتون هم که حرف نداره.

  3. با سلام و عرض خسته نباشید خدمت شما و تشکر فراوان بخاطر آموزش های خوبتون من دنباله تعریف تابع پایه شعاعی هستم ی تعریف اجمالی که متاسفانه تو سایت پیدا نکردم تو سایت های دیگه هم خیلی سطح بالا توضیح داده اند در صورت امکان ممنون میشم توضیح بدین کار این تابع چیه هر چند مختصر ممنون میشم

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *