مقدمة في تعلم الآلة
Introduction to Machine Learning
ما معنى أن يتعلم الحاسوب من البيانات، وما عناصر أي مسألة تعلم آلة؟
الفكرة الأساسية
في البرمجة التقليدية نكتب القواعد ونطبقها على البيانات للحصول على النتائج. في تعلم الآلة نعطي الخوارزمية أمثلة فتستنتج نموذجاً يربط المدخلات بالمخرجات، ثم نستخدمه على حالات جديدة.
عناصر أي مسألة
| العنصر | المعنى | مثال: تصفية الرسائل المزعجة |
|---|---|---|
| البيانات | أمثلة التدريب | آلاف الرسائل |
| السمات \(x\) | وصف كل مثال | الكلمات، المرسل، الروابط |
| التسمية \(y\) | النتيجة المطلوبة | مزعجة أو غير مزعجة |
| النموذج \(f_\theta\) | دالة ذات معاملات | انحدار لوجستي |
| دالة الخسارة | مقدار الخطأ | Cross-Entropy |
| التقييم | قياس الأداء على بيانات جديدة | الدقة، الاستدعاء |
صياغة رياضية مختصرة
نبحث عن معاملات \(\theta\) تقلل متوسط الخسارة على بيانات التدريب:
$$\hat{\theta} = \arg\min_{\theta} \frac{1}{n}\sum_{i=1}^{n} L\big(y_i, f_\theta(x_i)\big)$$
لكن ما يهمنا فعلاً هو الخطأ المتوقع على بيانات جديدة من التوزيع نفسه، ولهذا نحجز بيانات للاختبار.
أنواع المسائل
- التصنيف (Classification): المخرج فئة، مثل تشخيص وجود ورم.
- الانحدار (Regression): المخرج عدد، مثل سعر منزل.
- التجميع (Clustering): تقسيم البيانات إلى مجموعات دون تسميات.
- اتخاذ القرار المتتابع: وكيل يتعلم سياسة عبر التفاعل، وهو مجال التعلم المعزز.
أول نموذج بـ scikit-learn
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
X, y = load_iris(return_X_y=True)
X_tr, X_te, y_tr, y_te = train_test_split(X, y, test_size=0.25, random_state=0, stratify=y)
model = LogisticRegression(max_iter=1000).fit(X_tr, y_tr)
print(model.score(X_te, y_te)) # الدقة على بيانات الاختبارتتبع جميع نماذج scikit-learn الواجهة نفسها: fit للتدريب وpredict للتنبؤ وscore للتقييم.
مصطلحات الدرس
- التعميم Generalization
- قدرة النموذج على الأداء الجيد على بيانات جديدة لم يُدرَّب عليها.
- السمة Feature
- متغير مُدخل يصف جانباً من المثال، مثل عمر المريض أو عدد الكلمات في رسالة.
- تعلم الآلة Machine Learning
- فرع من الذكاء الاصطناعي تتعلم فيه الأنظمة الأنماط من البيانات لتحسين أدائها في مهمة ما دون برمجة صريحة لكل قاعدة.
الملخص
تعلم الآلة يبني نماذج تحسّن أداءها في مهمة ما من خلال الخبرة المستمدة من البيانات. تتكون المسألة من بيانات (سمات وأحياناً تسميات)، ونموذج له معاملات، ودالة خسارة أو هدف، وخوارزمية تحسين، ومقياس تقييم على بيانات لم يرها النموذج. الهدف النهائي هو التعميم (generalization) وليس حفظ بيانات التدريب.
أسئلة مراجعة
-
ما الفرق بين البرمجة التقليدية وتعلم الآلة؟
في البرمجة التقليدية نكتب القواعد يدوياً، وفي تعلم الآلة يستنتج النموذج القواعد من أمثلة البيانات.
-
لماذا نقيّم النموذج على بيانات منفصلة عن التدريب؟
لأن الهدف قياس التعميم، والأداء على بيانات التدريب يبالغ في تقدير الجودة.
المصادر والمراجع
إكمال الدرس
أكملت كل دروس المسار! يمكنك الآن طلب شهادة إكمال المسار.
اطلب الشهادة