ML 101
M03 · L01
الوحدة التالتة

الـ decision trees

طب لو الـ model بتاعك قدر يفكّر زي البني آدم — يسأل سلسلة أسئلة آه/لأ لحد ما يوصل لإجابة؟ ده بالظبط اللي الـ decision trees (أشجار القرار) بتعمله.

01 / 13
ML 101
M03 · L01
التشريح

شكل الشجرة

الـ decision tree هي flowchart من قرارات ثنائية. كل internal node بتسأل عن feature. كل فرع إجابة. وكل leaf هي الـ prediction النهائي.

الـ root node
أول split
الـ leaf
الـ prediction
02 / 13
ML 101
M03 · L01
معيار الـ split

الـ Gini impurity

الـ Gini impurity (شائبة جيني) بتقيس احتمال إن عنصر متختار عشوائي يتصنّف غلط. الـ node النضيفة (class واحد) الـ Gini بتاعها = 0. والـ node المخلوطة خالص الـ Gini بتاعها = 0.5.

الـ Gini impurity
G = 1 - \sum_{k=1}^{K} p_k^2
03 / 13
ML 101
M03 · L01
معيار بديل

الـ entropy والـ information gain

الـ entropy (الانتروبيا) بتقيس اللخبطة في الـ node. وبنختار الـ split اللي بيكبّر الـ information gain (كسب المعلومات) — يعني بيقلّل الـ entropy بعد الـ split. والمعيارين بيطلّعوا أشجار شبه بعض.

الـ entropy
H = -\sum_{k=1}^{K} p_k \log_2 p_k
04 / 13
ML 101
M03 · L01
الـ algorithm

بناء الشجرة

  • 1. ابدأ من الـ root بكل بيانات التدريب
  • 2. دوّر على أحسن feature وthreshold للـ split
  • 3. قسّم البيانات لـ child nodes اتنين
  • 4. عيد بشكل recursive على كل فرع
  • 5. وقّف لما شرط التوقف يتحقق
05 / 13
ML 101
M03 · L01
المشكلة

الـ overfitting

الشجرة اللي كبرت للآخر بتحفظ بيانات التدريب، وبتجيب training error صفر بس generalization ضعيف. الشجرة اتعلّمت الـ noise، مش الـ pattern. وده الـ overfitting (الإفراط في التخصيص).

علامات الـ overfitting
شجرة عميقة أوي • leaves فيها عينة واحدة • training accuracy عالية وtest accuracy واطية
06 / 13
ML 101
M03 · L01
الـ regularization

تقليم الشجرة

الـ pruning (التقليم) بيشيل الفروع اللي بتزوّد قدرة تنبؤية قليلة. الـ pre-pruning بيوقّف النمو بدري. والـ post-pruning بيكبّر الشجرة كاملة وبعدين يشيل الفروع الضعيفة.

pre-pruning
توقّف بدري
post-pruning
شيل بعدين
07 / 13
ML 101
M03 · L01
الـ hyperparameters

زراير التحكم

  • max_depth — أقصى depth للشجرة
  • min_samples_split — أقل عينات عشان node تتقسم
  • min_samples_leaf — أقل عينات في الـ leaf
  • max_features — features بتتحسب في كل split
  • criterion — gini أو entropy
08 / 13
ML 101
M03 · L01
المزايا

ليه الأشجار بتلمع

  • سهل تفسيرها: تقدر تعرض وتشرح كل قرار
  • مش محتاجة scaling: الـ features مش محتاجة normalization
  • بيانات مختلطة: بتتعامل مع الرقمية والفئوية
  • غير خطية: بتمسك decision boundaries معقّدة
  • inference سريع: مجرد مشي في الشجرة
09 / 13
ML 101
M03 · L01
القيود

حدود الأشجار

  • مش مستقرة: تغييرات صغيرة بتغيّر الشجرة خالص
  • موازية للمحاور: الحدود المايلة محتاجة splits كتير
  • greedy: الـ splits المثلى محليًا مش مثلى عالميًا
  • overfitting: سهل تحفظ بيانات التدريب
10 / 13
ML 101
M03 · L01
توضيح بالرسم

مثال بسيط

بنصنّف نلعب تنس ولا لأ على حسب الجو. الـ root بيسأل عن شكل الجو (Outlook)، وبعدين الفروع بتسأل عن الرطوبة أو الهوا.

Outlook? Humidity? Wind? آه لأ آه لأ
11 / 13
ML 101
اختبار سريع

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

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

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

12 / 13
ML 101
الخلاصة
ملخص

اتعلّمت إيه النهارده

الـ decision trees بتقسم البيانات بأسئلة عن الـ features، والـ Gini impurity أو الـ entropy هما اللي بيوجّهوها. سهل تفسيرها ومرنة بس معرّضة للـ overfitting — وعلاجه الـ pruning. الجاي: الـ random forests بتخلّيها أقوى بكتير.

الدرس الجاي
13 / 13