باختصار
الـ Regularization هو مجموعة تقنيات بتمنع النموذج إنه يحفظ بيانات التدريب بدل ما يتعلم منها فعلاً. الهدف إنه يعمّم أحسن على بيانات جديدة ما شافهاش قبل كده، وده بيحل مشكلة الـ Overfitting.
بالتفصيل
تخيل طالب بيذاكر لامتحان عن طريق إنه يحفظ كل الأسئلة والأجوبة اللي في الكتاب بالنص. لو جاله امتحان بنفس الأسئلة، هيجيب الدرجة النهائية. بس لو جاله سؤال مختلف شوية — حتى لو من نفس الموضوع — هيقف مش عارف يحل. الطالب ده عمل Overfitting. الـ Regularization هو إنك تعلّم الطالب يفهم المفاهيم مش يحفظ الإجابات.
في عالم الـ Machine Learning، النموذج ممكن يكون قوي جداً لدرجة إنه يحفظ كل تفاصيل بيانات التدريب — حتى الـ Noise (الضوضاء) والأخطاء فيها. وده بيخليه يشتغل ممتاز على بيانات التدريب بس يفشل على بيانات جديدة. تقنيات الـ Regularization بتحل المشكلة دي بطرق مختلفة:
- L1 Regularization (Lasso): بتضيف عقوبة على حجم الأوزان، وبتخلي بعض الأوزان تبقى صفر — يعني بتلغي خصائص مش مهمة
- L2 Regularization (Ridge): بتضيف عقوبة على مربع الأوزان، وبتخلي كل الأوزان صغيرة بس مش صفر
- Dropout: بتطفي خلايا عصبية عشوائية أثناء التدريب
- Early Stopping: بتوقف التدريب قبل ما النموذج يبدأ يحفظ البيانات
- Data Augmentation: بتزوّد بيانات التدريب بنسخ معدّلة عشان النموذج يشوف تنوع أكتر
الفكرة العامة إنك بتحط قيود على النموذج عشان تجبره يتعلم الأنماط العامة المهمة بدل التفاصيل الدقيقة. وده بيحسّن أداءه بشكل كبير لما ييجي يشتغل على بيانات حقيقية جديدة.
مثال عملي
لو بتدرّب نموذج يتوقع أسعار العقارات، ومن غير Regularization النموذج حفظ إن بيت معين في شارع معين سعره كذا. بس لما يجيله بيت في شارع تاني مش موجود في البيانات، يغلط غلط كبير. لو ضفت L2 Regularization، النموذج هيركّز على العوامل المهمة زي المساحة والموقع العام، وهيقدر يتوقع أسعار بيوت جديدة بدقة أكبر.
مصطلحات مرتبطة
- الإفراط في التعلم (Overfitting)
- الإسقاط العشوائي (Dropout)
- موازنة الانحياز والتباين (Bias-Variance Tradeoff)
- التحقق المتقاطع (Cross-validation)
قرمصيص للأخبار أخبار الذكاء الاصطناعي بالعربي