Samrand Majnooni
Samrand Majnooni
خواندن ۴ دقیقه·۳ سال پیش

بررسی دو مفهوم under-fitting و over-fitting در یادگیری ماشین

در این پست می خواهیم به دو مفهوم بسیار مهم over-fit و under-fit و تاثیرات بایاس و واریانس بر آن ها بپردازیم.

تابع هدف یا target function

در یادگیری ماشین تابعی که بر روی مجموعه داده اعمال می شود را f که این تابع ورودی های X را می گیرد و خروجی Y را نمایش می دهد. بنابراین به مدل ریاضی به شکل زیر می نویسیم:

Y = f(X)

یکی از مهم ترین ملاحظاتی ک باید در یادگیری ماشین و تابع هدف در نظر گرفت این است که چگونه مدل یادگرفته شده به رکوردهای جدید تعمیم داده شود. تعمیم یا Generalization بسیار مهم است، زیرا اطلاعاتی که جمع آوری می شود تنها یک نمونه، ناقص و نویزی است.

مفهوم Generalization: تعمیم به این نکته اشاره دارد که مفاهیمی که توسط یک مدل یادگیری ماشین آموخته شده است، به نمونه های جدیدی که با آن مواجه می شود، به خوبی بپردازد.

در نهایت به خاطر وجود مفهوم تعمیم پذیری در یادگیری ماشین، دو اصطلاح دیگر با نام های Under-fitting و Over-fitting به وجود می آیند. این دو مفهوم هر دو نشان دهنده عملکرد ضعیف الگوریتم یاد گیرنده در یادگیری ماشین است.

بیش برازش(overfitting):

درواقع Over-fitting به این موضوع اشاره دارد که مدل ما بسیار خوب آموزش دیده است اما به خوبی تعمیم نیافته است.

در دنیای الگوریتم‌ها Overfit شدن به معنای این است که الگوریتم فقط داده‌هایی که در مجموعه آموزشی (train set) یاد گرفته است را می‌تواند به درستی پیش‌بینی کند ولی اگر داده‌ای کمی از مجموعه‌ی آموزشی فاصله داشته باشد، الگوریتمی که Overfit شده باشد، نمی‌تواند به درستی پاسخی برای این داده‌های جدید پیدا کند و آن‌ها را با اشتباهِ زیادی طبقه‌بندی می کند.

فرض کنیم دانشجویی میخواهدداور فوتبال شود و اولین کاری که می کند شروع به خواندن کتاب آیین نامه و قوانین داوری برای شرکت در آزمون تئوری داوری خودرا آماده می کند. او برای صرفه جویی در هزینه خرید کتاب نزد کتابخانه دانشگاه رفته تا جویا شود که کتاب قوانین داوری فوتبال را موجود دارند یا خیر!

متصدی کتابخانه کتاب را به او می دهد وفرد خوشحال از اینکه نیازی نیست دیگر پولی بابت کتاب بدهد سریعا شروع به خواندن کتاب می کند(train) و بعد از تمام کردن کتاب از دوستش می خواهد از قسمت های مختلف کتاب از او سوال بپرسد، تاخودرا ارزیابی کند(valid)،نتیجه ارزیابی خیلی خوب و قابل قبول بود و فرد با اعتماد به نفس خاصی به جلسه آزمون(test) می رود، برخلاف تصور اصلا آزمون خوبی نبوده!! اگه بهتون بگم اینجا بیش برازش داشتیم، به نظرتون مشکل از کجا بوده؟!

1)ممکن است این کتاب چند جلدی بوده باشد.(توزیع نامناسب داده ها یا همون واریانس بالا)

2)دلیل دوم محتمل تره، قوانین داوری هر 6 ماه بروزرسانی میشوند و گاها دستخوش تغییرات زیادی خواهند شد، پس عملا کتابی که چاپ جدید نباشد، اشکالات زیادی دارد.(نویز)

همونطور که دیدین مدلی که آموزش خوبی دیده ولی با داده نویزی و یا آموزش کاملی دیده ولی با توزیع نامناسب و واریانس بالا مدل ، مفهموم بیش برازش رو برای ما توصیف میکنه.

کم برازش یا Underfitting:

برعکس زمانی که ما دچار Underfitting  میشویم اذعان به سادگی مدل در مرحله آموزش داریم تا حدی که نتوانسته مفهوم حاکم بر داده های ورودی را درک کند. چون مدل ما ساده است نمیتواند رفتار داده های آموزش را بدرستی یاد بگیرد و طبیعتا خطای آموزش بالایی دارد .بنابراین در مواجهه با داده های تست جدید هم خطای تعمیم بالایی خواهد داشت.معمولا زمانی اتفاق می افتد که داده های کمتری برای ساخت یک مدل دقیق و همچنین زمانی که ما سعی می کنیم یک مدل خطی با داده های غیر خطی ایجاد کنیم.

اگه بخوایم همون مثال قوانین داوری رو برای مدل کم برازش بزنیم؛ به این صورت خواهد بود که فرض کنید آن فرد خیلی ساده و ابتدایی قوانین مربوط به خطا را بداند("سرنگون کردن بازیکن مقابل را خطا میگویند!") ولی وقتی هنگام تست از او در خصوص خطای کف پا و یا قوانین مربوط به جریمه خطا(کارت قرمز یا زرد) می پرسند،

قطعا عملکرد خوبی نخواهد داشت،چون به صورت کلی آموزش دیده است و اصطلاحا در اینجا کم برازش رخ داده است.و اگر از خود داده های آموزش قسمتی را برداریم و مدل را ارزیابی کنیم باز مدل ما Bias زیادی خواهد داشت.

شکل زیر تحلیل شفافی را به ما میدهد . همانطور که صحبت شد , زمانی که پیچیدگی مدل ما به دلیل یادگیری کمتر در مرحله آموزش پایین است در معرض Underfitting  هستیم و هم خطای آموزش و هم خطای تست بالاست و نتیجه اینکه خطای تعمیم پذیری مدل هم بالا خواهد بود.

هر چقدر پیچیدگی مدل افزایش میابد خطای آموزش به دلیل یادگیری دقیق تر داده های آموزشی کمتر شده اما مدل در پیش بینی رفتار داده های تست رفتار نامناسبی داشته و خطای تست بالا میرود و مدل ما برای داده های جدید ناکامد بوده و قابل تعمیم نمیباشد.

طبیعتا بهترین فیت جاییست که خطای آموزش و خطای تست در حد معقولی بسته به صورت مسئله بین دو پدیده فوق باشد.

این مقاله مفهوم overfitting و underfitting رو هم از حیث پیچیدگی و سادگی مدل و بایاس و واریانس آن مورد بررسی قرار دادیم.د رادامه منابع این مقاله برای یادگیری بهتر شما دوستان ذکر می شود.

منابع:

under-fitting و over-fitting(گذرگاه سئو)

faradars blog

بررسی دو مفهوم under-fitting و over-fitting در یادگیری ماشین(سپهر اکبرزاده)

overfitunderfitbiasvariance
شاید از این پست‌ها خوشتان بیاید