ماشین بردار پشتیبان یکی از الگوریتمهای نظارتشده یادگیری ماشین است. بسیاری از افراد در ابتدا هنگامی که نام این الگوریتم را میشنوند تصور میکنند با یک الگوریتم بسیار پیچیده مواجه هستند که درک آن دشوار است. این در حالی است که خوشبختانه با خواندن چند نوشتار میتوان این الگوریتم را به خوبی درک کرد. در این مطلب، به چگونگی عملکرد الگوریتم ماشین بردار پشتیبان پرداخته شده است.
تحلیل طبقهبندی چیست؟
برای درک بهتر این مبحث در ادامه یک مثال ارائه شده است. فرض میشود جمعیتی با ترکیب ۵۰٪ زن و ۵۰ ٪ مرد وجود دارد و مسئله آن است که با وضع مجموعه قواعدی یک دستهبندی روی نمونههای این جمعیت بر اساس جنسیت انجام شود. با استفاده از الگوریتم ماشین بردار پشتیبان، قصد بر آن است که رباتی ساخته شود تا بتواند تشخیص دهد چه کسی زن و چه کسی مرد است.
این یک نمونه از مسائل طبقهبندی به حساب میآید. با استفاده از یک مجموعه قواعد، میتوان جمعیت را در دو دسته محتمل (زنان و مردان) تقسیم کرد. برای سادگی بیشتر، فرض بر آن است که عاملهایی که بر اساس آن دستهبندی انجام میشود، وزن و بلندی موی افراد است. بر این اساس نمودار پراکندگی دادهها (شکل ۱) رسم شده است.
شکل 1 - نمودار پراکندگی دادههای قد و بلندی موی جمعیت متشکل از زنان و مردان
دایرههای آبی موجود در نمودار نماینده زنان و مربعهای سبز نماینده مردان هستند. برخی از برداشتهایی که میتوان از این نمودار داشت عبارتند از:
بر این اساس اگر فردی با قد ۱۸۰ سانتیمتر و طول موی ۴ سانتیمتر در جمعیت وجود داشته باشد، بهترین حدسی که میتوان زد آن است که فرد در دسته مردان قرار میگیرد.
بردار پشتیبان و ماشین بردار پشتیبان چیست؟
بردارهای پشتیبان در واقع مختصات یک مشاهده منفرد هستند. برای مثال (150، 45) یک بردار پشتیبان است که به یک زن اختصاص دارد. ماشین بردار پشتیبان مرزی است که دسته مردان و زنان را به بهترین وجه از یکدیگر جدا میکند. در این مثال، دو دسته وجود دارد و بنابراین جداسازی آنها به وسیله ماشین بردار پشتیبان آسان است.
چگونه میتوان ماشین بردار پشتیبان برای یک مسئله را یافت؟
برای مثال بیان شده در این نوشتار، مرزهای متعددی وجود دارند که میتوانند مسئله را حل کنند. در شکل ۲ تعدادی از مرزهایی که میتوان برای دستهبندی دادهها استفاده کرد قابل مشاهده هستند.
شکل ۲ - مرزهایی که میتوانند دستههای زنان و مردان را جداسازی کند
پرسشی که در اینجا مطرح میشود آن است که چگونه میتوان تصمیم گرفت کدام مرز به بهترین شکل نمونه دادههای موجود را دستهبندی میکند. سادهترین تفسیری که میتوان برای عملکرد تابع ماشین بردار پشتیبان ارائه داد آن است که در الگوریتم ماشین بردار پشتیبان، فاصله نزدیکترین نمونه دادهها تا خط جداساز (مرز بین دستهها) محاسبه میشود (این نمونه دادهها ممکن است به هر دستهای تعلق داشته باشند).
برای مثال، خط جداساز نارنجی رنگ کمترین فاصله را تا دایرههای آبی دارد و نزدیکترین دایره آبی به جداساز، دو واحد تا آن فاصله دارد. پس از محاسبه این فاصله برای همه جداسازها، خطی انتخاب میشود که بیشترین فاصله را تا نزدیکترین نقطه داده دارد. در این مثال، خط جداساز مشکی رنگ بیشترین فاصله را از نزدیکترین نقطه داده دارد.
اگر یک خط جداساز که بتواند دادهها را دستهبندی کند کشف نشد چه باید کرد؟
پرسشی که در این مرحله مطرح میشود آن است که اگر توزیع دادهها مانند نمودار موجود در شکل ۲ باشد، الگوریتم ماشین بردار پشتیبان برای دستهبندی دادهها چگونه عمل میکند؟
شکل ۳ - حل مسائلی که به خط غیر راست برای دستهبندی نیاز دارند
در چنین مسائلی یک خط راست نمیتواند نمونه دادهها را به خوبی دستهبندی کند. بنابراین، نیاز به نگاشت دادهها به یک فضای بُعد بالاتر وجود دارد تا بتوان به وسیله ماشین بردار پشتیبان نمونه دادهها را به درستی از یکدیگر تفکیک کرد. در این مسائل نیاز به رابطهسازی برای ماشین بردار پشتیبان وجود دارد. پس از انتقال نمونه دادهها به فضای بُعد بالاتر نموداری مانند شکل ۴ ایجاد میشود.
شکل ۴ - انتقال دادهها به یک فضای بُعد بالاتر و دستهبندی آنها در ماشین بردار پشتیبان
هر یک از مربعهای سبز موجود در توزیع اصلی در یک فضای جدید نگاشت و در این فضای جدید دادهها به طور دقیق دستهبندی شدهاند. الگوریتمهای زیادی برای انجام این نگاشت قابل استفاده هستند.