تخطَّ إلى المحتوى

🤖 شرح الذكاء الاصطناعي وتعلّم الآلة

التعلّم الموجَّه وغير الموجَّه

الدرس 16 من 50· ⏱ 5 دقائق قراءة· 🗓 آخر تحديث: ١٨ سبتمبر ٢٠٢٦

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

الفرق الجوهري في لمحة

التعلّم الموجَّهالتعلّم غير الموجَّه
البيانات(X, y) — مُسمّاةX فقط
هدف النموذجf(X) ≈ yإيجاد بنية في X
ما "يتعلّمه" النموذجربط المدخل بالمخرَجالأنماط الخفية في البيانات
القياسدقّة التنبؤ مقابل yجودة التمثيل/التجميع
مثالمصنّف بريد مزعجتجميع عملاء

التعلّم الموجَّه (Supervised Learning) بتفصيل

الإعداد

# لديك 1000 بريد مع تصنيف: مزعج (1) أو عادي (0)
X = emails_features        # مصفوفة (1000, n_features)
y = [0, 1, 0, 1, ...]      # متجه (1000,)

# تدريب النموذج
model = LogisticRegression()
model.fit(X, y)

# استخدامه
new_email = [features_of_new_email]
prediction = model.predict(new_email)   # 0 أو 1

تقسيمات داخلية

حسب نوع y:

  • الانحدار (Regression) — y رقم مستمر: أسعار، درجات حرارة، أعمار.
  • التصنيف (Classification) — y فئات: مزعج/عادي، قطة/كلب، نوع الورم.

حسب عدد الفئات في التصنيف:

  • ثنائي (Binary): فئتان (spam/ham).
  • متعدد (Multiclass): 3+ فئات (MNIST 0-9).

خوارزميات رئيسية

  • Linear Regression, Ridge, Lasso
  • Logistic Regression
  • Decision Trees, Random Forest, Gradient Boosting
  • SVM (Support Vector Machines)
  • K-Nearest Neighbors (KNN)
  • Neural Networks (لكل أنواع البيانات)

متى تختار supervised؟

  • ✅ لديك بيانات مُسمّاة كافية (الحد الأدنى يختلف حسب الخوارزمية).
  • ✅ تعرف الإجابة المرجوة بوضوح.
  • ✅ المسألة تندرج تحت "توقّع رقم" أو "صنّف إلى فئات معروفة".

التحدّي الأكبر

الحصول على بيانات مُسمّاة. في الواقع، التصنيف مكلّف وبطيء — هذا ما يُدعى data labeling bottleneck.

التعلّم غير الموجَّه (Unsupervised Learning) بتفصيل

الإعداد

# لديك 1000 زبون، بدون تصنيف
# الميزات: العمر، الإنفاق الشهري، عدد الزيارات
X = customer_features        # مصفوفة (1000, 3)

# تدريب النموذج
kmeans = KMeans(n_clusters=3)
clusters = kmeans.fit_predict(X)

# النتيجة: كل عميل انتمى لمجموعة
print(clusters)   # [0, 2, 1, 0, 2, ...]

ثلاثة استخدامات عملية

1. التجميع (Clustering) — تقسيم البيانات لمجموعات متشابهة.

from sklearn.cluster import KMeans
clusters = KMeans(n_clusters=5, random_state=42).fit_predict(X)

2. تقليل الأبعاد (Dimensionality Reduction) — اختزال الميزات.

from sklearn.decomposition import PCA
X_reduced = PCA(n_components=2).fit_transform(X)
# 100 ميزة → 2 ميزة مع الاحتفاظ بأكبر قدر من التباين

3. اكتشاف الحالات الشاذة (Anomaly Detection) — رصد النقاط الغريبة.

from sklearn.ensemble import IsolationForest
outliers = IsolationForest(contamination=0.01).fit_predict(X)
# -1 للشاذ، 1 للطبيعي

