بیشبرازش (Overfitting) چیست؟
بیشبرازش یک رفتار نامطلوب در یادگیری ماشین است که زمانی رخ میدهد که مدل یادگیری ماشین برای دادههای آموزشی پیشبینیهای دقیقی ارائه میدهد، اما برای دادههای جدید عملکرد خوبی ندارد. وقتی دانشمندان داده از مدلهای یادگیری ماشین برای پیشبینی استفاده میکنند، ابتدا مدل را روی یک مجموعه دادهی شناختهشده آموزش میدهند. سپس مدل، بر اساس این اطلاعات، تلاش میکند نتایج را برای مجموعه دادههای جدید پیشبینی کند. یک مدل بیشبرازششده میتواند پیشبینیهای نادرست ارائه دهد و نتواند در همه انواع دادههای جدید عملکرد مطلوبی داشته باشد.
چرا بیشبرازش رخ میدهد؟
تنها زمانی پیشبینیها دقیق خواهند بود که مدل یادگیری ماشین بتواند برای همه انواع دادهها در حوزهی خود تعمیم پیدا کند. بیشبرازش زمانی رخ میدهد که مدل نتواند تعمیم دهد و بیش از حد به دادههای آموزشی وابسته شود. این مشکل به دلایل مختلفی اتفاق میافتد، از جمله:
-
اندازه مجموعه داده آموزشی بسیار کوچک است و نمونههای کافی برای نمایش تمام مقادیر ورودی ممکن ندارد.
-
دادههای آموزشی شامل حجم زیادی اطلاعات بیربط یا «دادههای پر سر و صدا» (noisy data) است.
-
مدل برای مدت طولانی روی یک مجموعه داده خاص آموزش داده میشود.
-
پیچیدگی مدل زیاد است و در نتیجه نویز موجود در دادههای آموزشی را هم یاد میگیرد.
مثالهای بیشبرازش
فرض کنید یک مدل یادگیری ماشین باید عکسها را تحلیل کند و عکسهایی را که سگ در آنها وجود دارد، شناسایی کند. اگر این مدل با مجموعهای آموزش ببیند که بیشتر عکسهای آن شامل سگهایی در پارک است، ممکن است یاد بگیرد که وجود چمن را بهعنوان یک ویژگی تشخیص استفاده کند و در نتیجه نتواند سگی را که در داخل خانه است، تشخیص دهد.
نمونه دیگر، الگوریتمی است که عملکرد تحصیلی و نتیجه فارغالتحصیلی دانشجویان را با تحلیل عواملی مانند درآمد خانواده، سوابق تحصیلی گذشته، و مدارک تحصیلی والدین پیشبینی میکند. اما اگر دادههای آزمایشی فقط شامل داوطلبانی از یک جنسیت یا گروه قومی خاص باشد، بیشبرازش باعث کاهش دقت پیشبینی برای داوطلبانی میشود که خارج از این جنسیت یا قومیت هستند.
چگونه میتوانید بیشبرازش را تشخیص دهید؟
بهترین روش تشخیص بیشبرازش، آزمایش مدلهای یادگیری ماشین با دادههای بیشتر و دارای نمایندگی جامع از انواع و مقادیر ورودی ممکن است. معمولاً بخشی از دادههای آموزشی بهعنوان داده آزمایشی استفاده میشود تا بیشبرازش بررسی شود. نرخ خطای بالا در دادههای آزمایشی، نشاندهنده بیشبرازش است. یکی از روشهای رایج آزمایش،
اعتبارسنجی متقابل K-تایی (K-fold cross-validation)
اعتبارسنجی متقابل یکی از روشهای آزمایشی است که در عمل استفاده میشود. در این روش، دانشمندان داده مجموعه آموزشی را به K زیرمجموعه یا مجموعه نمونه با اندازه مساوی به نام تاشو (fold) تقسیم میکنند. فرآیند آموزش از یک سری تکرار تشکیل شده است. در طول هر تکرار، مراحل به شرح زیر است:
- یک زیرمجموعه را به عنوان دادههای اعتبارسنجی نگه دارید و مدل یادگیری ماشین را بر روی K-1 زیرمجموعه باقیمانده آموزش دهید.
- مشاهده کنید که مدل چگونه بر روی نمونه اعتبارسنجی عمل میکند.
- عملکرد مدل را بر اساس کیفیت دادههای خروجی امتیازدهی کنید.
تکرارها تا زمانی تکرار میشوند که مدل را بر روی هر مجموعه نمونه آزمایش کنید. سپس میانگین امتیازها را در همه تکرارها برای دریافت ارزیابی نهایی مدل پیشبینیکننده محاسبه میکنید.
چگونه میتوانید از بیشبرازش جلوگیری کنید؟
میتوانید با متنوعسازی و مقیاسبندی مجموعه داده آموزشی یا استفاده از برخی استراتژیهای دیگر علم داده، مانند موارد زیر، از بیشبرازش جلوگیری کنید.
توقف زودهنگام (Early stopping)
توقف زودهنگام فاز آموزش را قبل از اینکه مدل یادگیری ماشین نویز موجود در دادهها را یاد بگیرد، متوقف میکند. با این حال، تنظیم زمانبندی به درستی مهم است؛ در غیر این صورت مدل همچنان نتایج دقیقی ارائه نخواهد داد.
هرس کردن (Pruning)
ممکن است هنگام ساختن یک مدل، چندین ویژگی یا پارامتر را شناسایی کنید که بر پیشبینی نهایی تأثیر میگذارند. انتخاب ویژگی—یا هرس کردن—مهمترین ویژگیها را در مجموعه آموزشی شناسایی میکند و موارد نامربوط را حذف میکند. به عنوان مثال، برای پیشبینی اینکه آیا یک تصویر حیوان است یا انسان، میتوانید به پارامترهای ورودی مختلفی مانند شکل صورت، موقعیت گوش، ساختار بدن و غیره نگاه کنید. ممکن است شکل صورت را اولویتبندی کنید و شکل چشمها را نادیده بگیرید.
منظمسازی (Regularization)
منظمسازی مجموعهای از تکنیکهای آموزش/بهینهسازی است که به دنبال کاهش بیشبرازش هستند. این روشها سعی میکنند عواملی را که بر نتایج پیشبینی تأثیر نمیگذارند، با درجهبندی ویژگیها بر اساس اهمیت حذف کنند. به عنوان مثال، محاسبات ریاضی یک مقدار جریمه را به ویژگیهایی با حداقل تأثیر اعمال میکنند. یک مدل آماری را در نظر بگیرید که تلاش میکند قیمت مسکن یک شهر را در ۲۰ سال آینده پیشبینی کند. منظمسازی مقدار جریمه کمتری را به ویژگیهایی مانند رشد جمعیت و میانگین درآمد سالانه، اما مقدار جریمه بالاتری را به میانگین دمای سالانه شهر اختصاص میدهد.
تجمیع (Ensembling)
تجمیع پیشبینیها را از چندین الگوریتم یادگیری ماشین جداگانه ترکیب میکند. برخی از مدلها به عنوان یادگیرندههای ضعیف شناخته میشوند زیرا نتایج آنها اغلب نادرست است. روشهای تجمیع همه یادگیرندههای ضعیف را برای دریافت نتایج دقیقتر ترکیب میکنند. آنها از چندین مدل برای تجزیه و تحلیل دادههای نمونه و انتخاب دقیقترین نتایج استفاده میکنند. دو روش اصلی تجمیع، بستهبندی (bagging) و تقویت (boosting) هستند. تقویت مدلهای مختلف یادگیری ماشین را یکی پس از دیگری برای دریافت نتیجه نهایی آموزش میدهد، در حالی که بستهبندی آنها را به صورت موازی آموزش میدهد.
افزایش داده (Data augmentation)
افزایش داده یک تکنیک یادگیری ماشین است که هر بار که مدل آن را پردازش میکند، دادههای نمونه را کمی تغییر میدهد. میتوانید این کار را با تغییر جزئی دادههای ورودی انجام دهید. هنگامی که به طور متعادل انجام شود، افزایش داده مجموعههای آموزشی را برای مدل منحصر به فرد نشان میدهد و از یادگیری ویژگیهای آنها توسط مدل جلوگیری میکند. به عنوان مثال، اعمال تبدیلاتی مانند انتقال، چرخش و چرخش به تصاویر ورودی.
کمبرازش (Underfitting) چیست؟
کمبرازش نوع دیگری از خطا است که زمانی رخ میدهد که مدل نتواند رابطه معناداری بین دادههای ورودی و خروجی تعیین کند. اگر مدلها برای مدت زمان مناسب بر روی تعداد زیادی از نقاط داده آموزش ندیده باشند، مدلهای کمبرازش دریافت میکنید.
کمبرازش در مقابل بیشبرازش
مدلهای کمبرازش، بایاس بالایی را تجربه میکنند—آنها نتایج نادرستی را هم برای دادههای آموزشی و هم برای مجموعه آزمون ارائه میدهند. از سوی دیگر، مدلهای بیشبرازش، واریانس بالایی را تجربه میکنند—آنها نتایج دقیقی را برای مجموعه آموزشی ارائه میدهند، اما برای مجموعه آزمون نه. آموزش بیشتر مدل منجر به بایاس کمتر میشود، اما واریانس میتواند افزایش یابد. دانشمندان داده هدفشان یافتن نقطه مطلوب بین کمبرازش و بیشبرازش هنگام برازش یک مدل است. یک مدل مناسب میتواند به سرعت روند غالب را برای مجموعههای داده مشاهده شده و مشاهده نشده تعیین کند.