#linear-regression — التعلّم المُشرَف
مطابقة خطّ: المربّعات الصغرى، البواقي، MSE، R² والنزول التدرّجي — اللبنة الأولى لكلّ نموذج تعلّم مُوجَّه.
ما ستُجرّبه
- أهلًا بك في #linear-regression. على يسار المشهد: 40 نقطة زرقاء (x, y) وخطّ وردي
y = a·x + bبعيد كلّ البعد عنها (a = −1،b = 1). على اليمين: وعاء الخطأ. عند كلّ (a, b)، يمثّل ارتفاع السطح قيمة MSE، أي متوسّط مربّع الخطأ للخطّ الموافق؛ والكرة الصفراء هي خطّنا الحالي، معلّقة ع اليًا على الجدار. مطابقة خطّ تعني إنزال هذه الكرة إلى قعر الوعاء. الشبكة العصبية تفعل الشيء نفسه تمامًا… في وعاء بملايين الأبعاد. - أظهر الخطأ: اكتب
/residuals. كلّ قطعة صفراء تربط نقطة بتوقّع الخطّ فوقها أو تحتها مباشرة: تلك هي البواقيy − ŷ. الـ MSE هو متوسّط مربّعات هذه الأطوال. - اضبط الميل يدويًّا:
/slope 1.5. يدور الخطّ، تتقلّص القطع الصفراء، وتهبط الكرة بحدّة على السطح: يهوي الـ MSE. أمّا الانحيازbفلم يتحرّك. - ضبط رقمين باليد أمر ممكن. أمّا ضبط مليون فلا. دع الخوارزمية تعمل:
/step 10. عند كلّ خطوة، تحسب خوارزمية النزول التدرّجي (gradient descent) ميل الـ MSE بالنسبة إلىaوb، ثمّ تتحرّك في الاتجاه المعاكس بمقدارlr × gradient(هناlr = 0.1). - بالنسبة لخطّ، لا حاجة أصلًا إلى النزول خطوةً خطوة: المربّعات الصغرى (least squares) لها صيغة مغلقة.
a* = Σ(x − x̄)(y − ȳ) / Σ(x − x̄)²وb* = ȳ − a*·x̄. اكتب/solution: تقفز الكرة مباشرةً إلى قعر الوعاء. - للصيغة نقطة ضعف. اكتب
/dataset outliers: ثلاث نقاط حمراء بعيدة تنضمّ إلى السحابة فيتشوّه الوعاء. ثمّ نفّذ/solutionلترى أين يستقرّ «أفضل» خطّ: هذه النقاط الثلاث تشدّه نحوها.