پروژه یازدهم: ماشین هاي بردار پشتیبان 1 عموما براي مسایلی که در آنها دو دسته وجود دارد استفاده میشوند اما ماشین هاي بردار پشتیبان روشهاي متفاوتی براي ترکیب چند SVM و ایجاد یک الگوریتم دستهبندي چند کلاس پیشنهاد شده است. در این الگوریتم دستهبندي دو صفحه در مرز دو کلاس دادهها قرار گرفته میشود و مسي له یافتن مرز حداکثري بین این دو صفحه و در نتیجه بین دو دسته دادهها میباشد. به این صورت که دو صفحه آنقدر از هم دور شوند که به دادهها برخورد کنند. همانطور که در شکل نشان داده شده است هدف یافتن دو صفحهاي است که بیشترین فاصله را دارد و در نتیجه صفحه بین این دو صفحه بهترین جداکننده خواهند بود. شکل : قرار گرفتن صفحات در ماشین بردار پشتیبان ماشین بردار پشتیبان دسته بندي است که جزء شاخه روشهاي هستهاي در یادگیري ماشین محسوب میشوند. SVM از دقت تعمیمدهی بالایی برخوردار است. از کاربردهاي SVM میتوان به تشخیص اشاره کرد. ایده اصلی در SVM این است که با فرض جداپذیري خطی کلاسها از هم ابرصفحاتی که قادر به جدانمودن کلاسها از هم باشند را بدست میآورد. در مسایلی که دادهها به صورت خطی جداپذیر نباشند با استفاده از هستههاي غیرخطی دادهها را به فضاي با ابعاد بیشتر نگاشت میدهیم تا بتوان آنها را در این فضاي جدید به صورت خطی جدا نمود. براي SVM از هستههاي متفاوتی میتوان استفاده نمود مانند RBF و LINEAR که در این پروژه از RBF استفاده میکنیم. Support vector machine
شکل : نحوه اعمال کرنل در SVM همانطور که در شکل نشان داده شده است با استفاده از هسته θ(x) نمونههاي ورودي به فضایی جدید نگاشت داده میشوند که در این فضا نمونهها به صورت خطی قابل جداسازي باشند. شکل حوه انتقال از فضاي دو بعدي با استفاده از کرنل تي وريهایی بر مبناي ابعاد VC وجود دارند که اثبات میکنند SVM در کاهش خطاي تعمیم مفید است. البته استفاده تجربی از این روش در حیطههاي مختلف نشان دهنده این است که این روش کارایی خیلی خوبی دارد. الگوریتم SVM قدرت تعمیم خوبی به روش خواهد داد و از بیش از اندازه متناسب شدن به علت در نظر گرفتن بیشترین مرز تا حد زیادي پرهیز میکند.
ماشینهاي بردار پشتیبان با اراي ه یک مدل آماري به عنوان یکی از شناختهشدهترین روشها در زمینه دستهبندي دادهها مطرح است. یکی از مساي لی که در اراي ه یک ماشین دستهبندي کننده غیرخطی بردار پشتیبان با آن مواجه هستیم نحوه تعریف هسته و پارامترهاي مرتبط با آن است. دسته شناخته شدهاي از توابع هسته همچون هسته چندجملهاي گوسی و سیگموي ید معرفی شدهاند که نیازمند تنظیم شدن پارامترها جهت کارایی مطلوب هستند. روش کمینه سازي مینیمال ترتیبی یکی از روشهاي شناخته شده جهت آموزش این ماشین دستهبندي در یک زمان مطلوب میباشد. بیش از عمل دستهبندي در این بخش در ابتدا در مورد نحوه آمادهسازي سندهاي خام براي ایجاد یک ماتریس نمونه ویژگی صحبت خواهیم کرد. ماتریس سند کلمه یک ماتریس بسیار بزرگ و تنگ است. سپس به مکانیزمهایی چون انتخاب و استخراج ویژگی براي کاهش پیچیدگی محاسباتی و کاهش نویز نیاز داریم. سپس به معرفی تعدادي معیار براي ارزیابی دستهبنديکنندههاي متون میپردازیم تا بتوانیم براساس آن نسبت به عملکرد دستهبنديکنندههاي مختلف قضاوت کنیم. ماشینهاي بردار پشتیبان در حالت چندکلاسه ماشینهاي بردار پشتیبان در حقیقت طبقهبنديکنندههاي دوکلاسه هستند. در بسیاري از کاربردها از جمله طبقهبندي واکهها نیاز به روشهاي طبقهبندي چندکلاسه میباشد. براي تعمیم ماشینهاي بردار پشتیبان به حالت چندکلاسه روشهاي مختلفی وجود دارد. معمولا با توجه به شرایط مسا له تعداد کلاسها و میزان دادههاي آموزشی روش مناسب انتخاب میشود. در ادامه به دو روش متداول براي تعمیم ماشینهاي بردار پشتیبان به حالت چندکلاسه اشاره خواهیم کرد. روش یکی در مقابل همه در این روش هر کلاس در مقابل سایر کلاسها آموزش داده میشود. به دادههاي مربوط به خود کلاس برچسب 1+ و دادههاي سایر کلاسها برچسب 1- نسبت داده میشود. اگر تعداد کلاسها N باشد N ماشین بردار پشتیبان آموزش داده میشود که هر یک متناظر با یکی از کلاسها میباشد. پس از آموزش کلاسها در مرحله تست هر یک از نمونههاي تست به تمامی N ماشین بردار پشتیبان ااعمال میشود کلاس برنده کلاسی است که SVM ان بیشترین میزان خروجی را داشته باشد. در صورت زیاد بودن دادههاي آموزشی و تعداد کلاسها زمان آموزش ماشین بردار پشتیبان طولانی خواهد بود.
روش یکی در مقابل یکی در این روش هر ماشین بردار پشتیبان براي تمایز یک کلاس در مقابل یک کلاس دیگر آموزش میبیند. ي ر مجموعه آموزشی به دادههاي کلاس موردنظر برچسب 1+ و به دادههاي کلاس دیگر برچسب 1- داده میشود. بنابراین اگر تعداد کلاسها N باشد N(N-1)/2 ماشین بردار پشتیبان باید آموزش داده شود. تعداد ماشینهاي بردار پشتیبان در این روش نسبت به روش یکی در مقابل همه بسیار بیشتر است اما مجموعه آموزشی هر ماشین بردار پشتیبان در مقایسه با روش قبل کوچکتر است (فقط دادههاي دو کلاس را شامل میشود) در فاز تست هر یک از نمونههاي تست به تمامی N(N-1)/2 ماشین بردار پشتیبان اعمال میشود. اگر SVM مربوط به جفت کلاس ij نمونه تست را متعلق به کلاس i بداند درجه کلاس i یک واحد افزایش مییابد در غیر اینصورت درجه کلاس j یک واحد افزایش خواهد یافت. پس از اعمال نمونه تست به کلیه کلاسها کلاسی که داراي بالاترین درجه باشد به عنوان کلاس برنده انتخاب میشود. در صورتی که دو کلاس داراي درجه برابر باشند کلاسی که اندیس کوچکتري دارد انتخاب میشود. نکات تمام مولفههاي بردارهاي ویژگی در یک محدوده خاص نرمالیزه شوند. از همان روشی که براي نرمالیزاسیون دادههاي آموزشی استفاده میشود باید براي دادههاي تست نیز استفاده شود. روش Cross-Validation در توابع RBF تنها پارامتري که باید تعیین شود پارامتر γ میباشد. هدف این است که مقادیر بهینه دو پارامتر C و γ براي کاربرد موردنظر مشخص شود به گونهاي که ماشین بتواند دادههاي نامعلوم تست) را با دقت خوبی پیشگویی کند. ) مثلا دادههاي باید توجه کرد که لزوما دستیابی به درصد صحت بالا در دادههاي آموزش براي رسیدن به این هدف مفید نمیباشد. بنابراین یک روش معمول این است که دادههاي آموزش به دو سمت در نظر گرفته شود. یک سمت براي آموزش سیستم استفاده شود و سمت دیگر براي ارزیابی سیستم مورد استفاده قرار گیرد. درصد صحت اندازهگیري شده در این قسمت میتواند معیار خوبی براي ارزیابی سیستم مورد استفاده قرار گیرد. درصد صحت اندازهگیري شده در این قسمت میتواند معیار خوبی براي ارزیابی عملکرد سیستم هنگام پیشگویی دادههاي نامعلوم باشد. شیوه پیشرفته این ایده cross- روش validation میباشد. در روش vتایی cross-validation ابتدا دادههاي آموزش به v زیرمجموعه مساوي تقسیم میشوند. 1-v زیرمجموعه براي آموزش استفاده میشوند و یک مجموعه براي ارزیابی عملکرد سیستم مورد استفاده قرار
میگیرد. این عمل vبار تکرار میشود و در هر بار یک زیرمجموعه به عنوان زیرمجموعه ارزیابی در نظر گرفته میشود. به این ترتیب تمام دادههاي آموزشی یک بار براي ارزیابی استفاده میشوند. این روش از مسا له over fitting جلوگیري میکند. در شکل این مسا له نشان داده شده است. دایره و مثاثهاي توپر به عنوان دادههاي آموزش و توخالی به عنوان دادههاي تست در نظر گرفته شدهاند. در شکل a مسا له over fitting رخ داده است بنابراین با وجود اینکه خطا در دادههاي آموزش صفر میباشد درصد صحت روي دادههاي تست خوب نیست. حال اگر دادههاي b را به عنوان زیرمجموعه ارزیابی استفاده کنیم ملاحظه میشود که عملکرد سیستم در دادههاي تست بهتر میشود. تبدیل خروجی SVM به احتمال یکی از مشکلات این است که خروجی SVM یک فاصله است که براي مقایسه طبقهبنديکنندهها استفاده میشود. اما اکثر کاربردهاي پردازش سیگنالی نیاز به احتمال posterior دارند. این مشکل به ویژه در بازشناسی گفتار مهم است به دلیل اینکه همپوشانی قابل ملاحظهاي در فضاي ویژگی وجود دارد مشکل این است که یک رابطه مستقیم بین فاصله از حاشیه و احتمال posterior کلاس وجود ندارد. یک روش بسیار ساده استفاده از هسیتوگرام خروجی SVM است. در شکل هیستوگرام خورجی SVM براي نمونههاي مثبت و منفی با استفاده از روش CV نشان داده شده است. یک روش دیگر که در بسیاري از مقالات به آن اشاره شده استفاده از تابع توزیع سگیامیوي یدي به صورت زیر P y = 1 f = 1 1 + exp(af + B) نکته: هر چه پارامتر C بزرگتر انتخاب شود خطاي آموزش کمتر خواهد شد اما در عوض قدرت تعمیمدهی ماشین نیز کمتر میشود. پارامتر γ در واقع عکس واریانس تابع RBF است انتخاب مقادیر بزرگ براي این پارامتر موجب میشود خطاي آموزش کمتر شود اما قدرت تعمیمدهی سیستم نیز پایین میآید. بنابراین براي ایجاد مصالحه میان قدرت تمایز و قدرت تعمیمدهی باید مقادیر میانهاي براي این پارامترها انتخاب شود. از روش cross-validation براي تعیین مقادیر بهینه γ و C استفاده میشود.