الگوريتم SVM اوليه در ۱۹۶۳ توسط Vapnik Vladimir ابداع شد و در سال ۱۹۹۵ توسط Vapnik وCortes Corinna براي حالت غيرخطي تعميم داده شد. ماشين بردار پشتيباني (Support Vector Machines) يکي از روشهاي يادگيري بانظارت است که از آن براي طبقهبندي و رگرسيون استفاده ميکنند. اين روش از جمله روشهاي نسبتاً جديدي است که در سالهاي اخير کارايي خوبي نسبت به روشهاي قديميتر براي طبقهبندي از جمله شبکههاي عصبي پرسپترون نشان داده است. مبناي کاري دستهبندي کنندةSVM دستهبندي خطي دادهها است و در تقسيم خطي دادهها سعي ميکنيم خطي را انتخاب کنيم که حاشيه اطمينان بيشتري داشته باشد.
ايده اصلي SVM:
با فرض اينکه دسته ها بصورت خطي جداپذير باشند٬ ابرصفحه هائي با حداکثر حاشيه(margin maximum) را بدست مي آورد که دسته ها را جدا کنند.
اگر دو دسته وجود داشته باشند که بصورت خطي از هم جداپذير باشند٬ بهترين جدا کننده اين دو دسته چيست؟ الگوريتم هاي مختلفي از جمله پرسپترون ميتوانند اين جداسازي را انجام دهند. آيا همه اين الگوريتمها بخوبي از عهده اين کار بر مي آيند؟
واضح است که اگر مثالهاي آموزشي بدرستي دسته بندي شده باشند٬ از بين جداسازهاي خطي٬ آن جداسازي که حاشيه داده هاي آموزشي را حداکثر مي کند٬ خطاي تعميم را حداقل خواهد کرد.
فرض کنید دو دسته داریم کلاس 1 و کلاس 2 که اگر خروجی y=1 باشد میگوییم متعلق به کلاس 1 است و اگر y=-1 باشد میگوییم متعلق به کلاس 2 است فرض کنید خط wx+b=0 جدا کننده این دو کلاس است بنابراین هر نقطه ای سمت بالای این خط متعلق به کلاس 1 و پایین خط متعلق به کلاس دو است. (بنابراین نقاط روی خطوط نقطه چین تصویر پایین نیز از این قاعده پیروی میکنند.)
هدف ماشين بردار پشتيبان يافتن ابرصفحهاي است که بيشترين حاشيه ي جداسازي را داشته باشد. مهمترين وظيفه SVM ٬ يافتن پارامترهاي w و b بر اساس بردارهاي آموزشي داده شده٬ براي اين ابرصفحه بهينه است. بنابراین مسئله ما یک مسئله بهینه سازی است که ماکزيموم کردن حاشيه جداسازي بين الگوها و ابرصفحه٬ معادلست با مينيموم کردن فرم اقليدسي بردار وزن w. بنابراين براي حل اين مساله٬ تابع لاگرانژ زير را تشکيل داده و حل مي کنيم:
لاگرانژين L بايد نسبت به متغيرهاي اوليه bو w مينيمم و نسبت به متغيرهاي دوگان ماکزيمم شود. با مساوي صفر قراردادن مشتق L نسبت به b,w, به معادلات زير خواهيم رسيد:
مجموعه جواب٬ بسطي از نمونه هاي آموزشي است که مقدار متناظر با آن ها٬ يک مقدار غير صفر است. اين نمونه هاي آموزشي خاص به بردارهاي پشتيبان مشهورند. بردارهاي پشتيبان روي مرز حاشيه قرار دارند.
کاربردهای SVM
الگوريتم ٬SVM جزء الگوريتم هاي تشخيص الگو دسته بندي مي شود. از الگوريتم ٬SVM در هر جايي که نياز به تشخيص الگو يا دسته بندي اشيا در کلاس هاي خاص باشد مي توان استفاده کرد, مانند: سيستم آناليز ريسک٬ کنترل هواپيما بدون خلبان٬ رديابي انحراف هواپيما٬ شبيه سازي مسير٬ سيستم راهنمايي اتوماتيک اتومبيل٬ سيستمهاي بازرسي کيفيت٬ آناليز کيفيت جوشکاري٬ پيش بيني کيفيت٬ آناليز کيفيت کامپيوتر٬ آناليز عملياتهاي آسياب٬ آناليز طراحي محصول شيميايي٬ آناليز نگهداري ماشين٬ پيشنهاد پروژه٬ مديريت و برنامه ريزي٬ کنترل سيستم فرايند شيميايي و ديناميکي٬ تشخيص صدا٬ اختصار سخن٬ کلاسه بندي صوتي٬ بازبيني امضا٬ تشخيص حروف و اعدا٬ تشخيص بيماري و…..