برای انجام پروژه متلب SVM ماشین بردار پشتیان support vector machines با بهترین کیفیت و زمان و هزینه با شماره 09190090258 در ارتباط باشید.
فرض میکنیم که نمونه های آموزشی مربوط به کلاس های مختلف به صورت خطی جدا پذیراند. در این صورت می توان بدون داشتن هیچ دانشی در مورد توزیع نمونه های آموزشی، بین نمونه های مربوط به کلاس های مختلف تمایز قائل شد. در کلاسهبند SVM، مرز کلاسهبندی به صورتی انتخاب میشود که حاشیه، بیشینه شود.
در این کلاسهبند، با بیشینه کردن حاشیه، ابر صفحه بهینه برای کلاسهبندی دادههای خطی به دست میآید. اما با بهره گیری از توابع کرنل غیرخطی، SVM قادر است تا داده های کلاس های مختلف را بصورت غیرخطی از یکدیگر جدا نماید. در اینصورت، ابرصفحه جداکننده کلاس ها غیرخطی خواهد بود. این باعث می شود که کارایی کلاسه بند SVM در بسیاری از مسائل افزایش یابد.
ماشین بردار پشتیبان (SVM)
الگوریتم SVM اولین بار در سال 1960 در روسیه توسعه داده شد. این الگوریتم ردهبندی غیرخطی است که از متدهای غیرخطی استفاده میکند و دادهها را از فضای ورودی یا فضای پارامتری به فضای ویژگیهایی با ابعاد زیاد نگاشت مینماید. هدف این الگوریتم انتخاب ابرصفحه جداساز بهینه جهت حداکثرسازی حاشیه بین دو کلاس است. برای حل مشکل طبقهبندی دودویی که در آن W1 و W2 نشاندهنده دو کلاس در یک مجموعه دادههای آموزشی هستند، مجموعه X={x1,x2,…,xn} به همراه برچسب کلاس ارائه شده است. ابرصفحهایی که دادههای مجزا را به دو کلاس طبقهبندی مینماید به شرح زیر است.
f(x)=sgn(<w,x> + b)
در رابطه بالا w بردار ضریب و b میزان تمایل به یکطرف (چولگی) ابرصفحه و sgn مخفف تابع دوقطبی است. مشکل بهینهسازی که منجر به تولید ابرصفحه میگردد به صورت زیر نوشته میگردد.
Minimizew,x 1/2||w||2
Yi(<w,xi>+b)>=1, for i= 1,2,…,N
بزرگتر شدن حاشیه باعث بهترشدن توانائی تعمیم انتظار میگردد.
ماشین بردار پشتیبان یک مجموعه از متدهای یادگیری با ناظر است که برای طبقهبندی و رگرسیون استفاده میشود. ماشین بردار پشتیبان در سال 1992 توسط Vapnik و Chervonenkis بر پایه تئوری یادگیری آماری معرفی شد. ماشین بردار پشتیبان یک مفهوم ریاضی برای ماکزیمم کردن تابع ریاضی با توجه به مجموعه دادههای داده شده است. همچنین شهرت آن به خاطر کارایی در تشخیص حروف دستنویس است که با شبکههای عصبی پیچیده قابل قیاس میباشد.
در SVM یک داده به صورت یک بردار P بعدی(یک لیست از P عدد) دیده میشود که میتوان چنین نقاطی را با یک ابرصفحه P-1 بعدی جدا کرد. این عمل جداسازی خطی نامیده میشود. ابرصفحههای بسیاری وجود دارند که میتوانند دادهها را جدا کنند. البته انتخاب ابرصفحه مناسب نقش کلیدی دارد.
مفهوم آموزشی که دادهها بتوانند به عنوان نقاط در یک فضای با ابعاد بالا دستهبندی شوند و پیدا کردن خطی که آنها را جدا کند، منحصربهفرد نیست. آنچه SVM را از سایر جداکنندهها متمایز میکند، چگونگی انتخاب ابرصفحه است.
درSVM ماکزیمم کردن حاشیه بین دو کلاس مدنظر است. بنابراین ابرصفحهای را انتخاب میکند که فاصله آن از نزدیکترین دادهها در هر دو طرف جداکننده خطی ماکزیمم باشد. اگر چنین ابرصفحهای وجود داشته باشد به عنوان ابرصفحه ماکزیمم حاشیه شناخته میشود.
یک ابرصفحه حداکثر کننده حاشیه مدنظر میباشد، چون به نظر میرسد مطمئنترین راهحل باشد و تئوریهایی بر مبنای VC dimension وجود دارد که مفید بودن آن را اثبات میکند؛ همچنین این روش بهطور تجربی نتایج قابل قبولی داده است.
برای ساخت ماکزیمم حاشیه دو صفحه مرزی موازی با صفحه جداکننده رسم کرده، آن دو را آنقدر از هم دور میکنند که به دادهها برخورد کنند. صفحه جداکنندهای که بیشترین فاصله را از صفحات مرزی داشته باشد بهترین جداکننده خواهد بود.
تابع تصمیمگیری برای جدا کردن دادهها با یک زیرمجموعه از نمونههای آموزشی تعیین میشود؛ نمونههای آموزشی در اینجا بردارهای پشتیبان نزدیکترین دادههای آموزشی به ابرصفحه جداکننده میباشند؛ درواقع ابرصفحه بهینه در SVM جداکنندهای بین بردارهای پشتیبان است.
در صورت استفاده مناسب از SVM، این الگوریتم قدرت تعمیم خوبی خواهد داشت و علیرغم ابعاد زیاد، از سرریز شدن پرهیز میکند. همچنین به دلیل استفاده از بردارهای پشتیبان بهجای کل دادهها این الگوریتم، فشردهسازی اطلاعات را نیز انجام میدهد.
فتابع کرنل تابعی مطابق با یک ضرب داخلی در فضای ویژگی است. بنابراین میتوان بهجای محاسبه ، از تابع کرنل استفاده کرد. انتخاب کرنلهای غیرخطی، اجازه ساخت جداکنندههای خطی در فضای ویژگی را میدهد؛ درصورتیکه در فضای اصلی غیرخطی هستند.
مزایای تابع کرنل عبارتاند از:
- حل مسائل محاسباتی که دارای ابعاد زیادی هستند.
- امکان استفاده از ابعاد نامتناهی.
- از لحاظ زمانی و حافظه کارآمد است.
ماشین بردار پشتیبان چند کلاسی SVM
اساساً یک جداکننده دودویی است. برای مسائل چند کلاسی، رهیافت کلی کاهش مسئله چند کلاسی به چندین مسئله دودویی است. هر یک از مسائل با یک جداکننده دودویی حل میشود. سپس خروجی جداکنندههای دودویی SVM باهم ترکیبشده و بهاینترتیب مسئله چند کلاس حل میشود.
مراحل استفاده از SVM
- ماتریس الگو آماده میشود.
- تابع کرنلی برای استفاده انتخاب میشود.
- پارامتر تابع کرنل و مقدار C انتخاب میشود.
- برای محاسبه مقادیر ، الگوریتم آمورشی با استفاده از حلکنندههای QP، اجرا میشود.
- دادههای جدید با استفاده از مقادیر و بردارهای پشتیبان میتوانند دستهبندی شوند.
مزایا و معایب SVM
- آموزش نسبتاً ساده است و برخلاف شبکههای عصبی در ماکزیممهای محلی گیر نمیافتد.
- برای دادههای با ابعاد بالا تقریباً خوب جواب میدهد.
- مصالحه بین پیچیدگی دستهبندی کننده و میزان خطا بهطور واضح کنترل میشود.
- به یک تابع کرنل خوب و انتخاب پارامتر C نیاز دارد.
ارزيابي روشهاي کلاسهبندي
ارزيابي روشهاي کلاسهبندي با معيارهاي زير انجام ميپذيرد
- ميزان دقت در پیشگویی، ازجمله معيارهاي ارزيابي روشهاي مذكور در کلاسهبندي ميباشد كه ميزان قابليت و توانايي يك مدل را در پيشگويي صحيح برچسب يك كلاس، مشخص ميكند.
- سرعت و توسعهپذيري، از نظر زماني كه براي ايجاد يك مدل و زمان استفاده از آن مدل لازم ميباشد، از معيارهاي ديگر ارزيابي روش در کلاسهبندي ميباشد.
- قوي بودن معيار مهمي است كه ميزان توانايي يك مدل را در برخورد با نويز و مقادير حذف شده تعيين میکند.
- توسعهپذيري معيار ديگري است كه ازنقطهنظر ميزان کارايي در بانكهاي اطلاعاتي بزرگ و نه دادههاي مقيم در حافظه مورد بررسي قرار میگیرد.
- قابل تفسير بودن، يعني ميزان و سطح درك ایجادشده توسط مدل از ديگر مواردي است كه ميبايست در بررسي روشهاي کلاسهبندي در نظر گرفت.
از میان روشهای مختلف ارزیابی کارایی الگوریتمهای کلاسهبندی، در این تحقیق از روش 10 Folds Cross Validation استفاده شده است.
خانه متلب اولین و بهترین سایت در زمینه انجام پروژه های متلب است. در خانه متلب هیچ گونه واسطه ای وجود ندارد و به صورت مستقیم می توانید با مجری در ارتباط باشید.
دیدگاهتان را بنویسید