ML 101
M13 · L04
البحث التطوّري

التطوّر بيكسب إمتى

وبيخسر إمتى. فين الـ genetic algorithm تستاهل تكلفتها، وفين فيه طريقة أرخص أصلًا، وحجة التكلفة اللي بتحسم أغلب ده.

01 / 15
ML 101
M13 · L04
السؤال الصح

العمومية مش ببلاش

الـ genetic algorithm مبتطلبش من المسألة تقريبًا أي حاجة: لا مشتقة، ولا convexity، ولا حتى أرقام. وعشان كده هي بطيئة — فإنت بتدفع تمن كل افتراض بترفض تفترضه.

أعد الصياغة
مش «هل الـ genetic algorithm كويسة؟» لكن دايمًا «هل في مسألتي بنية طريقة أرخص تقدر تستغلها؟»
02 / 15
ML 101
M13 · L04
القاعدة الأولى

استخدم الـ gradient

backward pass واحد بيرجّع المشتقة الدقيقة لـ كل parameter. أما P تقييم فبيرجّعوا P رقم scalar، ولازم تخمّن منهم اتجاه في d بُعد.

اللي الـ backpropagation بيرجّعه
\nabla_{\boldsymbol{\theta}} L = \left[\frac{\partial L}{\partial \theta_1}, \ldots, \frac{\partial L}{\partial \theta_d}\right]
03 / 15
ML 101
M13 · L04
حساب التكلفة

الضرب اللي بتلتزم بيه

حجم الـ population في عدد الأجيال تقييم، قصاد forward pass وbackward pass واحد لكل خطوة gradient. فاستخدم التطوّر لما المسألة تفرضه، مش لما إنت تختاره.

ميزانية التقييمات
N_{\text{eval}} = P \cdot G
04 / 15
ML 101
M13 · L04
الـ hyperparameters

black box حقيقي

  • مش قابلة للتفاضل بأي شكل مفيد
  • اختيارات مستمرة ومنفصلة وشرطية متلخبطة مع بعض
  • كل تقييم تدريب كامل
  • فالتطوّر مقبول هنا — وده مش نفس القول إنه الأحسن
05 / 15
ML 101
M13 · L04
مقارنة أمينة

أربع طرق للبحث

  • الـ grid — بيعدّ grid متثبّتة قبل أول run. متوازي تمامًا
  • الـ random — بيسحب من المديات وبيتجاهل كل نتيجة. متوازي تمامًا
  • الـ Bayesian — بيعمل fit لـ surrogate model على كل النتايج وبعدين بيحسّن acquisition function. تسلسلي بالتصميم
  • الـ genetic — بيعيد تركيب أحسن أعضاء الـ population. متوازي جوه الجيل
06 / 15
ML 101
M13 · L04
آلية، مش كسبان

أنهي بنية بتناسب

  • الـ Bayesian search بيطلّع أكتر من كل تقييم — أما الـ rank selection فبيرمي المقادير
  • الـ genetic algorithm بتشغّل الـ workers المتوازيين من غير نظرية زيادة
  • الفضاءات المش مريحة — طول متغيّر، شرطية، permutations — بترجّح التطوّر
  • الـ baseline الأول: random search على مديات معقولة (Bergstra وBengio، 2012)
07 / 15
ML 101
M13 · L04
بحث في الـ subsets

الـ feature selection

bit لكل feature، وstring لكل subset. والـ fitness نتيجة cross-validation مع penalty على الـ features اللي بتفضل — wrapper method، فبتلاقي features مبتنفعش غير مع بعض.

الفضاء والـ fitness
|\mathcal{S}| = 2^{d}, \quad F(S) = \mathrm{CV}(S) - \alpha \frac{|S|}{d}
08 / 15
ML 101
M13 · L04
الفخ

الـ overfitting على نتيجة الـ validation

إنت بتختار الحد الأقصى لآلاف النتايج اللي فيها noise، فالكسبان بيبان أحسن من حقيقته. احجز test set البحث ميلمسهاش.

  • استبعد الـ L1 regularization الأول — sparsity بتمن fit واحد (الدرس 2.3)
  • importance الـ trees والـ permutation importance تقريبًا ببلاش (الدرس 3.2)
  • الـ greedy forward أو backward selection بيكلّف تقييمات أقل بكتير
09 / 15
ML 101
M13 · L04
الـ neuroevolution

weights ولا architecture

  • الـ weights — اختيار غلط لما يبقى فيه loss function قابلة للتفاضل
  • معقول لما النتيجة تيجي من simulation أو لعبة أو reward متأخرة
  • الـ architecture — العمق والعرض والتوصيل اختيارات منفصلة. مفيش gradient، فالبحث أمين
  • الوحدة 14 بتهاجم نفس النوع بالـ reinforcement learning
10 / 15
ML 101
M13 · L04
Stanley وMiikkulainen (2002)

نظرة على NEAT

  • ابدأ بأقل حاجة وبعدين عقّد — زوّد الـ nodes والـ connections على مدار الـ run
  • الـ historical markings — عشان الـ crossover يصطف على genes ليها جد مشترك
  • الـ speciation — بيحمي بنية جديدة مدة كفاية عشان الـ weights بتاعتها تتحسّن
11 / 15
ML 101
M13 · L04
Koza (1992)

الـ genetic programming

الفرد برنامج، محفوظ كـ expression tree. والـ crossover بيبدّل الـ subtrees، فالابن بيفضل برنامج صالح. ولما تطبّق ده على البيانات بيبقى symbolic regression.

الـ output، والخطر
بتاخد معادلة تنفع تتقري بدل weights. والأشجار بتكبر من غير تحسّن في الـ fitness — الـ bloat — فحط تكلفة على الحجم.
12 / 15
ML 101
M13 · L04
متلجأش ليها

بتخسر إمتى

  • الـ objective قابل للتفاضل — استخدم الـ gradient
  • convex أو linear أو integer program — الـ solver بيرجّع حد، والـ genetic مبترجّعش حاجة
  • بنية combinatorial معروفة، أو فضاء صغير كفاية للتعداد
  • fitness فيها noise لدرجة إن الـ selection ميقدرش يفرّق بين الـ candidates
  • fitness function مش واثق فيها — ودي الدرس 13.3 مش الـ algorithm
13 / 15
ML 101
اختبار سريع

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

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

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

14 / 15
ML 101
أهم النقط
الوحدة 13 خلصت

أهم النقط

  • العمومية بتكلّف تقييمات — وقابلية التفاضل معناها تستخدم الـ gradient
  • الـ hyperparameters: قارن بالـ grid والـ random والـ Bayesian قبل ما تلتزم
  • الـ feature selection بتشتغل كبحث في الـ subsets، وبتعمل overfitting على الـ validation من غير حماية
  • تطوير الـ architecture أوجه من تطوير الـ weights
  • الـ genetic programming بتشتري معادلة تنفع تتقري، بتمن الـ bloat
  • الجاي: الوحدة 14 بتنتقل للتعلّم من الـ reward
15 / 15