باختصار
الـ Overfitting بيحصل لما النموذج يحفظ بيانات التدريب بدل ما يتعلّم الأنماط العامة منها. النتيجة إن أداءه بيكون ممتاز على البيانات اللي اتدرّب عليها، لكن لما ييجي يشتغل على بيانات جديدة ما شافهاش قبل كده، بيكون أداءه ضعيف جدًا.
بالتفصيل
تخيّل طالب بيذاكر لامتحان الرياضيات بإنه يحفظ إجابات الامتحانات القديمة حرف بحرف. لو جاله نفس السؤال بالظبط، هيجاوب صح. بس لو المدرّس غيّر الأرقام أو صياغة السؤال، الطالب ده مش هيعرف يحل لأنه ما فهمش القاعدة — هو بس حفظ. ده بالظبط اللي بيحصل في الـ Overfitting.
في Machine Learning، النموذج المفروض يتعلّم الأنماط العامة من بيانات التدريب عشان يقدر يعمم على بيانات جديدة. لكن لو النموذج معقّد أوي أو اتدرّب لفترة طويلة أوي، بيبدأ يحفظ كل تفصيلة في الداتا — حتى الـ Noise أو الأخطاء العشوائية.
في علامات كتير بتقولك إن النموذج بتاعك عنده Overfitting:
- الدقة على بيانات التدريب عالية جدًا (99% مثلًا) بس على بيانات الاختبار ضعيفة (70% مثلًا)
- الفجوة بين أداء التدريب وأداء الاختبار بتزيد مع الوقت
- النموذج بيتأثر بأي تغيير صغير في البيانات الجديدة
عشان تتجنّب الـ Overfitting، في تقنيات كتير زي الـ Regularization اللي بتحدّ من تعقيد النموذج، والـ Dropout اللي بتطفي خلايا عصبية عشوائيًا أثناء التدريب، والـ Cross-validation اللي بتختبر النموذج على أجزاء مختلفة من الداتا. كمان زيادة بيانات التدريب أو استخدام Data Augmentation بيساعد كتير.
مثال عملي
لو بتبني نموذج يتعرّف على الأمراض من صور أشعة، وعندك 100 صورة بس للتدريب، النموذج ممكن يحفظ ملامح الصور دي بدل ما يتعلّم علامات المرض الحقيقية. يعني ممكن يبدأ يتعرّف على نوع جهاز الأشعة أو إضاءة الصورة بدل ما يركّز على المرض نفسه. لما ييجي يشوف صور من مستشفى تاني بجهاز مختلف، هيفشل.
مصطلحات مرتبطة
- نقص التعلّم (Underfitting)
- التنظيم (Regularization)
- الإسقاط العشوائي (Dropout)
- التحقق المتقاطع (Cross-validation)
قرمصيص للأخبار أخبار الذكاء الاصطناعي بالعربي