✅ ماشین بردار پشتیبان SVMs
✍ماشین بردار پشتیبان یکی از مهمترین روشهای یادگیری با ناظر است که هم برای مسائل طبقهبندی و هم رگرسیون به کار میرود (البته مدل طبقهبندی آن محبوبیت بیشتری بین محققین دارد!). تابع هزینه این الگوریتم طوری طراحی شده که به الگوریتم کمک میکند بهینه ترین مرز تصمیم گیری را پیدا کند.این روش توسط آقای Vapnik معرفی شده و به طور گستردهای در پروژهها و مطالعات مختلف استفاده میشود.
💡دو مزیت اصلی SVM
◾️تابع هزینه محدب: «همیشه در مینیمم اصلی همگرا میشود!»
◽️کارایی بالا در ابعاد بالا: «از آنجا که SVM به ابعاد حساس نیست و براساس بردارهای پشتیبان کار میکند.»
🔷 مرز بهینه (Optimum hyperplane)
در مسائل طبقه بندی، بهینه ترین مرز، مرزی هست که علاوه بر حداقل خطای تصمیم گیری، حاشیه امنیت بیشتری داشته باشه. یعنی مرزی پیدا کنه که بیشترین فاصله رو از گروهها داشته باشه، تا در شرایط جدید که تغییرات اجتناب ناپذیر هست، باز مدل بتونه تصمیم گیری بهتری داشته باشد.
مثل ایستادن بین دو دریاست. باید تا جایی که میشود از دو طرف آب فاصله بگیریم تا در هنگام جزر و مد کمتر خیس شویم!
💡تفاوت رویکرد Vapnik و Wiener
◾️ ایده Wiener در Wiener-Hopf: آقای وینر دنبال مدلهایی بود که خروجی رو بر اساس حداقل کردن خطا بهینه سازی کنند. مثلا در فیلتر وینر هدف پیدا کردن بهترین تقریب خطی برای داده ها هست و در این رابطه به صورت صریح ماکزیمم کردن فاصله بین کلاسها بیان نشده است. برای همین مدل لزوما به بهینه ترین مرز نمی رسد.
◾️ ایده Vapnik در SVMs: وپنیک هدف رو فراتر برده است! یعنی علاوه بر کاهش خطا، پیدا کردن مرزی با بیشترین حاشیهی امن بین کلاسها را هم به تابع هزینه اضافه کرد و همین رویکرد ضمانت میکنه که مدل به بهینه ترین مرز ممکن برسه (البته اگر چنین مرزی وجود داشته باشد!)
☑️ الگوریتم SVM در مقایسه با شبکه های عصبی
🔺همگرایی: تابع هزینه SVM محدب است و مدل حتما در مینمم اصلی همگرا میشود. برای همین اگر مسئله جواب داشته باشد، SVM حتما به بهترین مرز ممکن میرسد. اما تابع هزینه برای شبکه های عصبی غیر محدب است و احتمال اینکه مدل به جای مینیمم اصلی در مینیمم محلی گیر کند وجود دارد و همین باعث میشه شبکه های عصبی لزوما بهترین جواب ممکن برای مسئله را پیدا نکنند!
🔺 پیچیدگی محاسباتی: شبکه های عصبی پیچیدگی محاسباتی کمتری دارند! چرا که در آموزش نیاز به کل داده به صورت یکجا ندارند! و همین باعث میشه راحتتر (از لحاظ سخت افزاری) پیاده سازی کرد. اما در SVM نیازه که ماتریس کل داده رو برای حل مسئله Quadratic Programming بسازیم. این یعنی در حین یادگیری به کل دادهی آموزشی نیاز است، به همین دلیل آموزش SVM (مخصوصا در مسائل رگرسیون) روی دیتاست های بزرگ کند و سنگین میشه! و در برخی موارد در کامپیوترهای شخصی عملا نمیتوان از SVM برای حل مسئله استفاده کرد.
💡البته stochastic SVM هم برای حل این مسئله ارائه شده که آپدیت پارامترها به صورت تدریجی و تقریبی انجام میشه، ولی در این نوع SVM تابع هزینه از حالت محدب در میاد و دیگه مدل لزوما به بهینه ترین مرز تصمیم گیری نمیرسد.
🏢 آکادمی آنلاین مهندسی پزشکی و هوش مصنوعی
@Onlinebme
Post #4250
2.11K
Onlinebme ✅تایم لپس کوتاه از توضیح ریاضیات SVMs @Onlinebme
- 👍 4