التعلم شبه الموجّه في بايثون (Semi-Supervised Learning)
التعلم شبه الموجّه في بايثون (Semi-Supervised Learning): شرح سهل مع مثال عملي
6 أبريل 2026
ماذا يحدث إذا كانت لدينا كمية قليلة من البيانات المُعلّمة وكمية كبيرة من البيانات غير المُعلّمة؟ هنا يظهر دور التعلم شبه الموجّه، وهو أسلوب يجمع بين التعلم الموجّه والتعلم غير الموجّه للحصول على نتائج أفضل بأقل مجهود ممكن في تصنيف البيانات.
ما هو التعلم شبه الموجّه؟
التعلم شبه الموجّه (Semi-Supervised Learning) هو نوع من تعلم الآلة يعتمد على كمية صغيرة من البيانات المُعلّمة و كمية كبيرة من البيانات غير المُعلّمة.
الفكرة الأساسية هي أن النموذج يتعلم أولاً من البيانات التي نعرف إجاباتها، ثم يستفيد من البيانات الأخرى لاكتشاف مزيد من الأنماط وتحسين الأداء.
لماذا نستخدمه؟
في كثير من المشاريع الواقعية، يكون جمع البيانات سهلاً، لكن عملية تصنيفها يدويًا تكون مكلفة وتحتاج وقتًا كبيرًا.
- قد نملك آلاف الصور، لكن عدد الصور المصنفة قليل.
- قد نملك كمية كبيرة من النصوص، لكن عدد النصوص المعلمة محدود.
- نريد تحسين النموذج دون الحاجة لتصنيف كل البيانات يدويًا.
الفرق بين الأنواع الثلاثة
لفهم التعلم شبه الموجّه بشكل جيد، من المفيد مقارنته بالأنواع الأخرى:
- التعلم الموجّه: يعتمد على بيانات مُعلّمة بالكامل.
- التعلم غير الموجّه: يعتمد على بيانات بدون تسميات.
- التعلم شبه الموجّه: يجمع بين بيانات مُعلّمة وأخرى غير مُعلّمة.
كيف يعمل التعلم شبه الموجّه؟
بشكل مبسط، يمر هذا النوع من التعلم بعدة مراحل:
- نبدأ بكمية صغيرة من البيانات المُعلّمة.
- ندرب نموذجًا أوليًا عليها.
- يستخدم النموذج ما تعلمه للتنبؤ بعلامات البيانات غير المُعلّمة.
- نختار التنبؤات الأكثر ثقة ونضيفها إلى بيانات التدريب.
- نعيد تدريب النموذج للحصول على أداء أفضل.
أمثلة واقعية
1) تصنيف الصور
يمكن أن نملك آلاف الصور، لكن عددًا صغيرًا فقط منها مصنف. هنا يساعد التعلم شبه الموجّه في استخدام الصور غير المصنفة لتحسين النموذج.
2) تحليل النصوص
في تحليل المشاعر مثلًا، قد نملك عددًا محدودًا من الجمل المصنفة إلى إيجابية أو سلبية، بينما توجد كمية كبيرة من النصوص غير المصنفة.
3) المجال الطبي
في بعض التطبيقات الطبية، يكون تصنيف البيانات من طرف الخبراء مكلفًا، لذلك يُستخدم هذا النوع من التعلم للاستفادة من كمية كبيرة من البيانات غير المعلمة.
مثال عملي باستخدام Python
من الطرق المشهورة في التعلم شبه الموجّه أسلوب يسمى Self-Training، حيث يتعلم النموذج من البيانات المعلمة أولًا، ثم يضيف تدريجيًا بعض التنبؤات التي يثق فيها.
from sklearn import datasets
from sklearn.semi_supervised import SelfTrainingClassifier
from sklearn.svm import SVC
import numpy as np
# تحميل بيانات iris
X, y = datasets.load_iris(return_X_y=True)
# تحويل جزء من البيانات إلى غير معلّم
rng = np.random.RandomState(42)
random_unlabeled_points = rng.rand(len(y)) < 0.7
y_semi = np.copy(y)
y_semi[random_unlabeled_points] = -1
# إنشاء النموذج
base_classifier = SVC(probability=True, gamma="auto")
model = SelfTrainingClassifier(base_classifier)
# تدريب النموذج
model.fit(X, y_semi)
# طباعة عدد العينات التي تم تعليمها
print("Number of labeled samples after training:", np.sum(model.labeled_iter_ > -1))
شرح المثال:
- استخدمنا مجموعة بيانات جاهزة اسمها iris.
- أخفينا تسميات جزء كبير من البيانات باستعمال القيمة -1.
- أنشأنا نموذج SelfTrainingClassifier.
- تعلم النموذج من البيانات المُعلّمة ثم حاول الاستفادة من البيانات غير المُعلّمة.
متى نستخدم التعلم شبه الموجّه؟
- عندما تكون البيانات المُعلّمة قليلة.
- عندما تكون البيانات غير المُعلّمة كثيرة ومتوفرة.
- عندما يكون تصنيف البيانات يدويًا مكلفًا أو بطيئًا.
أهم المميزات
- يستفيد من البيانات المتوفرة بشكل أفضل.
- يقلل الحاجة إلى تصنيف كل البيانات يدويًا.
- قد يعطي نتائج أفضل من التعلم الموجّه عندما تكون التسميات قليلة.
أهم العيوب
- إذا كانت التنبؤات الأولى خاطئة، فقد ينقل النموذج هذه الأخطاء إلى مراحل لاحقة.
- ليس مناسبًا لكل أنواع البيانات والمشاكل.
- يحتاج إلى اختيار جيد للنموذج الأساسي.
خلاصة الدرس
التعلم شبه الموجّه هو حل وسط ذكي بين التعلم الموجّه والتعلم غير الموجّه. فهو يستفيد من عدد قليل من البيانات المُعلّمة مع كمية أكبر من البيانات غير المُعلّمة، مما يجعله مفيدًا جدًا في المشاريع الواقعية التي يصعب فيها تصنيف كل البيانات يدويًا.
أسئلة للمراجعة
- ما المقصود بالتعلم شبه الموجّه؟
- ما الفرق بينه وبين التعلم الموجّه وغير الموجّه؟
- لماذا نستخدمه عندما تكون البيانات المعلمة قليلة؟
تعليقات
إرسال تعليق
نرحب بتعليقاتكم البناءة، ونسعى لردود تفاعلية ومفيدة للجميع.