ML 101
M13 · L01
الوحدة 13

التطوّر كاستراتيجية بحث

كل طريقة لحد دلوقتي سألت الـ objective function أنهي اتجاه بينزّل. الطريقة دي عمرها ما بتسأل. بتحتفظ بـ population من الـ candidates وبتحسّنها بالمقارنة بس. دي الـ genetic algorithm (الخوارزمية الجينية).

01 / 13
ML 101
M13 · L01
الفجوة

لما ميبقاش فيه gradient

الـ gradient descent والـ backpropagation محتاجين objective ناعم. وأربع حالات منتشرة مبتدّيهوش.

  • اختيارات منفصلة — تحط الـ feature رقم 7 ولا لأ
  • بنية combinatorial — ترتيب زيارة 20 موقع
  • مبنية على المحاكاة — درجة بتتنفّذ مش بتتحل
  • black box — ملف تنفيذي من مورّد، أو hardware
02 / 13
ML 101
M13 · L01
مثال محلول

المفروض يشوف أنهي features؟

تمن features مرشّحة يعني 256 subset — جرّبهم كلهم. أربعين مرشّح يعني 2⁴⁰ subset. وبـ run تدريب في الثانية، دي حوالي أربعة وتلاتين ألف سنة.

8 features
256
40 feature
1.1 × 10¹²
03 / 13
ML 101
M13 · L01
المسألة

قيّم، وبعدين قارن

مفيش حاجة هنا بتفترض إن الفضاء متصل، ولا إن الـ objective ليه مشتقة، ولا حتى إنه مكتوب صراحةً. والعملية الوحيدة المفروضة هي إنك تقيّمه عند نقطة إنت بتختارها.

الـ black-box optimization
x^{\star} = \arg\max_{x \in \mathcal{S}} f(x)
04 / 13
ML 101
M13 · L01
التحوّل

نقطة واحدة، ولا كتير

الـ gradient descent بيحرّك نقطة واحدة باستخدام ميل. أما الـ population فعمرها ما بتسأل أنهي اتجاه أحسن — لكن أنهي candidate أحسن.

الـ population بتشتري إيه
مناطق كتير بيتدوّر فيها في نفس الوقت، وحتت من parentين بتتدمج في ابن واحد
05 / 13
ML 101
M13 · L01
الفاتورة

الـ population مش قوة ببلاش

خطوة الـ gradient بتكلّف forward pass وbackward pass. أما الجيل فبيكلّف تقييم كامل لكل فرد — ولو التقييم معناه تدريب model، فدي run تدريب لكل فرد.

الـ population
50
100 جيل
5,000 تقييم
06 / 13
ML 101
M13 · L01
هولاند، 1975

أربع مكوّنات

جون هولاند حط المخطط في Adaptation in Natural and Artificial Systems (1975)؛ وكتاب جولدبرج سنة 1989 نقله للهندسة.

  • الـ representation — الـ candidate الواحد بيتكتب إزاي
  • الـ fitness — الرقم الواحد اللي بيقيّمه
  • الـ selection — مين يبقى parent
  • الـ variation — الـ crossover (التهجين) والـ mutation
07 / 13
ML 101
M13 · L01
جيل واحد

ضغطين متعاكسين

الـ selection هو الخطوة الوحيدة اللي بتقرا الـ fitness function، وهو بيشيل التنوّع. والـ variation بيعمله. وسلوك الطريقة كلها هو التوازن بينهم.

selection وبعدين variation
P_{t+1} = \mathrm{var}\big(\mathrm{sel}(P_t, f)\big)
08 / 13
ML 101
M13 · L01
الـ selection pressure

المقياس، مش الترتيب بس

درجتين 10 و9 بيدّوا الكسبان 0.53 من مقاعد الأبوّة. زوّد 990 على كل واحد — ومين الأحسن مبيتغيّرش — فنصيبه بيقع لـ 0.5003.

الـ fitness-proportionate selection
p_i = \frac{f(x_i)}{\sum_{j=1}^{N} f(x_j)}
09 / 13
ML 101
M13 · L01
الفشل الكلاسيكي

ضغط أكتر من اللازم

  • أحسن فرد بياخد أغلب مقاعد الأبوّة
  • نسخه بتملا الـ population في كام جيل
  • crossover بين parentين متطابقين بيرجّع نفس الـ parent
  • ومبيفضلش غير الـ mutation: random walk بطيء
  • وبيبان إنه convergence مش تعلّق
10 / 13
ML 101
M13 · L01
العيلة

الـ genetic algorithm مكانها فين

  • الـ random search — من غير memory، بس baseline حقيقي
  • الـ grid search — منهجي، وبيتضاعف مع كل بُعد
  • الـ hill climbing — نقطة واحدة، وأول local optimum بيكسب
  • الـ simulated annealing — نقطة واحدة بتقبل الأوحش ساعات
  • الـ genetic algorithm — population، زائد الـ recombination
11 / 13
ML 101
اختبار سريع

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

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

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

12 / 13
ML 101
الخلاصة
مراجعة

استراتيجية، مش model

الـ genetic algorithm مبتطلّعش model. هي بتختار — الـ features والـ hyperparameters والـ architecture — والـ fitness function هي اللي بتدرّب. ولو الـ objective قابل للتفاضل فاستخدم المشتقة.

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