Overfitting
Overfitting
ما هو الإفراط في الملائمة (Overfitting)؟
دي حالة بيحصل فيها إن الـ model يتعلم على Training dataبشكل مفرط، يعني بيشمل الpatterns وال Noise اللي مش مهمة. ده بيؤدي لأداء ممتاز على training data، لكن بيكون ضعيف لما بنطبق ال model على بيانات جديدة. ال model الي بتعاني من overfitting مش قادر يعمم على البيانات اللي مش شايفها قبل كده، لأنه بيبقى حساس جدًا للتفاصيل العشوائية اللي موجودة في training data.
أمثلة على ال overfitting :
مثال في ال machine learning : تصنيف الزهور
model تم تدريبه لتصنيف الزهور . ممكن يتعلم تفاصيل غير مهمة زي مثل (الضوضاء) الموجودة في training data، وده بيؤدي إلى دقة عالية على البيانات المستخدمة للتدريب وأداء ضعيف على test data
التحيز والتباين (Bias-Variance Tradeoff)
ما هو التحيز (Bias)؟
التحيز يشير إلى تبسيط مفرط للmodel ، وده بيؤدي إلى تمثيل غير دقيق (Poor Fit) للبيانات الحقيقية.
النتيجة: بيكون في خطأ مرتفع سواء في ال training data او ال Test data.
ما هو التباين (Variance)؟
التباين يعني أن ال model حساس جدًا لتقلبات بيانات التدريب، وده بيؤدي إلى ضعف في تعميم ال model لما يتم اختباره على بيانات جديدة.
النتيجة: ال model بيحقق أداء جيد جدًا على ال training data، لكن بيكون ضعيف جدًا على ال test data .

ليه في tradeoff بين التحيز والتباين؟
لأن ال model البسيط جدًا (High Bias) يعاني من Underfitting، بينما الmodel المعقد جدًا (High Variance) يعاني من Overfitting تحقيق التوازن المناسب بين الاثنين هو المفتاح للحصول على model ذو أداء جيد على training data و Test data .

أسباب ال overfitting :
- تعقيد ال model :
- ال model زي Deep Neural Network أو Random Forest قد تتعلم الأنماط غير المهمة.
- قلة ال Training Data :
- البيانات المحدودة بتخلي ال model يتعلم تفاصيل عشوائية بدلاً من الأنماط العامة.
- مدة التدريب الطويلة:
- فترات تدريب طويلة بتخلي ال model يتعلم على ال noise .
- وجود noise في البيانات:
- ال outliers والتفاصيل الغير مهمة بتسبب مشاكل.
- ضعف Regularization :
- عدم استخدام تقنيات زي L1/L2 أو Dropout بيزود من التعقيد.
- ⦁ اختيار Features غير مناسب:
- features كتير أو غير مهمة ممكن تخلي ال model يعاني من ال overfitting.
- ⦁ ضعف في ضبط Hyperparameters :
- اختيار غير مناسب لل Hyperparameters زي عدد ال layers .
ازاي تعالج ال overfitting :
- ال Early Stopping :
- إيقاف ال model قبل أن يبدأ ال model بتعلم التشويش.
- زيادة ال training data :
- إضافة بيانات متنوعة بيحسن قدرة ال model على التعميم.
- زيادة البيانات (Data Augmentation) :
- تحسين مجموعة البيانات التدريبية بإضافة تنوع.
- ال Feature Selection:
- ⦁ إزالة ال features غير المهمة أو المتكررة.
- ال Regularization :
- زي L1/L2، Dropout لتقليل حساسية ال model للتفاصيل غير المهمة.
- أساليب التجميع (Ensemble Methods) :
- استخدام techniquesزي Bagging وBoosting لتقليل التباين وتحسين الأداء.
- ال Dropout:
- إيقاف عشوائي لل neurons في ال Neural Network لتحسين التعميم.
- ضبط المعلمات (Hyperparameter Tuning) :
- اختيار القيم المثلى لل Hyperparameters باستخدام. heuristic or meta-heuristic algorithms
كيفية اكتشاف ال overfitting :
⦁ مقارنة أداء ال model على training and test data.
أداء جيد على training data وضعيف على test data يشير إلى overfitting
⦁ التحقق المتبادل (Cross-Validation):
استخدام k-folds لتقييم أداء ال model العام وتقليل التحيز المرتبط بمجموعة بيانات معينة.
