تابع هدف در SVM : راهکار Penalty و دوری از Overfitting
مقدمه
تو این مطلب کوتاه میخوام راجع به یکی از چالش های قوی ترین دسته بندهای ممکن صحبت کنم.
بدون شک عزیزانی که علاقه مند به مبحث Data Science هستند کم و بیش با چگونگی عملکرد این دسته بند با توجه به شهرت و قدرتی که دارده آشنا شدن، فقط قبل از هر چیز به صورت مروری نقاط قوت و ضعف دسته بند SVM رو با هم چک می کنیم:
- بخاطر کرنل غیرخطی هم داده جدا پذیرخطی و جداپذیرغیر غیرخطی رو خوب دسته بندی میکند.(قوت)
- برای کار بر روی دادگان کوچکتر مناسب است(قوت)
- برای کرنل خطی بصورت جعبه سیاه نیست(قوت)
- در مصرف حافظه بهینه عمل می کند(قوت)
- برای داده های خلوت، مناسب ترین است(قوت)
- چالش اصلی ما تنظیم پارامتر هزینه است.(چالش)
- بالا بردن هزینه خطر بیش برازش ایجاد می کند
- پایین آوردن هزینه خطر کم برازش ایجاد می کند(ضعف)
- برای کرنل غیر خطی خطی بلک باکس است (ضعف)
- اگر مجموعه داده نویزی و یا بزرگ باشد عملکرد خوبی ندارد(ضعف)
- بطور مستقیم تخمین تابع احتملاتی ندارد و تخمین با استفاده Cross Validation انجام می شود(ضعف)
- داده زیاد پیچیده باشد دچار بیش برازش می شود.(ضعف)
تابع هدف در SVM
تابع هدف در SVM دارای دو جزء است:
- یک.پهنای حاشیه(Margin)
- دو. جریمه کردن داده هایی که خارج از کلاسشون قرار گرفتند و یا خارج از مرز هستند (یعنی اومد داخل Margin)
برای پیاده سازی فرآیند جریمه کردن، داده ها باید بتونن برچسب غلط بگیرن تا جریمه بشن و در تابع هدف اضافه بشن. همانطور که حاشیه رو زیاد می کنیم، سعی میکنیم جریمه رو کاهش بدیم. هرقدر پارامتر هزینه (Cost)بزرگتر باشه داده ها با خطای کمتری دسته بندی میشن، و هرچقدر کوچکتر باشه ماشین بردار پشتیبان پهنای حاشیه رو بزرگتر نگه میداره.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.