انتقل إلى المحتوى الرئيسي

جارٍ تحميل المختبر المرئي…

#linear-regressionالتعلّم المُشرَف

مطابقة خطّ: المربّعات الصغرى، البواقي، MSE، R² والنزول التدرّجي — اللبنة الأولى لكلّ نموذج تعلّم مُوجَّه.

ما ستُجرّبه

  1. أهلًا بك في #linear-regression. على يسار المشهد: 40 نقطة زرقاء (x, y) وخطّ وردي y = a·x + b بعيد كلّ البعد عنها (a = −1، b = 1). على اليمين: وعاء الخطأ. عند كلّ (a, b)، يمثّل ارتفاع السطح قيمة MSE، أي متوسّط مربّع الخطأ للخطّ الموافق؛ والكرة الصفراء هي خطّنا الحالي، معلّقة عاليًا على الجدار. مطابقة خطّ تعني إنزال هذه الكرة إلى قعر الوعاء. الشبكة العصبية تفعل الشيء نفسه تمامًا… في وعاء بملايين الأبعاد.
  2. أظهر الخطأ: اكتب /residuals. كلّ قطعة صفراء تربط نقطة بتوقّع الخطّ فوقها أو تحتها مباشرة: تلك هي البواقي y − ŷ. الـ MSE هو متوسّط مربّعات هذه الأطوال.
  3. اضبط الميل يدويًّا: /slope 1.5. يدور الخطّ، تتقلّص القطع الصفراء، وتهبط الكرة بحدّة على السطح: يهوي الـ MSE. أمّا الانحياز b فلم يتحرّك.
  4. ضبط رقمين باليد أمر ممكن. أمّا ضبط مليون فلا. دع الخوارزمية تعمل: /step 10. عند كلّ خطوة، تحسب خوارزمية النزول التدرّجي (gradient descent) ميل الـ MSE بالنسبة إلى a وb، ثمّ تتحرّك في الاتجاه المعاكس بمقدار lr × gradient (هنا lr = 0.1).
  5. بالنسبة لخطّ، لا حاجة أصلًا إلى النزول خطوةً خطوة: المربّعات الصغرى (least squares) لها صيغة مغلقة. a* = Σ(x − x̄)(y − ȳ) / Σ(x − x̄)² وb* = ȳ − a*·x̄. اكتب /solution: تقفز الكرة مباشرةً إلى قعر الوعاء.
  6. للصيغة نقطة ضعف. اكتب /dataset outliers: ثلاث نقاط حمراء بعيدة تنضمّ إلى السحابة فيتشوّه الوعاء. ثمّ نفّذ /solution لترى أين يستقرّ «أفضل» خطّ: هذه النقاط الثلاث تشدّه نحوها.
  7. فخّ أخير: /dataset curve، ثمّ /solution. النقاط تتبع قطعًا مكافئًا، وأفضل خطّ ممكن يبقى بعيدًا جانبًا: البواقي كلّها بنفس الإشارة عند الأطراف والإشارة الأخرى في الوسط. هذا هو ضعف التوافق (underfitting): النموذج أبسط من أن يصف البيانات. تحتاج إلى حدّ … أو إلى شبكة عصبية.
  8. دورك الآن: /dataset linear ثمّ /slope -2، /lr 0.3 و/step 20 (على حافّة عدم الاستقرار: تتذبذب الكرة من جدار إلى آخر)؛ ثمّ /slope -2 مجدّدًا، ثمّ /lr 0.5 و/step 5 (كلّ خطوة تضخّم الخطأ: تتباعد/noise 1.5 (يرتفع قعر الوعاء)؛ /points 200 (يستقرّ الخطّ الأمثل)؛ /seed 12 لسحبة أخرى؛ /reset للبدء من جديد. التالي: #logistic-regression (الخطّ نفسه، لكن للتصنيف) و#gradient-descent (الوعاء نفسه، في أشكال أشدّ التواءً).

أوامر القناة

  • /slope <a=-3..3>يضبط ميل الخطّ a (الانحياز لا يتحرّك).
  • /bias <b=-3..3>يضبط الانحياز b (نقطة تقاطع الخطّ مع محور y).
  • /residualsيُظهر أو يُخفي البواقي (قطع صفراء من النقطة إلى الخطّ).
  • /step <n=1..50>ينفّذ n خطوة من النزول التدرّجي على (a, b) بمعدّل التعلّم lr.
  • /lr <0.001..1>يضبط معدّل التعلّم المستخدم في النزول.
  • /solutionيقفز إلى الحلّ الدقيق للمربّعات الصغرى (قعر الوعاء).
  • /dataset <linear|curve|outliers>يغيّر مجموعة البيانات (الخطّ الحالي يبقى).
  • /noise <0..2>يضبط الانحراف المعياري للضوضاء الغاوسية المُضافة إلى y.
  • /points <n=10..200>يضبط عدد النقاط في السحابة.
  • /seed <1..99>يغيّر بذرة العشوائية (سحابة مختلفة، بنفس الإعدادات).
  • /resetيعود إلى السحابة الخطّية بـ 40 نقطة وإلى الخطّ a = −1، b = 1.

المسرد

الانحدار الخطّي (linear regression)
نموذج يتنبّأ بقيمة عددية بوصفها تركيبةً خطّيةً لمدخلاته: هنا ŷ = a·x + b. إنّها أبسط لبنة في التعلّم المُوجَّه، وشبكةٌ عصبية بلا دالة تنشيط ليست شيئًا آخر.
المربّعات الصغرى (least squares)
الطريقة التي تختار الخطّ الذي يقلّل مجموع مربّعات البواقي. بالنسبة إلى خطّ، للحلّ صيغة مغلقة: a* = Σ(x − x̄)(y − ȳ) / Σ(x − x̄)²، b* = ȳ − a*·x̄.
البواقي (residual)
الفجوة y − ŷ بين القيمة المرصودة والتوقّع، عند نقطة واحدة. في المشهد، هي القطعة الصفراء العمودية من النقطة إلى الخطّ.
MSE (متوسّط مربّع الخطأ)
متوسّط مربّعات البواقي: MSE = (1/n) Σ (yᵢ − ŷᵢ)². هذه هي الخسارة التي يقلّلها الانحدار؛ جذرها التربيعي (RMSE) بوحدة y.
R² (معامل التحديد)
نصيب تباين y الذي يفسّره النموذج: R² = 1 − SSE / SST. يساوي 1 عند التوافق التامّ، و0 حين لا يعطي الخطّ أفضل من المتوسّط ȳ، ويصبح سالبًا حين يعطي نتيجة أسوأ.
الميل والانحياز (a, b)
مُعاملا الخطّ. الميل a (أو المُعامل) يقول بكم يتغيّر ŷ حين ترتفع x بمقدار 1؛ والانحياز b (نقطة تقاطع مع محور y) هو القيمة المتوقّعة عند x = 0. في الشبكة العصبية، هذان هما وزن (weight) وانحياز (bias).
النزول التدرّجي (gradient descent)
خوارزمية تحسين تكرّر parameter ← parameter − lr × ∂loss/∂parameter. على وعاء الـ MSE، تتبع كلّ خطوة الميل المحلّي نحو القعر. لا غنى عنها حين لا توجد صيغة مغلقة.
معدّل التعلّم (learning rate)
المُعامل lr الذي يحدّد طول كلّ خطوة نزول. صغير جدًّا: تقارب بطيء؛ كبير جدًّا: تذبذبات ثمّ تباعد. بالنسبة إلى الـ MSE، لا يبقى النزول مستقرًّا إلّا إذا كان lr < 2 / λmax لمصفوفة Hessian.
القيمة الشاذّة (outlier)
نقطة بعيدة عن باقي البيانات (خطأ قياس، حالة استثنائية). لأنّ الـ MSE يربّع البواقي، تكفي حفنة من القيم الشاذّة لشدّ خطّ المربّعات الصغرى نحوها.
ضعف التوافق (underfitting)
حالة يكون فيها النموذج أبسط من بنية البيانات: خطّ على قطع مكافئ. يبقى الخطأ مرتفعًا حتّى في الحلّ الأمثل، وتُظهر البواقي نمطًا واضحًا (نفس الإشارة على مناطق كاملة). العلاج: نموذج أغنى، لا مُحسِّن أفضل.

قنوات أخرى في التعلّم المُشرَف

  • #live-trainingستّ خوارزميات تتعلّم أمام عينيك كفيديو: REC، عدّاد زمني، تعليقات توضيحية، مؤشّرات مباشرة. المشاهدة مجانية؛ تعديل النموذج بريميوم.
  • #linear-regressionمطابقة خطّ: المربّعات الصغرى، البواقي، MSE، R² والنزول التدرّجي — اللبنة الأولى لكلّ نموذج تعلّم مُوجَّه.
  • #logistic-regressionالتصنيف إلى فئتين: السيغمويد، حدّ القرار، العتبة والخسارة اللوغاريتمية — ولماذا لا يكفي الخطّ دائمًا.
  • #decision-treesشجرة تنحت المستوى إلى مستطيلات: جيني، الإنتروبيا، العمق، التقليم — وفرط التعلّم الذي تراه بأمّ عينيك.
  • #knnأقرب k جار: صنِّف بالشبه، اختر k، غيّر المسافة — وشاهد الحدّ ينعم أو يتشظّى.
  • #svm-marginsآلات متّجهات الدعم: أوسع هامش ممكن، المعامل C، ونواة RBF التي تُقوِّس الحدّ.
  • #classification-metricsالدقّة، الاستدعائيّة، F1، مصفوفة الالتباس، ROC وAUC: قراءة مصنِّف بأمانة، خاصّة عند اختلال توازن الفئات.