☰ Year plan · Communication Technology (Arabic)

نموذج الخط المستقيم

Week 11 · Unit 2, Lesson 1 Prediction with an Artificial Intelligence Model (2) · 3 lessons
3

النموذج دالة في بايثون

ICT Prep 3 Term 1, Unit 2, Lesson 1: pp. 68–75
الهدفأكتب النموذج دالةً في بايثون وأشرح أن شخصًا كتب ⁦w⁩ و⁦b⁩ هنا بينما يجدهما نموذج تعلم الآلة بنفسه.
كلمات جديدة
دالة النموذج · دالة تأخذ ⁦x⁩ وترجع التنبؤ ⁦y⁩الخطأ · التنبؤ ناقص القيمة الحقيقيةالتدريب (⁦training⁩) · تعديل ⁦w⁩ و⁦b⁩ محاولة بعد محاولة لتصغير الأخطاءمدى البيانات · المدخلات التي رآها النموذج؛ وخارجه تضعف التنبؤات
الشرح

تذكّر الأسبوع الثامن: الدالة تأخذ مدخلًا وترجع ناتجًا، تمامًا مثل النموذج. تحمل الدالة ⁦predict_score(hours)⁩ النموذج بـ ⁦w = 10⁩ و⁦b = 40⁩ وترجع ⁦w * hours + b⁩. فتعطي الاستدعاءات ⁦60⁩ لساعتين و⁦40⁩ لصفر ساعة و⁦90⁩ لخمس ساعات. لكن من وجد العددين ⁦10⁩ و⁦40⁩؟ كتبهما شخص. ولم يتعلمهما الحاسوب. أما في تعلم الآلة فيعدّل الحاسوب ⁦w⁩ و⁦b⁩ بنفسه: يقوم بتنبؤ ثم يقيس الخطأ (التنبؤ ناقص القيمة الحقيقية) ثم يغيّر ⁦w⁩ و⁦b⁩ قليلًا ويجرب من جديد. ويبين الجدول ثلاث محاولات لنقطة بيانات واحدة مخترعة: ⁦x = 2⁩ والدرجة الحقيقية ⁦65⁩. ويصغر الخطأ حتى يصبح ⁦0⁩. والتدريب الحقيقي يستخدم نقاط بيانات كثيرة ويفعل ذلك بسرعة كبيرة. ويعمل النموذج جيدًا داخل مدى بياناته فقط: فـ ⁦predict_score(20)⁩ تعطي ⁦240⁩ درجة وهذا مستحيل إذا كانت الدرجة العظمى ⁦100⁩.

Python
1def predict_score(hours):
2    w = 10
3    b = 40
4    return w * hours + b
5
6print(predict_score(2))
7print(predict_score(0))
8print(predict_score(5))
Output
60
40
90
أمثلة محلولة
المحاولةwbالتنبؤ عند x = 2الخطأ (التنبؤ - الحقيقي 65)
153040-25
283854-11
31045650
ثلاث محاولات لنقطة بيانات واحدة (⁦x = 2⁩ والدرجة الحقيقية ⁦65⁩). التنبؤ هو ⁦w × 2 + b⁩. والخطأ هو التنبؤ ناقص ⁦65⁩. وفي المحاولة الثالثة يصبح الخطأ ⁦0⁩.
Python
1def predict_score(hours):
2    w = 10
3    b = 40
4    return w * hours + b
5
6print(predict_score(20))
Output
240
خارج مدى البيانات قد يقول الخط أشياء سخيفة. لم يرَ النموذج إلا من ⁦0⁩ إلى ⁦5⁩ ساعات، فلا ينبغي الوثوق بأن ⁦20⁩ ساعة تعطي ⁦240⁩ درجة.
نشاط الفصل

اكتب دالة ⁦predict_height(days)⁩ لنبتة فيها ⁦b = 25⁩ و⁦w = 4⁩ واحسب النتائج لـ ⁦0⁩ و⁦2⁩ و⁦10⁩ أيام. ثم قل ما الذي كتبه شخص هنا وما الذي كان سيجده نموذج مدرَّب بنفسه.

تدرّب
1
ماذا ترجع ⁦predict_score(2)⁩؟
Python
1def predict_score(hours):
2    w = 10
3    b = 40
4    return w * hours + b
5
6print(predict_score(2))
7print(predict_score(0))
8print(predict_score(5))
2
في دالة الدرس، من وجد ⁦w = 10⁩ و⁦b = 40⁩؟
3
كيف يغيّر نموذج تعلم الآلة ⁦w⁩ و⁦b⁩؟
4
لماذا تُعد ⁦240⁩ درجة لـ ⁦20⁩ ساعة علامة تحذير؟