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