LA 101
M11 · مشروع
مشروع ختامي
ثلاث لبِناتٍ في تعلُّم الآلة، حسابٌ واحد

شغّل اللبِنات الثلاث لتعلُّم الآلة ولاحظ أنّ كلًّا منها ليس إلا حساب مصفوفات — أولاً لائم خطًّا من الصفر واقرأ الميل الذي تستعيده المعادلات السَّوِيّة، ثم فكِّك مصفوفةً بـSVD واقرأ كم من الطاقة تحمله أعلى مُركّباتها القليلة، ثم مرِّر مُدخلًا عبر شبكةٍ عصبيةٍ صغيرة واقرأ مُخرَج التمرير الأمامي. توقَّع كل رقم قبل أن تُظهره الشاشة، ودوّن نتائجك في النهاية.

ثلاث عمليّات مصفوفيّة، محرّكٌ واحد
\begin{gathered} \hat{x} = (A^\top A)^{-1} A^\top b \quad\text{(regression)} \\[4pt] A = U\Sigma V^\top \quad\text{(factorize)} \\[4pt] \hat{y} = \sigma(W_2\,\sigma(W_1 x)) \quad\text{(forward pass)} \end{gathered}

يبدو تعلُّم الآلة ثلاثة مواضيع مختلفة — الانحدار، وخفض الأبعاد، والشبكات العصبية — لكنها في العمق لغةٌ واحدة. ملاءمة المربّعات الصغرى هي المعادلات السَّوِيّة x̂ = (AᵀA)⁻¹Aᵀb، جبر مصفوفاتٍ محض يستعيد الخطّ بالضبط حين تكون البيانات عليه. وتفكيك المصفوفة هو SVD أي A = UΣVᵀ، والاحتفاظ بأعلى القيم المفردة القليلة هو النموذج منخفض الرتبة وراء PCA وأنظمة التوصية. والتمرير الأمامي لشبكةٍ عصبيةٍ ليس إلا جداءات مصفوفةٍ في متّجهٍ عبر لا خطّية، ŷ = σ(W₂ σ(W₁x)). هذا المشروع هو تلك الوَحدة: ثلاث مراحل، محرّكٌ واحد.

1 / 7
LA 101
M11 · مشروع
جهّز المشروع
ثلاث مِنصّات، لغةٌ واحدة

افتح المِنصّات الثلاث في ألسنة تبويب. تُسمّي كل خطوة أدناه المِنصّة الوحيدة التي تقرأها والاختيار الوحيد الذي تتّخذه فيها؛ واترك كل مؤشّر آخر على قيمته الافتراضية لتطابق أرقامُك هذه الأرقام. مِنصّتان في هذا المقرر؛ ومُتدرِّج التمرير الأمامي مُستعارٌ من مقرر Machine Learning 101.

المراحل الثلاث
1 Least squares (LA 101) -> xs = 0 1 2 3 4, ys = 1 3 5 7 9 (points on y = 1 + 2x) 2 SVD compression (LA 101) -> rank-5 image, 64x64, seed 1, k = 3 3 Backprop (ML 101) -> 2-2-1 sigmoid, x = [1,0]

اقرأ ثلاثة أرقام عبر الألسنة الثلاثة: الميل المُلائَم في لوحة المربّعات الصغرى، وقراءة “الطاقة المحفوظة” في مستكشف SVD، ومُخرَج التمرير الأمامي في مُتدرِّج الانتشار الخلفي.

2 / 7
LA 101
M11 · مشروع
الخطوة 1 من 3
العرض · منصّة المربّعات الصغرى
الانحدار: الميل من الصفر

في منصّة المربّعات الصغرى اختَر مجموعة النقاط المستقيمة تمامًا xs = 0 1 2 3 4، ys = 1 3 5 7 9 — النقاط على y = 1 + 2x. تحلّ الملاءمة المعادلات السَّوِيّة AᵀA x̂ = Aᵀb بلا أيّ تفاضل. توقَّع الميل المُلائَم c₁، ثمّ اقرأه.

المتوقّع

الميل هو c₁ = 2 (والمقطع c₀ = 1 وباقي جذر متوسّط المربّعات 0): تستعيد المعادلات السَّوِيّة الخطّ بالضبط عندما تكون النقاط على استقامةٍ واحدة أصلًا. الانحدار الخطّي ليس إلا جبر مصفوفات — بلا حلقة تدريب. هذا خرج lineFit() الخاصّ بالعرض، لا رقمٌ مكتوب باليد.

