Overfitting
جمعه, ۵ مهر ۱۳۹۲، ۰۴:۳۳ ب.ظ
این نوشته گردآوری نوشته های پراکنده پیرامون Overfitting است که با گشت و گذاری در وب به دست آورده ام. لب مطلب این بخش را از مطالبی که آقای دکتر سعید شیری به عنوان محتوای درس دانشگاهی انتشار داده اند گرفته ام.
تعریف:
برای فرضیه ای مثل h روی فضای فرضیه ای H دو نوع خطا وجود دارد.
- خطا روی داده های آموزشی
- errortrain(h)
- خطا روی کل داده های ممکن
- errorD(h)
می گوئیم برای فرضیه h عضو H روی داده های آموزشی Overfitting رخ داده است، اگر فرضیه ای مثل h0 عضو H وجود داشته باشد که :
errortrain(h) < errortrain(h0)
&
errorD(h) > errorD(h0)
یعنی فرضیه ای (یا مدلی) دیگر وجود دارد که در استفاده واقعی و کاربری، از مدل ما بهتر است ولی بر روی داده های آموزشی بهتر نیست.
دلایل بروز Overfitting
1- وجود نویز زیاد در داده های آموزشی
2- تعداد کم داده های آموزشی
پرهیز از Overfitting و حل آن
دو روش و دید کلی وجود دارد.
1- جلوگیری از رشد درخت قبل از رسیدن به مرحله ای که بطور کامل داده های آموزشی را دسته بندی نماید.
2- اجازه به رشد کامل درخت و سپس هرس کردن شاخه هایی که مفید نیستند(Post Pruning)
و در پایان با دیدن شرایط زیر می توان گفت Overfitting رخ داده است.
1- اختلاف زیاد بین دقت دسته بندی داده های آموزشی و داده های آزمایشی
2- رسیدن به فرضیه یا مدلهای خیلی پیچیده(مثلا رسیدن به یک درخت تصمیم خیلی بزرگ)
- ۹۲/۰۷/۰۵