دانشجو ارشد هوش مصنوعی توسعه دهنده (پایتون - جنگو) حوزه تحقیقاتی تخصصی: سیستم پیشنهاد دهنده شغل: توسعه دهنده تیم امنیت ایرانسل شغل دوم: مدرس پایتون
بررسی دو مفهوم under-fitting و over-fitting در یادگیری ماشین
در این پست می خواهیم به دو مفهوم بسیار مهم over-fit و under-fit بپردازیم.
بصورت خلاصه معانی این دو مفهوم به شکل زیر است:
مفهوم Over-fit: عملکرد یادگیری بسیار خوب بوده، اما عملکرد بر روی مجموعه داده ای های دیگر (dataset) خوب نیست.
مفهوم Under-fit: نه تنها یادگیری خوب نبوده است، بلکه عملکرد آن بر روی مجموعه داده ای های دیگر نیز ضعیف است.
تابع هدف یا target function
در یادگیری ماشین تابعی که بر روی مجموعه داده اعمال می شود را f که این تابع ورودی های X را می گیرد و خروجی Y را نمایش می دهد. بنابراین به مدل ریاضی به شکل زیر می نویسیم:
Y = f(X)
یکی از مهم ترین ملاحظاتی ک باید در یادگیری ماشین و تابع هدف در نظر گرفت این است که چگونه مدل یادگرفته شده به رکوردهای جدید تعمیم داده شود. تعمیم یا Generalization بسیار مهم است، زیرا اطلاعاتی که جمع آوری می شود تنها یک نمونه، ناقص و نویزی است.
مفهوم Generalization: تعمیم به این نکته اشاره دارد که مفاهیمی که توسط یک مدل یادگیری ماشین آموخته شده است، به نمونه های جدیدی که با آن مواجه می شود، به خوبی بپردازد.
در نهایت به خاطر وجود مفهوم تعمیم پذیری در یادگیری ماشین، دو اصطلاح دیگر با نام های Under-fitting و Over-fitting به وجود می آیند. این دو مفهوم هر دو نشان دهنده عملکرد ضعیف الگوریتم یاد گیرنده در یادگیری ماشین است.
مفهوم Over-fit یا بیش برازش
درواقع Over-fitting به این موضوع اشاره دارد که مدل ما بسیار خوب آموزش دیده است اما به خوبی تعمیم نیافته است. اجازه دهید با یک مثال واقعی پیش برویم.فرض کنید شما به یک کشور خارجی رفته اید و قصد دارید با تاکسی به جایی بروید و از بد روزگار راننده آن تاکسی شما را تلکه می کند و پول زیادی از شما می گیرد و در نهایت شما می گویید تمامی رانندگان تاکسی آن کشور دزد هستند. Over-generalization یا Over-fitting دقیقا همین چیزی است که در زندگی انسان ها در حال رخ دادن است و جالب است بدانید که ماشین نیز ممکن است در این دام بیفتد اگر به خوبی مراقب عملکردتان نباشید. بنابراین تعریف Over-fit را اینگونه می گوییم که بسیار خوب آموزش دیده است اما قدرت تعمیم پذیری یا Generalization ندارد.
این اتفاق زمانی برایتان ممکن است بیفتد که مجموعه داده ای شما خیلی کوچک یا خیلی بزرگ و پیچیده باشد و همچنین شامل داده های نویزی نیز باشد ( البته کوچک بودن نیز به تنهایی می تواند مشکل ساز باشد حتی بدون داده های نویزی ). به همین خاطر می گوییم ماشین نمی تواند با داده های جدید درست نتیجه گیری کند.
Over-fitting = Good Learning + Not Generalized
زمانی که مدل را ساده تر می کنیم تا ریسک بیش برازش کمتر شود را Regularization یا تنظیم می گوییم.
مفهوم Under-fit یا کم برازش
مفهوم کم برازش یا Under-fitting زمانی اتفاق میفتد که مدل بسیار ساده است و برای یادگیری مناسب نیست. چند انتخابی که برای حل این مشکل دارید این است که مدل یادگیرنده بهتری انتخاب کنید یا ویژگی های بهتری برای مدلتان که می خواهد بیاموزد انتخاب کنید یا میزان محدودیت هایی که برای تنظیم مجموعه داده ای قرار داده اید را کمتر کنید.
در این مقاله مفاهیم زیر را آموختیم:
- Over-fitting
- Under-fitting
- Generalization
- Regularization
- Target function
در این مقاله دریافتیم که به مفاهیم زیر باید بیشتر بپردازیم:
- Feature selection
- Regularization
- Noisy data
- Testing and Validating
- Poor-Quality Data
مطلبی دیگر از این انتشارات
کرونا و هوش مصنوعی: دوربین های تشخیص هویت جای پای خود را باز می کنند.
مطلبی دیگر از این انتشارات
مدیریت حافظه در جاوا اسکریپت
مطلبی دیگر از این انتشارات
5 کاربرد یادگیری ماشین در زندگی روزمره که از آن ها بی خبریم