انتقل إلى المحتوى الرئيسي

الدرس 2 — الخوارزميات

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

ابدأ دائماً بخطّ أساس

قبل أيّ خوارزمية، درّب أبسط ما يمكن تصوّره: «تنبّأ دائماً بالفئة الأكثر شيوعاً»، أو «تنبّأ بمتوسّط القيمة»، أو قاعدة عمل واحدة يستخدمها الفريق اليوم.

هذا الرقم مرجعك. وله فائدتان لا يُستهان بهما: يكشف مسائل يكون فيها النموذج المعقّد بلا جدوى، ويعطيك مقياساً للحكم على كلّ تحسين لاحق. نموذج بدقّة 88 % يبدو جيّداً حتى تعرف أنّ خطّ الأساس 86 %.

العائلة الأولى: النماذج الخطّية

الانحدار الخطّي للأرقام، والانحدار اللوجستي للتصنيف. الفكرة: وزن لكلّ سمة، ومجموع مرجّح يقود التنبّؤ.

  • القوّة: سريعة جدّاً، وقابلة للتفسير تماماً — تعرف وزن كلّ سمة واتّجاه أثرها.
  • الحدّ: تفترض علاقة خطّية. وإذا كان الأثر غير خطّي (مثل عمر يزيد الخطر ثم يقلّله)، فلن يلتقطه النموذج بلا مساعدة.
  • متى تُستخدم: كخطّ أساس جدّي دائماً، وكحلّ نهائي حين تكون قابلية التفسير مطلباً قانونياً.

العائلة الثانية: الأشجار ومجموعاتها

شجرة القرار سلسلة أسئلة نعم/لا: «هل الدخل أكبر من كذا؟ إذاً هل مدّة العمل أكبر من كذا؟». مقروءة تماماً، وتلتقط العلاقات غير الخطّية والتفاعلات بلا إعداد.

مشكلتها أنّها تحفظ بسهولة: شجرة عميقة بما يكفي تصف كلّ مثال تدريبي بدقّة وتفشل على الجديد. والحلّ كان تجميع أشجار كثيرة:

الغابة العشوائية (Random Forest) — تدرّب مئات الأشجار، كلٌّ على عيّنة عشوائية من البيانات ومن السمات، ثم تصوّت. الأخطاء الفردية تتلاشى في المعدّل. متينة جدّاً، وتحتاج ضبطاً قليلاً.

التعزيز التدرّجي (Gradient Boosting) — تدرّب الأشجار تتابعياً، كلّ شجرة تصحّح أخطاء ما قبلها. والتنفيذات المشهورة XGBoost وLightGBM وCatBoost.

الحقيقة العملية على البيانات الجدولية

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

العائلة الثالثة: النماذج القائمة على المسافة

k-أقرب جوار (k-NN) — لتصنيف مثال جديد، ابحث عن أقرب k مثال في بيانات التدريب وخُذ رأي الأغلبية. لا تدريب فعلي، بل بحث عند التنبّؤ.

آلة المتّجهات الداعمة (SVM) — تبحث عن الحدّ الذي يفصل الفئات بأكبر هامش، ويمكنها التعامل مع حدود غير خطّية.

  • متى تنفع: مجموعات صغيرة إلى متوسّطة، بسمات مقيَّسة.
  • الحدّ: حساسة جدّاً لمقياس السمات، وتتدهور مع كثرة الأبعاد وكبر البيانات.

عائلة التجميع

للمسائل غير الخاضعة للإشراف: k-means يقسّم إلى عدد مجموعات تحدّده أنت مسبقاً، وDBSCAN يكتشف عدد المجموعات بنفسه ويتعامل مع الشواذّ، والتجميع الهرمي يعطي شجرة تقسيمات على مستويات.

الترتيب العملي للتجربة

هذا هو أنفع ما في الدرس: تسلسل يكلّف دقائق ويعطي في الغالب أفضل نتيجة متاحة.

انتبه إلى نهاية الرسم: عند بلوغ سقف الأداء، الخطوة التالية ليست خوارزمية أعقد، بل سمات أفضل أو بيانات أفضل. وهذا موضوع الدرس القادم.

المعاملات الفائقة: الإعدادات التي تختارها أنت

المعاملات يتعلّمها النموذج، أمّا المعاملات الفائقة فتحدّدها أنت قبل التدريب: عمق الشجرة، عدد الأشجار، معدّل التعلّم، قوّة التنظيم.

قاعدتان تكفيان للبداية:

  • ابدأ بالقيم الافتراضية. المكتبات الجيّدة تختار افتراضيات معقولة، والقفزة الكبرى تأتي من السمات لا من الضبط.
  • اضبط على مجموعة التحقّق، لا على الاختبار. استخدام مجموعة الاختبار في الضبط يفسدها ويجعل تقديرك للأداء متضخّماً.

مبادلة التحيّز والتباين

فكرة واحدة تفسّر كلّ ما سبق:

  • نموذج بسيط جدّاً لا يستطيع التقاط النمط: خطأ عالٍ في التدريب والاختبار — نقص تخصيص (تحيّز عالٍ).
  • نموذج معقّد جدّاً يحفظ التفاصيل والضجيج: خطأ منخفض في التدريب وعالٍ في الاختبار — فرط تخصيص (تباين عالٍ).
  • النموذج المناسب يوازن بينهما.

ولهذا لا يوجد «أفضل خوارزمية» بشكل مطلق: التعقيد المناسب يتوقّف على حجم بياناتك وضجيجها وطبيعة النمط فيها.


في ثلاث جمل

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


التاليالدرس 3: السمات ←