در مدلهای آماری و بخصوص الگوریتمهای یادگیری ماشین، مسئله موازنه واریانس و بایاس (اریبی) مورد بحث قرار میگیرد. در اغلب «مدلهای پیشبین» (Predictive Model)، وجود بایاس کوچک برای پارامترها منجر به واریانس بزرگ برای مدل خواهد شد. البته برعکس این حالت نیز وجود دارد، به این معنی که با کوچک کردن واریانس مدل، با مشکل بزرگ شدن بایاس یا اریبی پارامترها مواجه خواهیم شد.
مسئله اصلی آن است که در یک مدل مناسب، هم بایاس و هم واریانس باید حداقل ممکن باشند. ولی متاسفانه، کمینهسازی (Minimization) هر دو این شاخصها به شکل توام، امکانپذیر نیست. چنین وضعیتی را «تناقض واریانس-اریبی» (Bias-Variance Dilemma) مینامند. در ادامه هر یک از خطاها را معرفی کرده و نحوه ایجاد تعادل واریانس و اریبی را بازگو خواهیم کرد.
خطای بایاس: وجود فرضیههای مختلف روی مدل و الگوریتم یادگیری منجر به ایجاد خطای اریبی میشود. بزرگ بودن اریبی میتواند الگوریتم یا مدل آماری را از کشف روابط بین ویژگیها (Features) و متغیر پاسخ (Target Variable) باز دارد. اغلب بزرگ بودن خطای اریبی، منجر به کمبرازش (Underfitting) میشود.
خطای واریانس: حساسیت زیاد مدل با تغییرات کوچک روی دادههای آموزشی، نشانگر وجود واریانس زیاد است. این امر نشانگر آن است که اگر مدل آموزش داده شده را روی دادههای آزمایشی به کارگیریم، نتایج حاصل با دادههای واقعی فاصله زیادی خواهند داشت. متاسفانه افزایش واریانس در این حالت منجر به مدلبندی مقادیر نویز (Noise) شده و به جای پیشبینی صحیح، دچار پیچیدگی و مشکل « بیشبرازش» (Overfitting) میشود.
در علم داده(Data Science)، موازنه واریانس و بایاس (اریبی) به یک مسئله اصلی در یادگیری نظارت شده Supervised Machine Learning تبدیل شده است. در حالت ایده آل، مدلی را مناسب در نظر میگیریم که نه تنها در دادههای آموزش دارای عملکرد مناسب باشد، بلکه به خوبی روی مجموعه مقادیر آزمایشی نیز تعمیم داده شود. متأسفانه انجام هر دو کار به طور هم زمان غیر ممکن است. روشهای یادگیری با واریانس بالا، ممکن است بتوانند مدل مناسبی روی دادههای آموزشی خود ایجاد کنند، اما هنگامی که چنین مدلی به منظور پیشبینی مقادیر براساس دادههای آزمایشی مورد استفاده قرار میگیرد در ارائه مقادیر مناسب و با خطای کم برای متغیر پاسخ ناتوان خواهد بود. در مقابل، الگوریتمهایی که دارای بایاس زیاد هستند، معمولاً مدلهای سادهتر و با پارامترهای کمتری ایجاد میکنند که مشکل بیشبردازش نداشته ولی متاسفانه از کمبرازش رنج میبرند.
مدلهای با واریانس بزرگ (مثلا رگرسیون چند جملهای هممرتبه با تعداد مشاهدات)، که معمولاً پیچیدهتر هستند، این امکان را میدهد تا دادههای آموزشی به خوبی برازش شوند. با این وجود، ممکن است مشاهدات برازش شده دارای خطا یا نوفه باشند که متاسفانه مدل تحت تاثیر آنها، برآوردها را با دقت انجام داده است. به این ترتیب پیشبینی آنها باعث افزودن پیچیدگی در مدل شده است. در حالیکه این امر از طرفی دقت برآوردها را هم برای دادههای آزمایشی کمتر میکند. در مقابل، مدلهایی که دارای اریبی بزرگی هستند، نسبتاً ساده بوده (مثل مدل رگرسیون دو جملهای یا حتی خطی) اما ممکن است واریانس کوچکتری را براساس مجموعه دادههای آزمایشی ایجاد کنند.
واریانس مدل متغیر بودن پیش بینی مدل برای یک داده است که به ما درباره پراکندگی داده های ما صحبت میکند. مدل با واریانس زیاد توجه زیادی به داده های آموزشی داشته و بر اطلاعاتی که قبل از آن دیده نشده تعمیم پذیر نمیباشد. در نتیجه، چنین مدلهایی به خوبی بر روی داده های آموزشی عمل می کنند اما دارای نرخ خطای بالا در داده های تست هستند. در وارایانس موجب ایجاد خطای ناشی از حساسیت به نوسانات کوچک در مجموعه آموزش است و الگوریتم را به مدل کردن نویز های تصادفی در داده های آموزش وادار میکند یعنی همان پدیده overfitting . به طور مثال می خواهیم مدلی از دمای هوا در سطح شهر تهران ارائه دهیم. اگر داده هایی که تهیه می کنیم از اقصی نقاط متفاوت و حتی استثناها باشد، مثلا از ارتفاعات توچال که معمولا دمای هوای آن از میانگین دمای هوای سایر مناطق تهران خیلی پایینتر است داده تهیه کنیم و یا از جایی داده تهیه کنیم که دمای آن نسبت به سایر مناطق خیلی بالاتر است، پراکندگی داده های ما زیاد می شود و واریانس بالایی پیدا میکند. در این صورت اگر مدل را با چنین داده هایی آموزش دهیم ممکن است همه دماهای مناطق مختلف تهران را پوشش دهد ولی در مورد داده های تست خوب عمل نمی کند. اما اگر داده ها از مناطقی از شهر تهران تهیه شود که دمای خیلی بالا یا پایینی ندارند، پراکندگی های داده ای کمتر است اما همه ی داده های شهر تهران را شامل نمی شود.
بایاس اختلاف بین میانگین پیش بینی مدل ما و مقدار واقعی ای که ما در حال تلاش برای پیش بینی آن هستیم. مدل با بایاس زیاد توجه زیادی به داده های آموزش نکرده و مدل را بیش از پیش ساده و کلی می کند. این همیشه منجر به خطای زیاد در آموزش و داده های تست می شود. بایاس بالا می تواند در الگوریتم منجر به از دست رفتن روابط بین ویژگی ها و خروجی های هدف یا همان Underfitting شود. در مثال مدل دمای هوای شهر تهران، بایاس به این معنی است که میانگین واقعی دمای هوا عدد 22 درجه باشد اما مدلی که ما محاسبه کرده ایم میانگینی در حدود عدد 27 را نشان دهد. هر چه فاصله ی میانگین داده های مدل با میانگین واقعی بیشتر باشد، بایاس بالاتر است. طبیعتا هر چه بایاس پایینتری داشته باشیم مدل پردیکت شده به واقعیت نزدیکتر خواهد بود.