سلام دوستان وقتتون بخیر........
امروز می خوام یه موضوع از یادگیری ماشین رو باهاتون بحث و ارسال نظر کنم...!
در یادگیری ماشین شاید با کلمات بالا مواجه شده باشید.... از اسمش نترسیم....:) چیز سخت نیست..:)
با یک مثال خیلی آسون که همه اونو درک کردیم .
هر کسی درس خونده و امتحان داده تو این شرایط بوده و قشنگ متوجه میشه که مفهوم این عبارت که بالا گفتم هر کدوم چی هست و یعنی چی....?
خوب بریم سراغ underfit: یعنی بیش برازش
خوب خیلی ها امتحان پایان ترم دادند .فرض کنید میخوایم بریم سر جلسه...:( ?. استاد از یه هفته قبل از امتحان به ما سه تا نمونه سوال داده و گفته اینا نمونه سوال های امتحانی تونه بخونید که پایان ترم خوبی داشته باشیم:)... من که تنبلم و دوست ندارم زیاد بخونم، میگم نه این سوال نمیاد فکر نکنم استاد از این سوالا بیاره و یک نگاه سرکی میندازم و فقط رو خونی می کنم .فقط در حد اینکه به چشمم آشنا باشه یادشون میگیرم و بعد میرم سر جلسه... جالبه ،این همون برگه استاد است . سوالا اول رو جواب میدم سال چهارمی مفهومی بود و قشنگ نخوندم، یادم نیست هر چه فکر میکنم .از آخر نمره هامو که حساب میکنم نهایتا ۱۲ رو به زور میگیرم ....:(((? چرا ؟؟؟؟؟ ?....
چون ما قشنگ سوالا رو یاد نگرفتیم، مفهومی نخوندیم که یاد بگیرم در حالی که دقیقا همون سوالی بود که استاد گفته ...بود.... این یعنی چی ؟؟؟؟ ینی استاد مثالی که برای آموزش ما داده بود گرفته بود در صورتی که اگه سوال جدید می آورد معلوم نبود چه اتفاقی میافتاد....اگر بخواهیم علمی تر صحبت کنیم در بحث یادگیری ماشین وقتی ما میخواهیم شبکه را آموزش بدهیم باید دیتای مناسب به شبکه ها بدهیم.... خوب حالا وقتی شبکه ما طوری تنظیم شده باشه که نتونه به علت های مختلف دیتا آموزش ما رو یاد بگیره......درنتیجه وقتی ما از دیتای آموزش دقت بگیریم مشاهده میکنیم که خطای زیادی دارد ..یعنی چی? یعنی مثل همون نمونه سوال هایی که استاد داده بود را نمیتوانم جواب بدهم وقتی از او میپرسم یعنی شبکه ما با مسئله کم برازش مواجه شده یعنی باید مدل مو عوض کنیم یا ویژگی بدی انتخاب کردیم و پارامتر های غیر مناسبی انتخاب کردید یا ... که باید سعی کنیم شبکه مان را بهبود بخشید تا بتونه دقت را در دیتای آموزش به صد برسونیم....
بایاس:
فرض کنید در مثال بالا ما می آییم قبل از امتحان پیش بینی میکنیم که نمره ۲۰ میشه ولی وقتی جواب امتحان میاد میشه مثلاً ۱۴ .....:( اختلافی چیزی که پیش بینی کردیم و چیزی که تو واقعیت اتفاق افتاده 6 که بایاس مسئله حساب می شود .....
در یادگیری ماشین یه پیش بینی داریم وقتی دیتا رو میدیم به مدل و یه جوابی که خروجی مدل است اختلاف این دو میشه بایاس ما.......
توجه: در مسئله کم برازش با بایاس مواجه هستیم ....
خوب حالا بریم سراغ overfit:
وقتی که ما با مسئله بیش برازش مواجه هستیم یعنی اینکه مدل ما خیلی پیچیده تر از اونی هست که بخواهیم یه مثال ساده رو حل کنه به عنوان مثال بخواهیم با همون مثال امتحان سر جلسه توضیح بدیم ::مثلاً فرض کنید استاد نمونه سوال بهمون میده..... یه دانشجو که درسش خوبه میاد چند بار برگه ها رو میخونه و حفظ میکنه ولی دیگه سراغ مثال های مشابه ،کتاو جزوه نمیره. از کجا استاد سر جلسه میاد سوال های جدید میده برا امتحان ...:( خوب اینجا دانشجو نمیتونه حل کنه .... چرا؟؟؟؟ چون فقط سوال های استاد رو حفظ کرده ولی یاد نگرفته.....در صورتی که اگه استاد از همون سوال که گفته بود آورده بود کامل همه رو می نوشت....:) خوب تو دنیای علم یادگیری ماشین وقتی که ما مدل مون یه دیتای آموزش میدیم این مدل خیلی بیاد روی این دیتای آموزش ببینه ،دیگه دیتا را یاد نمیگیرم فقط حفظ میکنه بعد وقتی میای دیتای تست می رو به مدل میدیم..خطا میره بالا یعنی خطای دیتا آموزش صفر میشه یا نزدیک به صفر ولی خطای تست خیلی بیشتر میشه ......
در اینجا یعنی با بیش برازش مواجه هستیم.
واریانس :
واریانس مدل متغیر بودن پیش بینی مدل برای یک داده است که به ما درباره پراکندگی داده های ما صحبت میکند.در مثال بالا وقتی که از همون سوال که خوندیم تو امتحان میاد نمره کامل بگیریم و لی اگر سوال جدید بیاد شاید حداکثر نصف نمره رو کسب کنیم یعنی مدل با واریانس زیاد دقت زیادی به داده های آموزشی داشته و روی دیتایی که از قبل آموزش ندیده، تعمیم پذیر نمیباشد و خطای بالایی دارد.یعنی : این مدل ها به خوبی بر روی داده های آموزشی عمل می کنند اما دارای خطای زیاد در داده های تست است.
توجه : در بیش برازش با پدیده واریانس مواجه هستیم .
..........................................
خسته نباشد
اسماعیل بزرگوار دانشجوی هوش مصنوعی