تصور کنید مسئله پیش بینی $y$ را، به صورتی که $x \in R$ است را داریم.
سمت چپ ترین شکل زیر نتیجه fitting، $y = \theta_0 + \theta_1x$ را بر روی مجموعه داده نشان میدهد. می بینیم که داده ها واقعاً روی خط مستقیم قرار ندارند، بنابراین اصطلاحا خوب fit نشده است (تناسب خوبی با داده ها ندارد).
در عوض اگر ویژگی $x^2$ را اضافه کنیم، و $y = \theta_0 + \theta_1x+ \theta_2 x^2$ را fit کنیم، سپس کمی بهتر با داده ها مطابقت پیدا میکنیم که در شکل وسطی میبینیم. به طور ساده لوحانه ممکن است به نظر برسد که هرچه تعداد ویژگی بیشتری اضافه کنیم بهتر است!
با این حال اضافه کردن ویژگی های بیش از حد نیز خطراتی دارد!
سمت راست ترین شکل نتیجه چند جمله ای مرتبه ۵ $y = \sum_{j = 0}^5 \theta _j x^j$ است.
ما میبینیم که منحنی اعمال شده به خوبی از داده ها عبور میکند، اما انتظار نداریم که این پیش بینی کننده خوبی برای پیش بینی قیمت مسکن (y) در مناطق مختلف قابل سکونت (x) باشد.
بدون اینکه به طور رسمی معنی این اصطلاحات را مشخص کنیم، میگوییم که:
شکل سمت چپ نمونه ای از underfitting است. و شکل سمت راست نیز نمونه ای overfitting است.
Underfitting بایاس زیاد زمانی رخ میدهد که شکل حاصل از تابع فرضیه ما (h) به طور ضعیفی با روند داده های ما در مجموعه داده (dataset) تطابق داشته باشد.
این وضعیت معمولا به دلیل بسیار ساده بودن تابع یا استفاده از ویژگی های کم رخ میدهد.
در طرف دیگر overfitting واریانس زیاد وضعیتی است که توسط یک تابع فرضیه ایجاد میشود که تناسب خوبی با داده های ما دارد، اما پیش بینی داده های جدید که تا کنون ندیده است را به خوبی انجام نمیدهد، اصطلاحا تعمیم داده شده یا عمومی نیست.
این وضعیت معمولا به دلیل پیچیده بودن تابع فرضیه ایجاد میشود که انحنا ها و زوایای غیر ضروری زیادی را ایجاد میکند که با داده های ما ارتباطی ندارند.
دو گزینه برای حل مشکل overfitting وجود دارد: