تعلم الآلة مبتدئ · Beginner 12 دقيقة

مقدمة في تعلم الآلة

Introduction to Machine Learning

ما معنى أن يتعلم الحاسوب من البيانات، وما عناصر أي مسألة تعلم آلة؟

تقدّمك في المسار0%

الفكرة الأساسية

في البرمجة التقليدية نكتب القواعد ونطبقها على البيانات للحصول على النتائج. في تعلم الآلة نعطي الخوارزمية أمثلة فتستنتج نموذجاً يربط المدخلات بالمخرجات، ثم نستخدمه على حالات جديدة.

عناصر أي مسألة

العنصرالمعنىمثال: تصفية الرسائل المزعجة
البياناتأمثلة التدريبآلاف الرسائل
السمات \(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) وليس حفظ بيانات التدريب.

أسئلة مراجعة

  1. ما الفرق بين البرمجة التقليدية وتعلم الآلة؟

    في البرمجة التقليدية نكتب القواعد يدوياً، وفي تعلم الآلة يستنتج النموذج القواعد من أمثلة البيانات.

  2. لماذا نقيّم النموذج على بيانات منفصلة عن التدريب؟

    لأن الهدف قياس التعميم، والأداء على بيانات التدريب يبالغ في تقدير الجودة.

المصادر والمراجع

  1. James, Witten, Hastie, Tibshirani — An Introduction to Statistical Learning
  2. scikit-learn User Guide
  3. Google — Machine Learning Crash Course

إكمال الدرس