ML 101
M03 · L03
التعلّم من الغلطات

الـ gradient boosting

الـ random forests بتبني أشجار بالتوازي، كل واحدة مستقلة. والـ gradient boosting (التعزيز التدريجي) بيبنيها ورا بعض — كل شجرة جديدة بتصلّح الغلطات اللي سابتها الأشجار اللي قبلها. استراتيجية دقيقة وقوية.

01 / 14
ML 101
M03 · L03
الفكرة

تصليح الـ residuals

ابدأ بـ prediction بسيط. احسب الـ residuals (البواقي) — اللي غلطت فيه. درّب الشجرة الجاية تتنبأ بالـ residuals دي. زوّدها على الـ model بتاعك. وعيد لحد ما توصل لنتيجة كويسة.

02 / 14
ML 101
M03 · L03
البناء خطوة بخطوة

ensemble ورا بعض

الـ model النهائي هو مجموع كل الأشجار، كل واحدة متقيّدة بـ learning rate η.

fit على الـ residuals
←
T₁: الـ prediction الأساسي
fit على الـ residuals
←
T₂: بيصلّح غلطات T₁
fit على الـ residuals
←
T₃: بيصلّح غلطات T₁+T₂
⋮
03 / 14
ML 101
M03 · L03
الرياضيات

الـ gradient descent في فضاء الـ functions

كل شجرة بتتعمل fit على الـ negative gradient بتاع الـ loss function بالنسبة للـ predictions الحالية. ده الـ gradient descent (النزول التدرجي)؛ ومع الـ MSE loss، ده بيساوي الـ residuals بالظبط. ومع الـ losses التانية بيتعمّم بشكل أنيق.

قاعدة التحديث
F_m(x)=F_{m-1}(x)+\eta\,h_m(x)
04 / 14
ML 101
M03 · L03
الـ shrinkage

الـ learning rate

كل شجرة بتتزوّد بـ weight صغير η (عادةً 0.01–0.3). والـ shrinkage (الانكماش) ده بيمنع أي شجرة إنها تسيطر. η صغير = أشجار أكتر، بس تعميم أحسن. وη كبير = أشجار أقل، وخطر overfitting.

0.1
η المعتاد
100+
أشجار مطلوبة
05 / 14
ML 101
M03 · L03
الـ weak learners

أشجار ضحلة

الـ boosting بيستخدم أشجار ضحلة — عادةً عمق 3–6. دول "weak learners (متعلمين ضعفاء)" أحسن شوية بس من التخمين العشوائي. وweak learners كتير متجمّعين ورا بعض بيعملوا model قوي جدًا.

ليه ضحلة؟
الأشجار العميقة هتعمل overfitting على الـ residuals. والأشجار الضحلة بتمسك أهم signal في كل خطوة، وبتسيب مساحة للأشجار الجاية تساعد.
06 / 14
ML 101
M03 · L03
النسخة الحديثة

XGBoost / LightGBM

XGBoost (2014) زوّد regularization ومعالجة بالتوازي وبناء أشجار أذكى على الـ boosting التقليدي. وLightGBM (2017) زوّد نمو الأشجار leaf-wise والـ splits المبنية على histogram عشان تسريع ×10–100. ومع بعض بيسيطروا على مسابقات Kaggle.

07 / 14
ML 101
M03 · L03
الـ objective بتاع XGBoost

objective فيها regularization

XGBoost بيقلّل objective function فيها regularization، فيها عقوبة على التعقيد لكل شجرة، فبتمنع الـ overfitting بطبيعتها.

الـ objective بتاع XGBoost
\mathcal{L}=\sum_i l(y_i,\hat{y}_i)+\sum_k\Omega(f_k)
08 / 14
ML 101
M03 · L03
أهم الـ parameters

ظبط الـ gradient boosting

  • n_estimators — عدد الأشجار (استخدم الـ early stopping)
  • learning_rate (η) — حجم الخطوة لكل شجرة (0.01–0.3)
  • max_depth — عمق الشجرة (3–6 لأغلب المسائل)
  • subsample — نسبة العينات لكل شجرة (0.6–0.9)
  • colsample_bytree — نسبة الـ features لكل شجرة
  • reg_lambda / reg_alpha — regularization L2 / L1
09 / 14
ML 101
M03 · L03
تجنّب الـ overfitting

الـ early stopping

راقب الـ validation loss في كل جولة boosting. وقّف زيادة الأشجار أول ما الـ validation loss تبدأ تطلع. مش محتاج grid search على n_estimators — خليه عالي بس وسيب الـ early stopping (الإيقاف المبكر) يلاقي العدد الصح لوحده.

الوصفة المعتادة
n_estimators=5000، learning_rate=0.05، early_stopping_rounds=50. تدريب على 80%، validation على 20%. وأحسن جولة عادةً 200–800 شجرة.
10 / 14
ML 101
M03 · L03
مقارنة بالـ random forests

الـ boosting قصاد الـ bagging

  • الـ random forests بالتوازي، والـ boosting ورا بعض
  • الغابات بتقلّل الـ variance، والـ boosting بيقلّل الـ bias
  • الغابات أصعب تعمل overfitting، والـ boosting محتاج regularization
  • الـ boosting عادةً بيكسب في الدقة مع الظبط الصح
  • الغابات أسرع في التدريب وأسهل تتوازى
  • الـ boosting بيسيطر على مسابقات البيانات الجدولية
11 / 14
ML 101
اختبار سريع

شوف إيه اللي ثبت

أربع أسئلة من الدرس ده. جاوب عشان تشوف السبب — الشرح بيظهر سواء جاوبت صح أو غلط. ونتيجتك مش بتتحفظ.

السؤال 1 من 0
النتيجة 0/0

12 / 14
ML 101
أهم النقط
ملخص

أهم النقط

  • الـ gradient boosting بيدرّب الأشجار ورا بعض، كل واحدة بتتعمل fit على residuals اللي قبلها
  • كل شجرة متقيّدة بـ learning rate η — η أصغر = تعميم أحسن
  • بيستخدم أشجار ضحلة "weak learner" بعمق 3–6
  • XGBoost / LightGBM بيزوّدوا regularization وسرعة
  • استخدم الـ early stopping عشان تلاقي n_estimators الأمثل لوحده
  • غالبًا أدق طريقة على البيانات الجدولية
13 / 14
ML 101
الوحدة الجاية
الجاي

الوحدة 4: الـ neural networks

الأشجار بتتعامل مع البيانات الجدولية بشطارة. بس للصور والنصوص والصوت — الدنيا بتروح لـ الـ neural networks (الشبكات العصبية): layers من nodes مترابطة بتتعلّم representations متدرّجة على طول من البيانات الخام.

14 / 14