3 / 7
LA 101
M11 · مشروع
الخطوة 2 من 3
العرض · مستكشف ضغط SVD
فكِّك: الطاقة في أعلى k

انتقل إلى مستكشف SVD، واختَر صورة “rank-5” (64×64، البذرة 1)، واضبط k = 3 واقرأ قراءة “الطاقة المحفوظة” — أي الكسر (Σi≤3 σi2) / (Σi σi2) من التفكيك A = UΣVᵀ. توقَّع هل تلتقط ثلاث مُركّبات معظمَ الطاقة.

المتوقّع

تلتقط أعلى 3 قيمٍ مفردة بالفعل 0.9939 من الطاقة — أكثر من 99%. وهذه هي فكرة تعلُّم الآلة منخفض الرتبة برُمّتها: بضعة عوامل من A = UΣVᵀ تحلّ محلّ المصفوفة كلّها، وهو ما يجعل PCA يضغط السمات وأنظمة التوصية تملأ المُدخلات الناقصة. هذا حساب svd() والطاقة المُفسَّرة الخاصّ بالعرض.

4 / 7
LA 101
M11 · مشروع
الخطوة 3 من 3
العرض · مُتدرِّج الانتشار الخلفي (ML 101)
التمرير الأمامي: المُخرَج

أخيرًا، افتح مُتدرِّج الانتشار الخلفي (وهو مِنصّة من مقرر Machine Learning 101) وابنِ شبكة 2-2-1 الصغيرة بـsigmoid: x = [1, 0]، W[1] = [[1,0],[0,0]]، W[2] = [[1,1]]. التمرير الأمامي جداءات مصفوفةٍ في متّجهٍ عبر σ: a[1] = [σ(1), σ(0)] = [0.7311, 0.5]، ثم z[2] = 1.2311. توقَّع ŷ = σ(1.2311)، ثم اقرأه.

المتوقّع

يقرأ المُخرَج ŷ = 0.7740 — رقمٌ واحد في (0, 1). هذا هو التمرير الأمامي كلّه: مصفوفة في متّجه، ثم لا خطّية، ثم مرّةً أخرى، فيخرج احتمالٌ واحد. إنّه حساب المصفوفات نفسه من المرحلتَين الأولى والثانية، مكدّسًا الآن في شبكة. هذا خرج forward() الخاصّ بالعرض، لا رقمٌ مكتوب باليد.

5 / 7
LA 101
M11 · مشروع
دورك الآن
شغّل الثلاثة جميعًا

افتح المِنصّات الثلاث وشغّل كل لبِنةٍ بنفسك: اسحب نقطةً بعيدًا عن الخطّ وراقب جذر متوسّط المربّعات يتسلّق، وارفع k وراقب إعادة بناء SVD تزداد وضوحًا، ومرِّر قيمةً عبر الشبكة وراقب ضربَ المصفوفة في كلّ طبقة. ثلاثة عروض، وحساب المصفوفات نفسه تحت كلٍّ منها.

6 / 7
LA 101
M11 · مشروع
المُخرَج
دوّن نتائجك

أنتجت كل لبِنةٍ رقمًا واحدًا هو في الحقيقة حساب مصفوفات. دوّنها — املأ كل فراغ من المِنصّات، ثم أضِف جملةً واحدة من التعليل. هذا هو المُخرَج؛ ولا يوجد رقمٌ تقرأه من الشاشة هنا.

دوّن هذا
Stage 1 Regression ...... xs/ys on y = 1 + 2x slope c1 ....... ______ RMS residual ... ______ Stage 2 Factorization ... rank-5 image, k = 3 energy kept .... ______ Stage 3 Forward pass .... 2-2-1 sigmoid, x = [1,0] output y-hat ... ______ Unity note ............... why is each stage just matrix arithmetic? ______ Design note .............. which matrix would you change first, and why? ______

ثم غيّر شيئًا واحدًا — اسحب نقطةً عن الخطّ، أو أنقِص k، أو عدِّل وزنًا — ولاحظ أيّ الأرقام الثلاثة تحرّك وبأي مقدار. إنّ استجابة كل مرحلةٍ لنوع التعديل نفسه، لأنّ كل مرحلةٍ هي حساب المصفوفات نفسه، هي كامل درس المشروع.

7 / 7