خوارزميات رئيسية

  • K-Means، DBSCAN، Hierarchical Clustering
  • PCA، t-SNE، UMAP
  • Isolation Forest، One-Class SVM

متى تختار unsupervised؟

  • ✅ لا تملك تسميات، أو التصنيف مكلّف.
  • ✅ تريد استكشاف بنية البيانات قبل أي نموذج آخر.
  • ✅ المهمة هي التجميع، التصوير، أو الرصد بدون إجابة مرجعية.

التحدّي الأكبر

القياس والتقييم أصعب بكثير. لا توجد إجابة "صحيحة" للمقارنة.

Semi-supervised Learning — الجسر بين الاثنين

في الواقع، كثير من البيانات تكون شبه مُسمّاة:

  • 1000 بريد مُصنَّف (مزعج/عادي).
  • 100,000 بريد بدون تصنيف.

Semi-supervised Learning يستخدم كلا النوعين:

  • يدرّب نموذج أولي على البيانات المُسمّاة.
  • يستخدمه لتصنيف البيانات غير المُسمّاة (pseudo-labeling).
  • يدرّب نموذج أكبر على البيانات الموسّعة.

Self-supervised Learning — النمط الذي غيّر العالم

هذا النمط هو أساس النماذج اللغوية الكبيرة:

  • النموذج يأخذ نصًا كبيرًا.
  • يخفي جزءًا من النص.
  • يتنبأ بالجزء المخفي.
النص الأصلي:  "القطط تحب ___ و اللعب"
المهمة:       تنبّأ بالكلمة المخفية ("الحليب")

الفرق عن unsupervised الكلاسيكي: المهمة "تأتي من البيانات نفسها"، لا من تصنيف بشري.

مقارنة الأداء والمستخدم

الحالةsupervisedunsupervised
دقّة التنبؤعالية (إذا كانت البيانات كافية)غير قابلة للقياس مباشرة
العمل اليدوييحتاج تصنيفلا يحتاج
قابلية التفسيرعالية (للخوارزميات البسيطة)متوسّطة
حجم البياناتيحتاج كثير مُسمّىيعمل مع كثير غير مُسمّى
تطبيقات عمليةالتصنيف، التوقعالتجزئة، الكشف عن الشذوذ

كيف تختار عمليًا؟

1. هل لديك تسميات؟
   ├─ نعم، كثيرة → Supervised
   ├─ نعم، قليلة + كثير بدون → Semi-supervised
   └─ لا → Unsupervised

2. ما الهدف؟
   ├─ توقّع قيمة معروفة → Regression (Supervised)
   ├─ صنّف إلى فئات → Classification (Supervised)
   ├─ اكتشف بنية → Clustering (Unsupervised)
   └─ اكتشف حالات شاذة → Anomaly Detection (Unsupervised)

أخطاء شائعة

  • محاولة supervised بـ "قليل" من البيانات المُسمّاة: النتيجة تكون سيّئة. إما زِد البيانات أو استخدم semi-supervised.
  • اعتبار unsupervised كـ "محاولة supervised بدون بيانات": لا — له خوارزمياته وأهدافه الخاصة.
  • تطبيق K-Means بدون فهم البيانات: K-Means يفترض مجموعات كروية الشكل وقد يعطي نتائج مضلّلة لتوزيعات مختلفة.
  • مقارنة supervised و unsupervised بمقاييس مختلفة: ليس عدلاً — لكل نمط مقاييسه الخاصة.

الخطوات التالية

💡 لاحقًا في المسار: تعلّم المعزَّز (RL) في وحدة متخصّصة.

شرح التعلّم الموجَّه وغير الموجَّه — الذكاء الاصطناعي وتعلّم الآلة بالعربي
التعلّم الموجَّه وغير الموجَّهالذكاء الاصطناعي وتعلّم الآلة بالعربي · The Code Fix

📚 لمزيد من التعمّق في الذكاء الاصطناعي وتعلّم الآلة، راجِع توثيق scikit-learn الرسمي.

هل كان هذا الدرس مفيدًا؟