توجه: این مقاله با گذشت زمان کامل تر خواهد شد.
با سلام
در این پست میخوام خیلی خلاصه و سریع ایده اصلی الگوریتم SVM را که یکی از مهمترین و پرکاربردترین الگوریتم های یادگیری ماشین هست را توضیح بدم و طبق معمول روش من این هست که یه منبع خوب پیدا و اون رو ترجمه کنم. چون اصولا اعتقاد دارم که در این زمینه ها ما هر چی بلدیم از دیگران هست. پس بهتره امانت دار خوبی باشیم و از منابع خوب استفاده کنیم نه اینکه نظرات دیگران را به زبان خودمون بنویسیم و به اسم خودمون تموم کنیم.
لینک منبع در انتهای مقاله موجود است.
الگوریتم Support Vector Machine یا SVM یک الکوریتم یادگیری ماشین با ناظر است که هم در کارهای Classification و هم در Regression کاربرد دارد.
این الگوریتم به دنبال پیدا کردن یک hyperplane است که به بهترین صورت دیتاست را به دو کلاس تقسیم می نماید. مانند شکل زیر:
بردارهای حمایتی، نزدیکترین نقاط داده ای به Hyperplane هستند، نقاطی که اگر از دیتاست حذف شوند محل hyperplane تغییر می یابد. بنابراین این نقاط را می توان به عنوان نقاط مهم و حیاطی دیتاست در نظر گرفت.
به صورت ساده می توان گفت که در یک وظیفه Classification دو بعدی (که فقط دو feature دارد، مانند شکل بالا)، یک hyperplane خطی است که دیتاست را به دو مجموعه مجزا تقسیم می نماید. اگر فضای مساله سه بعدی باشد (سه feature یا ویژگی داشته باشد)، یک hyperplane سطحی دو بعدی است که دیتا ست را به دو مجموعه تقسیم می نماید. به صورت کلی می توان گفت که ابعاد یک hyperplane همیشه یک واحد کمتر از تعداد ویژگی هاست.
یا به زبان خلاصه چگونه یک دیتاست را به دو مجموعه مجزا تقسیم نماییم؟ فاصله بین hyperplane و نزدیکترین نقاط داده ای از هر مجموعه ای margin نامیده می شود. هدف svm این است که hyperplane با بیشترین margin ممکن بین hyperplane و هر نقطه داده ای دیتاست آموزشی را بیابد. شکل زیر margin را نمایش می دهد:
زمانیکه hyperplane واضحی وجود ندارد؟
معمولا دیتاست ها به سادگی دیتاست بالا نیستند و نمی توان به سادگی آن ها را به دو مجموعه مجزا تقسیم کرد. مانند شکل زیر:
در حالاتی مانند شکل بالا لازم است تا از فضای دو بعدی فراتر رویم. تصور کنید که نقاط بالا روی صفحه ای قرار دارند و ناگهان این صفحه بالا برده می شود. در این صورت می توان از یک صفحه دو بعدی برای جدا کردن نقاط بهره جست. به این کار Kerneling گفته می شود. مانند شکل زیر:
منبع
https://www.kdnuggets.com/2016/07/support-vector-machines-simple-explanation.html<br/>