Overfitting کلاسیفیر - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

Overfitting کلاسیفیر

+1 امتیاز
سلام.

وقتی کلاسیفیری overfit میشه چه مشکلی براش پیش میاد
سوال شده فروردین 12, 1396  بوسیله ی مریم اکرمی (امتیاز 482)   25 55 66

3 پاسخ

+2 امتیاز
 
بهترین پاسخ

در واقع overffiting باعث خرابی در generalization شبکه میشه.

فرض کنید ما یک سری داده یا نقاط به عنوان داده های آموزشی داریم که قصد داریم با یک منحنی آن را به دو گروه دسته بندی کنیم.

 

 

 

 

داده های آموزش

اگر بخایم یک منحنی منطقی جهت دسته بندی کردن این دو گروه از داده به صورت زیر میشه هر چند که برخی از نقاط خارج گروه خودشان قرار گرفته اند.

طبقه بندی داده های آموزشی

از آنجایی که برخی از نقاط توی گروه خودشان قرار نگرفتند اند می تونیم چنان دقیق دسته بندی کنیم که همه داده در گروه صیحیح خود قرار بگیرند همانند شکل زیر :

دسته بندی دقیق داده های آموزشی

این مدل دومی به صورت دقیق داده ها را دسته بندی می کنه به نظر شما این از مدل اول بهتر عمل می کنه؟

حال فرض کنید ما یک نقطه جدید داریم که با مربع مشکی توپر نشان دادیم  و تصمیم داریم با همین مدل دوم که دقیقه این نقطه جدید را دسته بندی کنیم.

داده جدید جهت طبقه بندی

قاعدتاً مدل دقیق میگه این داده جدید باید در کلاس مثلث قرار بگیره ولی اگر منطقی به قضیه نگاه کنیم این داده جدید جز دسته گروه دایره ها است.

اینکه بعضی از نقاط متعلق به یک گروه در دل گروه دیگه قرار گرفتن اینها در واقع همان داده های نویزی هستند و یادگیری ماشین راهی جهت جدا کردن دقیق این نقاط نداره.در واقع کلاسیفایر ما به کلیت داده های ما نگاه می کنه و سپس مرز دسته بندی یا همان منحنی در این مسئله را برای ما محاسبه می کنه.شما باید این نکته را در نظر داشته باشید که همیشه این نویز ها وجود ندارند و شبکه باید طوری دسته بندی را انجام بده که شبکه ما قابلت تعمیم پذیری داشته باشه.اگر شما مدلی داشته باشید که قدرت تعمیم پذیریش کم باشه اصطلاحا بهش می گن که مدل شما overfit شده.

تو یادگیری عمیق هم برای جلوگیری از overfitting شبکه از تکنیک dropout   و regularization  و  Data augmentation  استفاده می کنند.

پاسخ داده شده تیر 6, 1396 بوسیله ی sharp man (امتیاز 179)   3
ویرایش شده اسفند 16, 1397 بوسیله ی مصطفی ساتکی
0 امتیاز
جهت جلوگیری از overfitting مدل چندین راه حل پیشنهاد میشه

کاهش پیچیدگی مدل به فرض مثال شما برای مسئله ی ساده مدل بسیار پیچیده در نظر گرفتید که در این صورت باید پارامترهای مدل را کاهش بدید به فرض جایگزینی مدل خطی به جای چند جمله ی درجه بالا و یا اگر مدلتون cnn می تونید عمق مدل را کمتر کنید و یا اینکه ضرایب regularization را افزایش دهید

ممکن داده های شما بدای پروسه آموزش کم باشه داده های بیشتری جمع آوری کنید

داده های نویزی یا همون outliers را کاهش بدید
پاسخ داده شده اسفند 19, 1398 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
0 امتیاز

Overfitting چیست؟

 

هنگامی که یک مدل برای داده های آموزشی بسیار خوب عمل می کند اما عملکرد ضعیفی با داده های آزمایشی (داده های جدید) دارد، به عنوان overfitting شناخته می شود. در این حالت، مدل یادگیری ماشین جزئیات و نویز در داده‌های آموزشی را یاد می‌گیرد به طوری که بر عملکرد مدل در داده‌های تست تأثیر منفی می‌گذارد. overfitting  ممکن است به دلیل بایاس پایین و واریانس زیاد اتفاق بیفتد.

 

دلایل Overfitting 

 

  • داده های مورد استفاده برای آموزش تمیز نشده و حاوی نویزاست .
  • مدل دارای واریانس بالایی است
  • اندازه مجموعه داده آموزشی مورد استفاده کافی نیست
  • مدل خیلی پیچیده است

 

راه های مقابله با Overfitting 

 

  • با استفاده از اعتبارسنجی متقاطع K-fold
  • استفاده از تکنیک های Regularization مانند Lasso و Ridge
  • مدل آموزشی با داده های کافی
  • اتخاذ تکنیک های گروه بندی
پاسخ داده شده شهریور 23, 1401 بوسیله ی toopak (امتیاز 2,458)   16 47 66
...