تعلّم الآلة للباحث الاجتماعي: التنبؤ، لا التفسير فقط
ما الفرق بين نموذج يفسّر ونموذج يتنبأ، وكيف يبدو مشروع تعلّم آلة من البداية إلى النهاية، وأيّ النماذج تستحق المعرفة – من شجرة القرار حتى الشبكة العصبية – وما الذي يجب فحصه قبل الإبلاغ عن نتيجة. الجزء أ – مناهج البحث.
في هذه الصفحة
تعلّم الآلة (machine learning) هو، بحسب التعريف الذي يفتتح به Géron كتابه، "علم (وفن) برمجة الحواسيب بحيث تستطيع التعلّم من البيانات"؛ وبالصياغة الكلاسيكية لآرثر صموئيل (1959) – "مجال البحث الذي يمنح الحواسيب القدرة على التعلّم دون أن تُبرمَج صراحةً"؛ وبالصياغة الهندسية لتوم ميتشل (1997) – برنامج "يتعلّم من الخبرة E بالنسبة إلى المهمة T ومقياس الأداء P، إذا كان أداؤه في T، كما يُقاس بـP، يتحسن مع الخبرة E" (كلاهما كما ورد في Géron, 2022، الفصل 1). بالنسبة إلى الباحثة القادمة من الإحصاء تبدو هذه التعريفات مألوفة أكثر من اللازم: الانحدار أيضًا "يتعلّم" معاملات من البيانات. والفرق ليس في الخوارزمية – الانحدار اللوجستي هو الانحدار اللوجستي نفسه في العالمين – بل في الهدف ولذلك في التحقق: إحصاء حاسبات الموقع يسأل أيّ متغير يؤثر وبأيّ قدر، ويتحقق من ذلك بالمعامل، والخطأ المعياري والدلالة الإحصائية؛ أما تعلّم الآلة فيسأل ماذا سيحدث لمشاهدة جديدة، ويتحقق من ذلك بطريقة واحدة فقط – على بيانات لم يرها النموذج. الصفحة مبنية حول الكتاب الدراسي التطبيقي الأكثر انتشارًا في المجال، Hands-On Machine Learning لأوريليان جيرون (Géron) (الطبعة الثالثة، 2022)، وتضيف إليه الوجه الآخر للعملة نفسها – The Elements of Statistical Learning لـHastie وTibshirani وFriedman (الطبعة الثانية، 2009)، الكتاب الذي كتبه إحصائيون لشرح الخوارزميات نفسها بوصفها نماذج إحصائية: "يتناول هذا الكتاب التعلّم من البيانات"، و"يؤدي التعلّم الإحصائي دورًا أساسيًا في مجالات كثيرة من العلوم والمال والصناعة" (Hastie et al., 2009, p. 1). والكتاب الثالث، لكريستوفر بيشوب (Bishop) (2006)، يضيف المنظور الاحتمالي: التعرّف على الأنماط "نشأ في الهندسة، بينما نما تعلّم الآلة من علوم الحاسوب"، لكن "يمكن النظر إليهما بوصفهما وجهين للمجال نفسه" – وفيه انتقلت الأساليب البايزية "من مكانة متخصصة إلى التيار الرئيسي" (Bishop، 2006، المقدمة). والرابع، من التقليد الهندسي للتعرّف على الأنماط: كتاب التعلّم الذاتي لـIshii وUeda وMaeda وMurase (2026) – الذي كُتب "لمن يحاولون تعلّم هذه الموضوعات بأنفسهم"، ويفضّل صراحةً "الموضوعات الكلاسيكية" على "أحدث التقنيات"، لأن "اكتساب المعرفة الأساسية… سيحسّن كثيرًا كفاءة تعلّم أحدث التقنيات"، ويختم بتوصية واحدة: العمل مع بيانات حقيقية (Ishii et al.، 2026، المقدمة). والخامس، من جانب البرمجيات: الكتاب الدراسي لدوتانغ ترونغ (Truong) (2026) عن SPSS Modeler، الذي كُتب انطلاقًا من الإدراك بأن "المتعلمين من مجالات متنوعة، كالأعمال والتسويق والمال والطيران والعلوم الاجتماعية والإنسانيات، قد يشعرون بأنهم تُركوا في الخلف" في مجال يُبرز المبرمجين، وبأن "تطبيقات كثيرة اليوم تتيح للمستخدمين بناء نماذج تعلّم آلة دون كتابة سطر واحد من الشيفرة" (Truong، 2026، المقدمة). Géron يقول ما يُفعل، وHastie وزملاؤه يقولون لماذا ينجح ذلك ومتى لا ينجح، وBishop يقول ما يفترضه النموذج عن الاحتمالات، وIshii وزملاؤه يقولون ما كان معروفًا قبل أن يصبح المصطلح رائجًا، وTruong يقول كيف يُسمّى ذلك في القائمة؛ وتضيف الصفحة إليهم جميعًا ما لا تقوله الكتب الدراسية – التي كُتبت للمهندسين والإحصائيين: ماذا يفعل كل هذا بالبحث الاجتماعي (القسم 1)، وماذا يحدث حين نحاول التنبؤ بحياة البشر (Salganik et al., 2020). الترتيب: التمييز بين التفسير والتنبؤ (1)، وخريطة أنواع التعلّم والتحديات (2)، والمشروع من البداية إلى النهاية (3)، وملخص التحقق (4) – المقاييس، ومجموعة الاختبار، والتحقق المتقاطع، وتسرّب البيانات وحدود التنبؤ لها صفحة منفصلة، مقاييس الأداء والتحقق – والنماذج نفسها (5)، والشبكات العصبية (6)، والأدوات (7)، ووصفة عمل (8) – وكيف يُنفَّذ ذلك في R (9) وفي SPSS Modeler (10). ملاحظة عن الاستشهاد: النسخة الرقمية من Géron لا تتضمن أرقام صفحات، ولذلك فالإحالات إليها بحسب الفصل والقسم؛ أما Hastie وزملاؤه، وBishop، وIshii وزملاؤه وTruong – فبحسب الصفحة.
السمة والتسمية
المتغيرات المتنبِّئة هي السمات (features؛ وأيضًا predictors أو attributes)، والمتغير الذي يُتنبَّأ به هو التسمية (label) في التصنيف أو الهدف (target) في الانحدار. إنها المتغيرات المستقلة والتابع نفسها – بأسماء أخرى.
التدريب · التحقق · الاختبار
يتعلّم النموذج على مجموعة التدريب؛ وتُختار النماذج المتنافسة وإعداداتها على مجموعة التحقق؛ أما مجموعة الاختبار فتُمَسّ مرة واحدة، في النهاية، لتقدير خطأ التعميم. والمتعارف عليه تخصيص نحو 20% للاختبار.
فرط المواءمة
Overfitting: النموذج ممتاز على بيانات التدريب ويفشل على البيانات الجديدة – كسائح خدعه سائق سيارة أجرة واحد فاستنتج أن كل السائقين في البلد لصوص. والعكس، نقص المواءمة، هو نموذج أبسط من اللازم يفشل منذ بيانات التدريب.
مَعلَمة فائقة
مَعلَمة لـخوارزمية التعلّم، لا للنموذج: تُحدَّد قبل التدريب ولا تتغير في أثنائه – مثل العمق الأقصى للشجرة أو قوة التنظيم. مَعلَمات النموذج (المعاملات) تُتعلَّم؛ والمَعلَمات الفائقة تُختار – وتُوثَّق.
1. ثقافتان: التفسير أو التنبؤ
التمييز الذي لم يُجرِه الإحصاء. افتتح ليو بريمان (Breiman)، مبتكر الغابات العشوائية، القرن بمقال شرح فيه لماذا لا يتحدث الإحصائيون والمهندسون اللغة نفسها: "هناك ثقافتان في استخدام النمذجة الإحصائية للوصول إلى استنتاجات من البيانات. إحداهما تفترض أن البيانات تولّدت من نموذج بيانات عشوائي معيَّن. والأخرى تستخدم نماذج خوارزمية وتتعامل مع آلية البيانات بوصفها مجهولة" – والمجتمع الإحصائي، بحسب قوله، "التزم باستخدام شبه حصري لنماذج البيانات" (Breiman، 2001a، الملخص). وحوّلت غاليت شمويلي (Shmueli) هذا التمييز إلى خريطة عملية: النمذجة التفسيرية هي استخدام نموذج لاختبار نظرية سببية، وفي العلوم الاجتماعية "تُستخدم الأساليب الإحصائية حصرًا تقريبًا لاختبار النظرية السببية" – وفي الواقع، دائمًا تقريبًا، في "نماذج قائمة على الارتباط على بيانات مشاهَدة. ونماذج الانحدار هي المثال الأكثر شيوعًا" (Shmueli, 2010, Section 1.1)؛ والنمذجة التنبؤية هي "عملية تطبيق نموذج إحصائي أو خوارزمية تنقيب بيانات على بيانات بغرض التنبؤ بمشاهدات جديدة أو مستقبلية" (القسم 1.2). والخطأ الشائع هو الافتراض "بأن النماذج ذات القدرة التفسيرية العالية هي بطبيعتها ذات قدرة تنبؤية عالية" (الملخص) – وهو غير صحيح: القدرة التفسيرية والقدرة التنبؤية بُعدان، لا طرفان لمتصل واحد (القسم 4.2)؛ والتحقق مختلف أيضًا – في النمذجة التفسيرية يُفحص أن النموذج يمثّل النظرية وأنه يطابق البيانات، وفي النمذجة التنبؤية يُفحص التعميم على بيانات جديدة، و"الخطر الأكبر على التعميم هو فرط المواءمة لبيانات التدريب" (القسم 2.6.1). ويقول Géron الشيء نفسه من الجهة الأخرى للسياج: معظم مهام تعلّم الآلة تتعلق بالتنبؤ، و"الأداء الجيد على بيانات التدريب جيد، لكنه غير كافٍ؛ الهدف الحقيقي هو الأداء الجيد على حالات جديدة" (Géron, 2022, Chapter 1, "Instance-Based Versus Model-Based Learning").
وماذا يفعل ذلك بعلم النفس وعلم الاجتماع. يرى ياركوني (Yarkoni) وويستفول (Westfall) أن تركيز علم النفس شبه المطلق على التفسير السببي تركه مع "نظريات معقدة عن آليات نفسية" ذات "قدرة ضئيلة (أو مجهولة) على التنبؤ بالسلوك المستقبلي"، ويقترحان تبنّي مبادئ من تعلّم الآلة – وبحسب قولهما، فإن التركيز على التنبؤ بالذات سيقود إلى فهم أفضل للسلوك (Yarkoni & Westfall، 2017، الملخص). ويقترح هوفمان (Hofman) وواتس وزملاؤهما – ومنهم سوزان آثي، وجون كلاينبرغ، وماثيو سالغانيك وطال ياركوني – في Nature مخططًا ذا بعدين لكل بحث: إلى أي مدى يفسّر (تحديد الآثار السببية وتقديرها) وإلى أي مدى يختبر تنبؤات بالنتائج، ويدعون العلوم الاجتماعية الحاسوبية إلى "نمذجة تكاملية" تجمع الاثنين (Hofman et al.، 2021، الملخص). أما مولينا (Molina) وغاريب (Garip)، لعلماء الاجتماع، فيعدّدان الاستخدامات: استخلاص مقاييس من مصادر جديدة كالنصوص والصور، ووصف عدم التجانس في المجتمع، وتحسين الاستدلال السببي، والتنبؤات للسياسات ولتطوير النظرية (Molina & Garip، 2019، الملخص).
وماذا يحدث حين نحاول. أكبر تجربة في التنبؤ بحياة البشر هي "تحدي العائلات الهشّة": تلقّت 160 مجموعة باحثين بيانات عن 4,242 عائلة – 12,942 متغيرًا لكل عائلة، جُمعت منذ ولادة الطفل حتى سن 9 – وطُلب منها التنبؤ بست نتائج في سن 15: معدل الدرجات، و"العزيمة" (grit، المثابرة)، والإخلاء من المسكن، والضائقة المادية، وتسريح الوالد الراعي من العمل ومشاركته في تأهيل مهني. والنتيجة: حتى أفضل التنبؤات لم تكن دقيقة – R² على بيانات الاحتجاز بنحو 0.2 للضائقة المادية ولمعدل الدرجات ونحو 0.05 للنتائج الأربع الأخرى – ولم تكن أفضل إلا قليلًا من نموذج مرجعي بسيط: انحدار خطي أو لوجستي على أربعة متغيرات اختارها خبير في المحتوى (ثلاثة عن الأم عند الولادة – الأصل، والحالة الاجتماعية والتعليم – وقياس للنتيجة نفسها، أو لنتيجة قريبة منها، في سن 9). وكان خطأ التنبؤ مرتبطًا بقوة بالعائلة التي يُتنبَّأ بها وبضعف فقط بالطريقة (Salganik et al.، 2020، الملخص وقسم Results). واستنتاج المؤلفين – 112 باحثًا، يتقدمهم ماثيو سالغانيك (مؤلف Bit by Bit المذكور في خريطة الأدوات) – هو أن على باحثي مسار الحياة "التوفيق بين فكرة أنهم يفهمون مسارات الحياة وحقيقة أن أيًّا من التنبؤات لم يكن دقيقًا بشكل خاص" (Section Significance)، وحلّ ما يسمّونه "مفارقة الفهم/التنبؤ": البيانات نفسها أنتجت أكثر من 750 مقالًا تفسيريًا – ولا تتنبأ (Section Discussion). للباحثة: الثقافتان لا تحل إحداهما محل الأخرى. النموذج التفسيري الذي لا يتنبأ بشيء جدير بالريبة؛ والنموذج التنبؤي الذي لا يفهمه أحد جدير بريبة من نوع آخر (القسم 5، "الصندوق الأبيض والأسود")؛ وفي معظم الأحيان يكون الجواب الإبلاغ عن الاثنين.
2. خريطة المجال: أنواع التعلّم وما قد يسوء
يصنّف Géron أنظمة تعلّم الآلة بحسب ثلاثة محاور (Géron, 2022, Chapter 1, "Types of Machine Learning Systems"). الأول – درجة التوجيه. في التعلّم الموجَّه (supervised) تتضمن مجموعة التدريب الإجابات المطلوبة – التسميات – والمهمتان النموذجيتان هما التصنيف (رسالة مزعجة / غير مزعجة) والانحدار (سعر سيارة بحسب المسافة المقطوعة، والعمر والشركة المصنِّعة)؛ والحد بينهما نافذ – الانحدار اللوجستي نموذج انحدار يُستخدم للتصنيف، لأنه يُخرج احتمالًا. في التعلّم غير الموجَّه (unsupervised) لا توجد تسميات، والمهام هي العناقيد (مجموعات من الزوار المتشابهين)، والتصوير البياني وتقليص الأبعاد (دمج سمات مترابطة، كالمسافة المقطوعة والعمر، في سمة واحدة لـ"الاهتراء")، وكشف القيم الشاذة وتعلّم قواعد الارتباط (من يشتري صلصة الشواء ورقائق البطاطس يشتري أيضًا شريحة لحم) – وهي بالنسبة إلى الباحث الاجتماعي التحليل العاملي والتحليل العنقودي اللذان يعرفهما، ولهما صفحة خاصة: التعلّم غير الموجَّه – وحاسبات: التحليل العنقودي والتحليل العاملي الاستكشافي. وبينهما – التعلّم شبه الموجَّه (قليل من التسميات، وكثير من البيانات غير الموسومة)، والتعلّم الذاتي الإشراف (ينتج النموذج لنفسه تسميات – يخفي جزءًا من صورة ويتعلم استعادته – ثم يُضبط لمهمة أخرى: وهذا مبدأ النماذج اللغوية في صفحة NLP)، والتعلّم المعزَّز (وكيل، وأفعال، ومكافآت). الثاني – الدفعي مقابل الفوري: نموذج يُدرَّب مرة واحدة على كل البيانات، مقابل نموذج يتعلم في أثناء تدفقها؛ وما يعني الباحث هو الملاحظة عن "تعفّن النموذج" (model rot) – أداء النموذج يتراجع مع الزمن "ببساطة لأن العالم يواصل التطور بينما يبقى النموذج كما كان". الثالث – القائم على الحالات مقابل القائم على النموذج: الحفظ عن ظهر قلب والتعميم بحسب التشابه (أقرب الجيران)، أو بناء نموذج للأمثلة. ومثال Géron اجتماعي: الرضا عن الحياة بحسب الناتج المحلي الإجمالي للفرد (بيانات OECD والبنك الدولي). الخط المستقيم يعطي قبرص 6.30؛ والجيران الثلاثة الأقرب في الناتج المحلي – إسرائيل (7.2)، وليتوانيا وسلوفينيا (5.9 لكل منهما) – يعطون في المتوسط 6.33. مقاربتان، والجواب نفسه، ولم ترَ أيٌّ منهما قبرص. لكن "الجيران" يكفّون عن أن يكونوا قريبين حين تكثر المتغيرات – لعنة الأبعاد: في عشرة أبعاد، لالتقاط 10% من البيانات يجب تغطية 80% من مدى كل متغير، بحيث يكون كل جوار "محلي" في الحقيقة معظم الفضاء (Hastie et al., 2009, pp. 22-23)؛ ولذلك فإن كل طريقة تحاول مواءمة دالة متغيرة محليًا في جوارات صغيرة "ستواجه مشكلات في الأبعاد العالية" (ص 33). "حدسنا الهندسي، الذي تشكّل في الحياة في فضاء ثلاثي الأبعاد، قد يفشل فشلًا ذريعًا" في الفضاءات متعددة الأبعاد – في كرة ذات عشرين بعدًا يقع الحجم كله تقريبًا في قشرة رقيقة قرب السطح (Bishop, 2006, p. 36). بالنسبة إلى الباحثة التي لديها مسح من 80 فقرة و300 مشارك ليس هذا تفصيلًا تقنيًا – إنه السبب في أن النماذج المقيَّدة والأشجار (القسم 5) تنجح هناك، وأقرب الجيران لا.
ما قد يسوء: بيانات رديئة ونموذج رديء (ibid., "Main Challenges of Machine Learning"). بيانات أقل من اللازم – "حتى المشكلات البسيطة جدًا تحتاج عادةً إلى آلاف الأمثلة"؛ وقد أظهر المقال الشهير لبانكو وبريل (2001) أن خوارزميات مختلفة جدًا، بما فيها البسيطة، تصل إلى أداء شبه متطابق حين تُعطى بيانات كافية – لكن Géron نفسه يتحفظ بأن "مجموعات البيانات الصغيرة والمتوسطة لا تزال شائعة جدًا"، ولذلك "لا تتخلّوا عن الخوارزميات بعد". بيانات غير ممثِّلة – المثال مثالنا: مسح Literary Digest في 1936، نحو عشرة ملايين مرسَل إليه، و2.4 مليون إجابة، وتنبؤ بـ57% للاندون؛ وفاز روزفلت بـ62%. القوائم (مشتركو الهاتف، وأعضاء النوادي) مالت نحو الأغنياء، وأجاب أقل من الربع – تحيّز المعاينة وتحيّز عدم الاستجابة (nonresponse bias)، تمامًا بمصطلحات مقرر مناهج البحث. بيانات رديئة الجودة – قيم متطرفة، وضجيج، وقيم مفقودة: "يقضي معظم علماء البيانات جزءًا كبيرًا من وقتهم" في التنظيف. سمات غير ذات صلة – "مدخلات رديئة، مخرجات رديئة"؛ وهندسة السمات هي اختيار سمات جديدة واستخلاصها وجمعها. ومن جهة النموذج: فرط المواءمة – نموذج أعقد من اللازم بالنسبة إلى كمية البيانات وما فيها من ضجيج، يتعرّف على أنماط في الضجيج نفسه؛ والمثال: في بيانات التدريب، كل البلدان التي في اسمها (بالإنجليزية) حرف w رضاها فوق 7 – نيوزيلندا (7.3)، والنرويج (7.6)، والسويد (7.3) وسويسرا (7.5) – "إلى أي حد أنتم واثقون من أن قاعدة الـw تُعمَّم على رواندا أو زيمبابوي؟" والحلول: نموذج أبسط، وبيانات أكثر، وضجيج أقل – والتنظيم (regularization): تقييد النموذج، مثلًا بإلزام الميل بأن يبقى صغيرًا، ويُتحكَّم فيه بمَعلَمة فائقة. ويوضّح Bishop الشيء نفسه بكثير حدود: كثير حدود من الدرجة 9 على عشر نقاط يمرّ تمامًا بها كلها، بخطأ تدريب صفر، "لكن المنحنى المُواءَم يتذبذب بعنف" – "ويُعرف هذا السلوك بفرط المواءمة" (ص 6)؛ "لتعقيد نموذج معيَّن، تصبح مشكلة فرط المواءمة أقل حدة كلما كبرت مجموعة البيانات"، والقاعدة التقريبية الخام التي يقتبسها – ويتحفظ منها – هي ألا يقل عدد المشاهدات عن 5 إلى 10 أضعاف عدد المَعلَمات التكيّفية في النموذج (ص 9). العقوبة على حجم المعاملات تُسمّى في الإحصاء "أساليب الانكماش"، والحالة التربيعية – انحدار الحافّة (ridge)، وفي الشبكات العصبية – "اضمحلال الأوزان" (ص 10): ثلاثة أسماء لفكرة واحدة. وما يضيفه Bishop بوصفه ادعاءً أساسيًا: فرط المواءمة "خاصية عامة لأقصى إمكان"، وفي المقاربة البايزية – التي فيها "يتكيّف العدد الفعلي للمَعلَمات تلقائيًا مع حجم مجموعة البيانات" – يمكن تجنّبه حتى في نموذج يفوق عدد مَعلَماته بكثير عدد المشاهدات (ص 9). والسؤال نفسه – كم مشاهدة نحتاج – يطرحه التعرّف على الأنماط من جهة السمات: "للأسف، لا توجد إجابة عامة"، لكن هناك ظاهرة معروفة – ظاهرة هيوز (Hughes phenomenon): ما دام عدد السمات d صغيرًا بالنسبة إلى عدد المشاهدات n، فإن إضافة سمة تحسّن التصنيف؛ وحين يكبر d بما يكفي بالنسبة إلى n، "تنخفض الموثوقية الإحصائية، وخلافًا للتوقعات، يتدهور أداء التصنيف" – والسبب هو "إضافة سمات كثيرة جدًا، مع نسيان أن عدد مشاهدات التعلّم محدود" (Ishii et al., 2026, pp. 84, 86-87). للباحثة: فقرة إضافية في المقياس ليست بالضرورة معلومات إضافية للنموذج. ونقص المواءمة – نموذج أبسط من اللازم لبنية البيانات (خط مستقيم للرضا عن الحياة)، يفشل منذ بيانات التدريب. وأخيرًا، مبرهنة "لا وجبات مجانية" (Wolpert, 1996, as cited in Géron, Chapter 1): من لا يفترض شيئًا عن البيانات لا سبب لديه لتفضيل نموذج على آخر؛ ولكل اختيار نموذج افتراض ضمني (خط مستقيم = "البعد عن الخط ضجيج")، والطريقة الوحيدة لمعرفة أيّها أفضل هي المقارنة – على بيانات لم تُستخدم في التدريب.
3. المشروع من البداية إلى النهاية: ثماني خطوات
الفصل 2 من Géron مشروع واحد كامل – التنبؤ بالسعر الوسيط للمسكن في 20,640 منطقة إحصائية في كاليفورنيا (تعداد 1990) – والملحق أ من الكتاب يحوّله إلى قائمة تحقق من ثماني خطوات: تأطير المشكلة، والحصول على البيانات، واستكشافها، وإعدادها، وقائمة قصيرة بالنماذج الواعدة، والضبط الدقيق، وعرض الحل، والإطلاق والصيانة (Géron، 2022، الملحق أ). وما يميّز هذه السلسلة عن التحليل الإحصائي المعتاد ليس الخوارزمية بل أربعة قرارات تُتخذ قبل النظر في البيانات.
أ. التأطير: ما الهدف، وما المقياس، وما الموجود اليوم. السؤال الأول هو ما الهدف – "بناء نموذج ليس على الأرجح الهدف النهائي" – لأنه يحدد التأطير (موجَّه؟ انحدار؟ دفعي؟)، والخوارزمية ومقياس الأداء؛ والثاني هو ما الحل الحالي – في المثال، خبراء يقدّرون يدويًا ويخطئون "بأكثر من 30%": هذا هو الخط المرجعي الذي يجب أن يتجاوزه النموذج. ثم تُفحص الافتراضات: إذا كان النظام الذي سيتلقى التنبؤ يحوّل الأسعار إلى فئات ("رخيص / متوسط / غالٍ")، فالمشكلة تصنيف لا انحدار – "لن ترغبوا في اكتشاف ذلك بعد أشهر من العمل على نظام انحدار" (Chapter 2, "Frame the Problem", "Check the Assumptions"). يُختار مقياس الأداء الآن، لا في النهاية: للانحدار – RMSE، الذي يعاقب الأخطاء الكبيرة، أو MAE حين تكثر القيم المتطرفة؛ وللتصنيف – بحسب كلفة الخطأ (مقاييس الأداء والتحقق، القسم 1 والجدول 1 هناك).
ب. مجموعة الاختبار – قبل الاستكشاف، لا بعده. "قد يبدو غريبًا وضع جزء من البيانات جانبًا في هذه المرحلة"، يكتب Géron، لكن "دماغكم نظام مذهل للتعرّف على الأنماط، وهذا يعني أيضًا أنه شديد الميل إلى فرط المواءمة" – تحيّز التلصص على البيانات (data snooping bias; Chapter 2, "Create a Test Set"). نحو 20% للاختبار، بتقسيم ثابت وطبقي؛ والتفاصيل – لماذا ثلاث مجموعات لا اثنتان، وبحسب أي وحدة يُقسَّم – في مقاييس الأداء والتحقق، القسمان 2 و6.
ج. الاستكشاف والإعداد – على مجموعة التدريب فقط، وبالدوال. الاستكشاف مألوف: التوزيعات، ومعاملات ارتباط بيرسون مع الهدف (في المثال، يرتبط الدخل الوسيط بـ0.69 مع سعر المسكن)، وأشكال الانتشار، وتركيبات السمات (الغرف لكل بيت بدل مجموع الغرف). الإعداد – بالشيفرة، لا يدويًا، لأربعة أسباب: إعادة الإنتاج على بيانات جديدة، وإعادة الاستخدام في المشاريع التالية، والتشغيل في نظام حي، والتجريب السهل للبدائل (Chapter 2, "Prepare the Data"). والخطوات الثلاث: القيم المفقودة – حذف الصفوف، أو حذف المتغير، أو تعويض (impute) قيمة – الوسيط، أو المتوسط، أو المنوال – والقاعدة التي تميّز تعلّم الآلة عن عادات SPSS: يُحسب الوسيط على مجموعة التدريب ويُحفَظ، لتطبيقه على مجموعة التحقق، وعلى مجموعة الاختبار وعلى كل بيانات جديدة؛ والمتغيرات التصنيفية – الترميز الأحادي الساخن (one-hot، متغيرات وهمية)؛ وتغيير المقياس – "باستثناءات قليلة، لا تعمل خوارزميات تعلّم الآلة جيدًا حين تكون للسمات العددية مقاييس مختلفة جدًا" (مجموع الغرف من 6 إلى 39,320، والدخل من 0 إلى 15): التحجيم الأدنى-الأقصى إلى المدى 0-1، أو التقييس (متوسط 0، انحراف معياري 1)، وهو أقل حساسية للقيم المتطرفة. والتحذير، بحروف Géron: "لا تستخدموا أبدًا fit() أو fit_transform() لأي شيء غير مجموعة التدريب" (Chapter 2, "Feature Scaling and Transformation") – ويشرح القسم 4 لماذا ليس هذا تدقيقًا مبالغًا فيه. وأشجار القرار هي الاستثناء المريح: لا تتطلب تغيير المقياس إطلاقًا (الفصل 6).
د. التدريب، والمقارنة – بـk طيّات – والضبط. الانحدار الخطي على بيانات التدريب يعطي RMSE بنحو 68,600 دولار بينما معظم الأسعار بين 120 و265 ألفًا – نقص مواءمة. وشجرة القرار تعطي RMSE قدره 0.0 – "مهلًا، ماذا!؟ لا خطأ على الإطلاق؟" – فرط مواءمة تام، لا يمكن رؤيته بلا بيانات لم يرها النموذج. والأداة هي التحقق المتقاطع (k-fold cross-validation): تُقسَم مجموعة التدريب إلى 10 طيّات، ويُدرَّب النموذج 10 مرات على 9 ويُختبر على العاشرة، فنحصل لا على تقدير فقط بل على دقته أيضًا – متوسط وانحراف معياري. تنخفض الشجرة إلى 66,868 (±2,061)، أي تقريبًا كالانحدار (69,858 ±4,182)؛ والغابة العشوائية تعطي 47,019 (±1,034) – لكنها على مجموعة التدريب نفسها نحو 17,474، أي ما زال فيها فرط مواءمة ملحوظ (Chapter 2, "Better Evaluation Using Cross-Validation"). كم طيّة، وقاعدة الخطأ المعياري الواحد، وما العمل في العيّنة الصغيرة – مقاييس الأداء والتحقق، القسم 3. والتوجيه: تجربة نماذج من عدة عائلات بلا ضبط، والاختصار إلى 2-5 واعدة – وعندها فقط ضبط المَعلَمات الفائقة، ببحث شبكي (كل التركيبات) أو، حين يكون فضاء التركيبات كبيرًا، ببحث عشوائي (عدد ثابت من التركيبات؛ الملحق أ: يُفضَّل العشوائي إلا إذا كانت القيم قليلة). وبعد الضبط يُنظر في النموذج: الغابة العشوائية تُبلغ عن أهمية السمات – في المثال، الدخل الوسيط أولًا (0.19) – وتُحلَّل الأخطاء؛ ويضيف Géron مطلبًا سيعرفه كل باحث اجتماعي: التأكد من أن النموذج يعمل لا في المتوسط فقط بل "على كل فئات المناطق، ريفية أو حضرية، غنية أو فقيرة، شمالية أو جنوبية، أقلية أو لا" – وإن فشل على فئة كاملة، فلا يُنشر لها، "لأنه قد يضر أكثر مما ينفع" (Chapter 2, "Analyzing the Best Models and Their Errors").
هـ. مجموعة الاختبار – مرة واحدة، ثم لا تُمَسّ. يُقاس النموذج النهائي على مجموعة الاختبار مع فترة الثقة، ثم: "عليكم مقاومة إغراء ضبط المَعلَمات الفائقة لتبدو الأرقام جيدة على مجموعة الاختبار؛ فمن غير المتوقع أن تُعمَّم التحسينات على بيانات جديدة" (Chapter 2, "Evaluate Your System on the Test Set"). والعرض – ما الذي تُعلِّم، وما الذي نجح وما الذي لم ينجح، وأيّ افتراضات، وما القيود؛ وفي المثال، بصراحة: النظام "ليس أفضل بكثير" من الخبراء الذين أخطأوا بـ30%. أما الخطوتان الأخيرتان – الإطلاق، والمراقبة وإعادة التدريب – فتخصّان الأنظمة الحية؛ ولا يبقى منهما للباحث إلا الملاحظة عن تعفّن النموذج: النموذج مرتبط ببيانات زمنه.
4. كيف نعرف أن النموذج جيد – باختصار
التفصيل الكامل – في مقاييس الأداء والتحقق؛ وهنا الأسطر الأربعة التي يستند إليها كل ما عداها. المقياس بحسب كلفة الخطأ: الدقة الكلية (accuracy) مضلِّلة في فئة نادرة – مصنِّف وهمي يقول "لا" عن كل شيء يحصل على 90% حين يكون عُشر المشاهدات إيجابيًا، "ويتفوق على نوستراداموس" (Géron, 2022, Chapter 3)؛ ويُبلَّغ عن مصفوفة الالتباس، وprecision والحساسية، والعتبة. بيانات لم يرها النموذج: خطأ التدريب ينخفض حتى الصفر مع التعقيد، "لكن النموذج الذي خطأ تدريبه صفر مفرط المواءمة لبيانات التدريب وسيعمّم عادةً على نحو سيئ" (Hastie et al., 2009, pp. 220-221) – ولذلك التدريب، والتحقق والاختبار، والتحقق المتقاطع الذي يعطي متوسطًا وانحرافًا معياريًا. التحيّز والتباين: خطأ التعميم = التحيّز² + التباين + الضجيج؛ التعقيد يخفض التحيّز ويرفع التباين – "ولذلك يُسمّى هذا مقايضة" (Géron, Chapter 4). التسرّب والحد: وجد كابور (Kapoor) وناراياانان (Narayanan) تسرّب بيانات في 294 مقالًا في 17 مجالًا، وفي التنبؤ بالحروب الأهلية، "حين صُحِّحت الأخطاء، لم تؤدِّ نماذج تعلّم الآلة المعقدة أداءً أفضل جوهريًا من نماذج LR التي يعود عمرها إلى عقود" (Kapoor & Narayanan, 2023, Section Summary)؛ وفوق كل ذلك يقف خطأ بايز – "الخطأ الذي لا مفر منه" لمنظومة السمات (Ishii et al., 2026, p. 101)، الحد الذي اصطدمت به المجموعات الـ160 لدى Salganik وزملائه عند R² = 0.2. النتيجة الأعلى بكثير من الخط المرجعي ومن الأدبيات علامة على التسرّب قبل أن تكون علامة على اختراق علمي.
5. النماذج: من الخط المستقيم إلى الغابة العشوائية
يختم Géron مشروع المثال بنصيحة مفادها أنه "من الأفضل على الأرجح أن تشعروا بالارتياح مع العملية الكلية وأن تعرفوا جيدًا ثلاث خوارزميات أو أربعًا، بدلًا من قضاء كل الوقت في استكشاف خوارزميات متقدمة" (Chapter 2, "Try It Out!"). يرتّب الجدول 1 العائلات التي تستحق المعرفة، وما يسبقه يشرح أهم ثلاث منها للباحث الاجتماعي – الانحدارات التي يعرفها أصلًا، والشجرة، والغابة.
الانحدارات – المعادلات نفسها، وإضافة واحدة. الانحدار الخطي واللوجستي لدى Géron (الفصل 4) هما تمامًا ما هما عليه في صفحة الانحدار اللوجستي في الموقع – مجموع موزون للسمات، وفي اللوجستي – الدالة اللوجستية له بوصفها احتمالًا، وعتبة (عادةً 50%) تحوّله إلى مصنِّف؛ والتوسيع إلى عدة فئات هو انحدار softmax. وما يضيفه الكتاب هو التنظيم (regularization): انحدار الحافّة (ridge؛ عقوبة على مجموع مربعات المعاملات – تُقلّصها)، واللاسو (lasso؛ عقوبة على مجموع قيمها المطلقة – تُصفّر بعضها، أي تختار سمات)، والشبكة المرنة (مزيج)، والإيقاف المبكر. ويصوغ Hastie وزملاؤه – وTibshirani هو مبتكر اللاسو – ما يفعله بدقة: حين تُقلَّص الميزانية لمجموع المعاملات، "ستكون بعض المعاملات صفرًا تمامًا. وهكذا يُجري اللاسو نوعًا من اختيار المجموعة الجزئية المتصل" (Hastie et al., 2009, p. 69). للباحثة المعتادة على الانحدار "كما هو": حين يكون الهدف التنبؤ، فإن نموذجًا بمعاملات مُقلَّصة و"خاطئة" يتنبأ أحيانًا أفضل من نموذج بالمعاملات غير المتحيزة – هذه هي مقايضة القسم 4 في التطبيق، والمعامل المقيَّد ليس معاملًا يمكن تفسيره بوصفه أثرًا.
شجرة القرار – صندوق أبيض. الشجرة (الفصل 6) سلسلة أسئلة: هل طول البتلة أقل من 2.45 سم؟ – إن كان كذلك، Iris setosa؛ وإن لم يكن، هل عرضها أقل من 1.75؟ – versicolor، وإلا virginica. تختار الخوارزمية (CART) في كل عقدة سمة واحدة وعتبة واحدة تقسمان المجموعة إلى مجموعتين فرعيتين هما الأنقى (موزونتين بحجمهما)، بمؤشر جيني افتراضيًا أو بالإنتروبيا – "في معظم الأحيان لا يُحدث ذلك فرقًا كبيرًا"، وجيني أسرع. واحتمال الفئة في الورقة هو نسبة المشاهدات من الفئة فيها (49 من 54 = 90.7%). المزايا: إعداد بيانات شبه معدوم، وبلا تغيير للمقياس، وقابلية التفسير – "قواعد تصنيف لطيفة وبسيطة يمكن حتى تطبيقها يدويًا" – ولذلك هي "نموذج صندوق أبيض"، مقابل الغابات والشبكات، التي تُعدّ "صندوقًا أسود": تتنبأ على نحو ممتاز، ويمكن فحص كل حساب أجرته، "ومع ذلك يصعب عادةً أن نشرح بكلمات بسيطة لماذا صدرت التنبؤات". العيوب: الشجرة نموذج لامعلمي – عدد المَعلَمات غير محدد مسبقًا، وستلتصق بالبيانات حتى فرط المواءمة إن لم تُقيَّد (العمق الأقصى – الإعداد الافتراضي: بلا حد – وعدد الأوراق، والحد الأدنى للمشاهدات في الورقة)؛ وهي تحب الحدود المتعامدة على المحاور، ولذلك فهي حساسة لتدوير البيانات؛ وقبل كل شيء – تباين مرتفع: تغيير صغير في البيانات أو في المَعلَمات الفائقة يعطي شجرة مختلفة جدًا، بل إن إعادة التدريب على البيانات نفسها تمامًا قد تعطي شجرة أخرى، لأن الخوارزمية تعاين عشوائيًا السمات التي تفحصها في كل عقدة (إلا إذا ثُبِّتت بذرة؛ الفصل 6، "Decision Trees Have a High Variance"). والإحصائيون يوافقون من الاتجاهين: "إحدى المشكلات الرئيسية للأشجار تباينها المرتفع. كثيرًا ما يؤدي تغيير صغير في البيانات إلى سلسلة انقسامات مختلفة جدًا، مما يجعل التفسير مهزوزًا بعض الشيء" – بسبب البنية الهرمية، ينتشر الخطأ في الانقسام العلوي إلى كل ما تحته (Hastie et al., 2009, p. 312)؛ ومع ذلك، "من بين كل طرق التعلّم المعروفة، أشجار القرار هي الأقرب إلى تلبية المتطلبات" لطريقة "جاهزة" للتنقيب في البيانات – سريعة، وقابلة للتفسير (حين تكون الشجرة صغيرة)، وتتعامل مع خليط من المتغيرات العددية والتصنيفية ومع القيم المفقودة، وغير مكترثة بالتحويلات الرتيبة وبالقيم المتطرفة في المتنبِّئات (ص 352). وفي الصفحة نفسها أيضًا الملاحظة التي يحتاجها الباحثون: تطبيقات التنقيب في البيانات "تتطلب عادةً نماذج قابلة للتفسير. لا يكفي أن تُنتج تنبؤات" – ولذلك فإن "أساليب الصندوق الأسود مثل الشبكات العصبية" أقل فائدة بكثير هناك (ص 351-352). من يُبلغ "وجدت الشجرة أن…" يُبلغ عن شجرة واحدة من بين أشجار كثيرة ممكنة.
الغابة العشوائية – حكمة الجموع، على حساب قابلية التفسير. حل مشكلة التباين هو أخذ المتوسط: "مجموعة" (ensemble) من المتنبِّئات (الفصل 7). وحدس Géron هو عملة منحازة تقع على "الصورة" باحتمال 51% – في رمية واحدة شبه عشوائية، لكن في 1,000 رمية يكون احتمال أغلبية "الصورة" نحو 75%، وفي 10,000 أكثر من 97%: قانون الأعداد الكبيرة – بشرط أن تكون المتنبِّئات كثيرة بما يكفي ومتنوعة بما يكفي. ويتحقق التنوع بطريقتين: التجميع بالبوتستراب (bagging, "bootstrap aggregating"; Breiman, 1996, as cited in Géron) – كل شجرة تُدرَّب على عيّنة بالإرجاع من مجموعة التدريب (في المتوسط نحو 63% من المشاهدات؛ والـ37% المتبقية، "خارج الكيس"، تُستخدم لتحقق مجاني – out-of-bag evaluation – بلا مجموعة تحقق منفصلة)؛ وفوق ذلك، في الغابة العشوائية، تختار الشجرة في كل عقدة أفضل انقسام من بين مجموعة فرعية عشوائية من السمات فقط (افتراضيًا جذر n من بين n) – "مما يبادل، مرة أخرى، تحيّزًا أعلى بتباين أدنى، ويُنتج عادةً نموذجًا أفضل إجمالًا" (Chapter 7, "Random Forests"). والمصدر الرسمي هو Breiman (2001b): تركيبة من أشجار تعتمد كل منها على متجه عشوائي مُعايَن على نحو مستقل، ويتقارب خطأ تعميمها إلى حدّ كلما زاد عدد الأشجار (الملخص) – أي أن إضافة الأشجار لا تُنتج فرط مواءمة. ويدقّق Hastie وزملاؤه هذا الادعاء: صحيح أن "زيادة B لا تجعل سلسلة الغابات العشوائية تفرط في المواءمة"، لكن الحد الذي تتقارب إليه "قد يفرط في مواءمة البيانات" – فمتوسط الأشجار الكاملة قد يكون نموذجًا أغنى من اللازم؛ ومن خبرتهم، فإن إنماء أشجار كاملة "نادرًا ما يكلّف كثيرًا" ويوفّر مَعلَمة ضبط (Hastie et al., 2009, p. 596). وتقييمهم العام، الذي يفسر لماذا الغابة هي الخط المرجعي في القسم 8: "في مشكلات كثيرة يكون أداء الغابات العشوائية مشابهًا جدًا لأداء التعزيز (boosting)، وهي أبسط في التدريب والضبط" (ص 587)؛ وتقدير الخطأ خارج الكيس "مطابق تقريبًا" للتحقق المتقاطع بـN طيّات (ص 593). وتقيس الغابة أيضًا أهمية السمات: كم تخفّض كل سمة الشوائب في المتوسط على كل العقد التي تستخدمها، موزونًا بعدد المشاهدات، ومجموعًا إلى 1 (في السوسن: طول البتلة 44%، وعرضها 42%، والسبلات 11% و2%). وما لا تعطيه الغابة هو الاتجاه: الأهمية ليست معاملًا، ولا تقول إن كانت السمة ترفع الاحتمال أو تخفضه. عائلة شقيقة: التعزيز (boosting) – "إحدى أقوى أفكار التعلّم التي قُدِّمت في السنوات العشرين الأخيرة" (Hastie et al., 2009, p. 337)؛ وقد سمّى Breiman خوارزمية AdaBoost مع الأشجار "أفضل مصنِّف جاهز في العالم" (كما ورد هناك، ص 340) – أشجار متتابعة، تصحح كل منها سابقتها (يعيد AdaBoost وزن المشاهدات التي صُنِّفت خطأً؛ وgradient boosting يواءم كل شجرة مع بواقي سابقتها؛ وتطبيق قائم على الفئات المجمَّعة للبيانات الكبيرة – أسرع بمئات المرات؛ وXGBoost وLightGBM وCatBoost خارج scikit-learn)؛ والتكديس (stacking) – نموذج يتعلم وزن تنبؤات النماذج الأخرى.
الصندوق الأبيض والأسود – ومتى يُمنع الأسود. تجادل سينثيا رودين (Rudin) بأن "من الخرافة أن هناك بالضرورة مقايضة بين الدقة وقابلية التفسير": الاعتقاد بأن النماذج الأعقد أدق "كثيرًا ما يكون غير صحيح، خصوصًا حين تكون البيانات منظَّمة، بتمثيل جيد من حيث سمات ذات معنى طبيعي" – وبيانات المسوح هي هذا بالضبط. والتفسيرات التي تُلبَس على الصندوق الأسود بأثر رجعي (نموذج ثانٍ يحاكي الأول) "لا بد أن تكون خاطئة": لو كانت أمينة تمامًا للنموذج الأصلي، لكان التفسير مساويًا للنموذج ولما كانت هناك حاجة إلى الأصل؛ ومثالها COMPAS – نموذج مملوك للتنبؤ بالعودة إلى الإجرام في محاكم الولايات المتحدة، اتهمته ProPublica بالتحيّز العنصري استنادًا إلى نموذج تفسير خطي بنته له، في حين أن النموذج نفسه على الأرجح غير خطي (Rudin, 2019, Section 2). واستنتاجها: للقرارات عالية المخاطر بشأن البشر – القضاء، والصحة، والرعاية الاجتماعية – يجب بناء نماذج قابلة للتفسير من البداية، لا تفسير صناديق سوداء. للباحثة: على بيانات مسح من بضع مئات من المشاركين، سيتنبأ الانحدار اللوجستي المقيَّد أو الشجرة الضحلة في الغالب كالغابة – وسيقولان أيضًا لماذا. وتُشغَّل الغابة خطًا مرجعيًا: إن كانت أفضل بكثير، ففي البيانات لاخطية أو تفاعلات يفوّتها النموذج القابل للتفسير – وهذا ما يُبلَّغ عنه.
جدول 1. عائلات النماذج – ماذا تفعل، ومتى، وما الذي يُضبط
| النموذج | الفصل: Géron · ESL · Bishop | ما الذي تفعله | المَعلَمات الفائقة الرئيسية | للباحث الاجتماعي |
|---|---|---|---|---|
| الانحدار الخطي؛ متعدد الحدود | 4 · 3 · 3 | مجموع موزون للسمات؛ متعدد الحدود – مع قواها وحواصل ضربها. | درجة كثير الحدود؛ التنظيم (الحافّة، اللاسو، الشبكة المرنة). | النموذج نفسه الذي في مقرر الإحصاء. الخط المرجعي لكل انحدار. |
| الانحدار اللوجستي؛ softmax | 4 · 4 · 4 | احتمال لكل فئة؛ وعتبة حاسمة. softmax – لعدة فئات. | قوة التنظيم؛ العتبة. | صفحة الانحدار اللوجستي – في الثقافة التفسيرية. الخط المرجعي لكل تصنيف؛ نموذج صندوق أبيض. |
| أقرب الجيران (k-NN) | 1 · 13 · 2 | قائم على الحالات: التنبؤ بحسب المشاهدات الـk الأكثر تشابهًا. | k؛ مقياس المسافة. | سهل الشرح، حساس للمقياس؛ لا يوجد "نموذج" للإبلاغ عنه. |
| آلة المتجهات الداعمة (SVM) | 5 · 12 · 7 | حد فاصل بأوسع هامش؛ ونوى (kernels) للاخطية. | C؛ نوع النواة ومَعلَماتها. | قوية على العيّنات الصغيرة-المتوسطة؛ تتطلب التقييس؛ قابلية تفسير محدودة. |
| شجرة القرار | 6 · 9 · 14 | انقسامات ثنائية على سمة وعتبة؛ الاحتمال = النسبة في الورقة. | العمق الأقصى؛ الحد الأدنى للمشاهدات في الورقة؛ عدد الأوراق. | صندوق أبيض؛ بلا إعداد للبيانات؛ تباين مرتفع – لا يُبلَّغ عن شجرة واحدة بوصفها نتيجة. |
| الغابة العشوائية؛ الأشجار شديدة العشوائية | 7 · 15 · – | تجميع بالبوتستراب للأشجار + مجموعة فرعية عشوائية من السمات في كل عقدة؛ متوسط أو أغلبية. | عدد الأشجار؛ السمات لكل عقدة؛ العمق / الأوراق. | الخط المرجعي القوي للبيانات الجدولية؛ أهمية سمات بلا اتجاه؛ صندوق أسود. |
| التعزيز (AdaBoost, gradient boosting) | 7 · 10 · 14 | أشجار متتابعة، تصحح كل منها سابقتها. | عدد الأشجار؛ معدل التعلّم؛ العمق. | غالبًا الأفضل في المسابقات على الجداول؛ يميل إلى فرط المواءمة بلا إيقاف مبكر. |
| العناقيد: k-المتوسطات؛ DBSCAN؛ الخلائط الغاوسية | 9 · 14 · 9 | مجموعات بلا تسميات: بحسب المراكز، أو بحسب الكثافة، أو بحسب التوزيعات. | k (أو عتبة كثافة)؛ التقييس قبل ذلك. | k قرار: القصور الذاتي (inertia) ينخفض دائمًا مع k؛ "المرفق" أو درجة الظل (silhouette). تنسب k-المتوسطات كل مشاهدة إلى عنقود واحد نسبةً "صلبة"؛ أما الخليط الغاوسي فيعطي نسبة "مرنة" – احتمالًا لكل عنقود – تعكس عدم اليقين في الحالات البينية (Bishop, 2006, p. 428). |
| تقليص الأبعاد (PCA) | 8 · 14 · 12 | المكونات الرئيسية – محاور جديدة تحافظ على أقصى قدر من التباين. | عدد المكونات / نسبة التباين. | قريب للتحليل العاملي؛ لتقليص السمات قبل نموذج آخر. |
| الشبكة العصبية (MLP) | 10-11 · 11 · 5 | طبقات من الوحدات؛ تتعلم تمثيلات؛ القسم 6. | عدد الطبقات والوحدات؛ معدل التعلّم؛ الدفعة؛ التنظيم. | للنص والصورة والصوت – عبر نموذج مدرَّب مسبقًا. لا لجدول من 500 مشارك. |
ملاحظة. الفصول – Géron (2022)، وHastie et al. (2009) (ESL) وBishop (2006)؛ الغابات العشوائية لا تُناقش لدى Bishop. كل النماذج في الجدول مُنفَّذة في scikit-learn (الجدول 2)، وعلى وجه الخصوص كلها عبر الواجهة نفسها: fit()، predict()، score().
6. الشبكات العصبية – متى نعم ومتى لا
الشبكة العصبية الاصطناعية (الفصل 10) استلهمت الدماغ، لكن "كما استلهمت الطائرات الطيور، فهي لا تحتاج إلى تحريك أجنحتها لتطير"؛ والنموذج الأول هو نموذج ماكولوك وبيتس (1943)، وبعده "شتاءان" – سنوات الـ60 وسنوات الـ90، حين بدت آلات المتجهات الداعمة أكثر وعدًا. والموجة الحالية مختلفة، بحسب Géron، لأربعة أسباب: كمية البيانات، وقدرة الحوسبة (قانون مور، وبطاقات GPU التي أنتجتها صناعة الألعاب بالملايين، والسحابة)، وتحسينات صغيرة لكنها حاسمة في خوارزميات التدريب، وتبيُّن أن القيود النظرية – كالقيم المثلى المحلية – غير ضارة في الممارسة. وما هي الشبكة من الناحية الإحصائية: "كان هناك ضجيج إعلامي كبير حول الشبكات العصبية، جعلها تبدو سحرية وغامضة. وكما نوضح في هذا القسم، فهي ببساطة نماذج إحصائية غير خطية" – نموذج انحدار أو تصنيف على مرحلتين (Hastie et al., 2009, p. 392). والبنية الأساسية، البيرسبترون متعدد الطبقات، هي طبقة مدخلات، وطبقة مخفية واحدة أو أكثر، وطبقة مخرجات – ويلاحظ Bishop أن الاسم "تسمية خاطئة في الواقع، لأن النموذج يتكون من طبقات عديدة من نماذج الانحدار اللوجستي" (مع لاخطية متصلة) لا من بيرسبترونات (Bishop, 2006, p. 226): بالنسبة إلى الباحثة التي تعرف الانحدار اللوجستي، الشبكة هي انحدارات لوجستية يغذّي بعضها بعضًا؛ و"العميقة" شبكة ذات كومة عميقة من الطبقات المخفية، وإن كان "كثيرون يتحدثون عن التعلّم العميق كلما كانت هناك شبكات عصبية (حتى الضحلة منها)". والتدريب – الانتشار العكسي (backpropagation): اشتقاق آلي في الوضع العكسي (لينايما، 1970) يحسب في مرورين – أمامي وخلفي – كيف يُغيَّر كل وزن لتقليل الخطأ، ثم خطوة انحدار تدرّجي؛ وهكذا دواليك. طبقة مخفية واحدة تستطيع، نظريًا، نمذجة أي دالة إذا توافرت وحدات كافية، لكن الشبكات العميقة أوفر في المَعلَمات بمراتب عديدة، لأنها تستغل الهرمية في البيانات – خطوط، ثم أشكال، ثم وجوه – وهذا أيضًا ما يتيح نقل التعلّم (transfer learning): أخذ الطبقات السفلى لشبكة مدرَّبة وتدريب العليا فقط لمهمة جديدة. "نادرًا ما ستحتاجون إلى تدريب شبكات كهذه من الصفر" (Chapter 10, "Number of Hidden Layers").
ومتى لا. التحذير موجود منذ مقدمة الكتاب: "لا تقفزوا إلى المياه العميقة على عجل… معظم المشكلات يمكن حلها جيدًا بتقنيات أبسط مثل الغابات العشوائية وأساليب المجموعات… التعلّم العميق أنسب ما يكون للمشكلات المعقدة مثل التعرّف على الصور، والتعرّف على الكلام أو معالجة اللغة الطبيعية، ويتطلب الكثير من البيانات وقدرة الحوسبة والصبر (إلا إذا أمكن الاستعانة بشبكة عصبية مدرَّبة مسبقًا)" (Géron، 2022، المقدمة، "Roadmap"). والاستنتاج للباحث الاجتماعي حاد: على جدول مسح – لا؛ وعلى النصوص المفرغة، والمنشورات، والصور والتسجيلات – نعم، لكن دائمًا تقريبًا عبر نموذج مدرَّب مسبقًا درّبه شخص آخر على ملايين الأمثلة، ويُضبط أو يُشغَّل ببساطة: DictaBERT وHeBERT وBEREL في صفحة NLP هي بالضبط شبكات كهذه، والتوجيه هناك – عيّنة يدوية من 100-200 فقرة واتفاق بين المرمِّزين قبل الاعتماد على المخرجات – هو القسم 4 من هذه الصفحة بكلمات أخرى. وأداة كتابة الشبكات هي Keras (الجدول 2) – "واجهة عالية المستوى، جميلة التصميم وبسيطة" فوق TensorFlow، وستلبي معظم الحاجات.
7. الأدوات
الكتاب كله يعمل بـPython، وجزؤه الأول بـscikit-learn – مكتبة يمتدح Géron تصميم واجهة API فيها: كل كائن هو مقدِّر (estimator) مع fit()، وبعضها محوِّلات مع transform() وبعضها متنبِّئات مع predict()؛ والمَعلَمات الفائقة ظاهرة، والمَعلَمات المتعلَّمة متاحة (مع شرطة سفلية في آخرها)، والبيانات مصفوفات NumPy لا أصناف خاصة، ويمكن ربط كل شيء في سلسلة معالجة (Pipeline) – وهي أيضًا الآلية التي تمنع التسرّب الموصوف في القسم 4، لأن السلسلة كلها تُواءَم على التدريب وتُطبَّق على الباقي (Chapter 2, "Scikit-Learn Design", "Transformation Pipelines"). يرتّب الجدول 2 الأدوات بحسب الحاجة؛ ومن لا يكتب الشيفرة سيجد فيه ثلاث أدوات رسومية – اثنتان مفتوحتا المصدر وواحدة مدفوعة، خُصِّص لها القسم 10. وبقية الأدوات الإحصائية – R، وPSPP، وJASP، وjamovi – في خريطة الأدوات، القسم 8.
جدول 2. أدوات تعلّم الآلة – مكتبات، وبيئات ومستودعات
| الأداة | ما الذي تفعله | الترخيص | اللغة / الواجهة | ملاحظات |
|---|---|---|---|---|
| scikit-learn | مكتبة تعلّم الآلة الكلاسيكية: كل نماذج الجدول 1 (باستثناء الشبكات العميقة)، والتقسيم والتحقق المتقاطع، وسلاسل المعالجة، ومقاييس الأداء، والبحث عن المَعلَمات الفائقة. | مفتوح المصدر | Python | الإصدار 1.9.1 (سبتمبر 2026)، BSD. Pedregosa et al. (2011). تُطوَّر في Inria. الجزء أ من الكتاب كله يعمل بها؛ نقطة الدخول. |
| pandas · NumPy · Matplotlib | الجداول والمصفوفات (المدخلات لكل ما عداها) والرسوم البيانية. المتطلبات المسبقة للكتاب. | مفتوح المصدر | Python | pandas 3.0, NumPy 2.5, Matplotlib 3.11 (2026)، BSD. يحيل الكتاب إلى أدلة قصيرة للثلاث (homl.info/tutorials). ملف إكسل بقالب الموقع يُحمَّل إلى pandas في سطر واحد. |
| Jupyter · Google Colab | دفاتر: شيفرة ومخرجات ونص في وثيقة واحدة – سجل البحث للمشروع. يشغّلها Colab في المتصفح، بلا تثبيت، بحساب Google. | مجاني (Colab مغلق) | متصفح / تثبيت | JupyterLab 4.6 – مفتوح المصدر؛ والكتاب يفترض العمل في Colab. تحذير: في Colab تُرسَل البيانات إلى خوادم Google – انظروا "أين بياناتكم؟" في القسم 8. |
| دفاتر الكتاب (handson-ml3) | كل شيفرة Géron (2022) على شكل دفاتر Jupyter، فصلًا فصلًا، مع حلول التمارين؛ تُفتح مباشرة في Colab. | مفتوح المصدر | Python | ترخيص Apache-2.0. تُحقق منه بصورة غير مباشرة (صفحة المستودع ورابط Colab؛ واجهة API في GitHub محجوبة عن الفحص الآلي). الطريقة الصحيحة لقراءة الكتاب – والدفتر مفتوح. |
| Keras · TensorFlow | الشبكات العصبية: Keras – واجهة API عالية المستوى؛ وTensorFlow – محرك الحوسبة من Google. الجزء ب من الكتاب. | مفتوح المصدر | Python | Keras 3.15, TensorFlow 2.21 (2026)، Apache 2.0. يعمل Keras 3 أيضًا فوق JAX وفوق PyTorch – ثلاثة محركات، وواجهة واحدة. |
| PyTorch | إطار التعلّم العميق الثاني؛ وهو الذي يقف خلف معظم نماذج Hugging Face في صفحة NLP. | مفتوح المصدر | Python | الإصدار 2.14 (2026)، ترخيص BSD. لا يُناقش في الكتاب، لكن المبادئ متطابقة. |
| XGBoost · LightGBM | تطبيقات محسَّنة لـgradient boosting، مع واجهة API شبيهة بـscikit-learn ودعم لـGPU. | مفتوح المصدر | Python / R | XGBoost 3.4 (Apache-2.0), LightGBM 4.7 (MIT)، 2026. Géron: "تستحق الفحص بالتأكيد" (الفصل 7)؛ وCatBoost أيضًا ينتمي إلى العائلة. |
| SHAP | تفسيرات بأثر رجعي للصناديق السوداء: إسهام كل سمة في كل تنبؤ (قيم شابلي). | مفتوح المصدر | Python | الإصدار 0.52 (2026)، MIT. لتفسير غابة أو تعزيز – مع تحفّظ Rudin (2019): تفسير الصندوق الأسود ليس هو النموذج. |
| imbalanced-learn | الإفراط في المعاينة والتقليل منها للفئات النادرة (SMOTE et al.)، متوافق مع scikit-learn. | مفتوح المصدر | Python | الإصدار 0.14 (2026). داخل سلسلة معالجة فقط، بعد التقسيم – الإفراط في المعاينة قبل التقسيم تسرّب L1.2 (Kapoor & Narayanan, 2023). |
| tidymodels · ranger | في R: tidymodels – إطار موحَّد للتقسيم، والوصفات، والنماذج، والضبط والمقاييس؛ وranger – غابة عشوائية سريعة. | مفتوح المصدر | R | tidymodels 1.5 (MIT), ranger 0.18 (GPL-3)، 2026. الحزمة الكلاسيكية randomForest (4.7-1.2, 2024) والقديمة caret (7.0-1, 2024) – لا تزالان متاحتين في CRAN. |
| JASP – وحدة تعلّم الآلة | بواجهة رسومية، بلا شيفرة: الانحدار والتصنيف (التعزيز، والشجرة، وأقرب الجيران، والشبكة العصبية، والغابة العشوائية، والانحدار المقيَّد، وSVM) والعناقيد (k-المتوسطات، والهرمي، وبحسب الكثافة، وبحسب النموذج). | مفتوح المصدر | برنامج للتثبيت | قائمة التحليلات تُحقق منها مقابل مستودع شيفرة الوحدة (jaspMachineLearning)؛ وصفحة الوحدة في الموقع محجوبة عن الفحص الآلي. أقصر طريق من SPSS إلى الغابة العشوائية. |
| IBM SPSS Modeler | التنقيب في البيانات بلا شيفرة: "تدفق" من العقد على لوحة – المصدر، وType، وPartition، وعقد النماذج (الانحدار اللوجستي، والأشجار، والشبكة العصبية، والغابة العشوائية، وXGBoost) وAnalysis للمقارنة. | مدفوع | برنامج للتثبيت | الإصدار 19.0؛ قائمة العقد تُحقق منها مقابل دليل Modeling Nodes من IBM لهذا الإصدار ومقابل أدلة 18.0 (IBM Corporation, 2016a, 2016b) (عقد الغابة وXGBoost هي "عقد Python" – تتطلب امتداد Python). "ليس مجانيًا ومكلف نسبيًا للمؤسسات، وإن كانت IBM تقدم نسخة مجانية للاستخدام التعليمي"؛ وفي النفَس نفسه: الواجهة "مربكة، وتصعّب مقارنة النماذج" (Truong, 2026, p. 55). الكتب الدراسية – Truong، وفي الأوساط الأكاديمية Wendler وGröttrup (2021، Springer، للإصدار 18.2)؛ القسم 10. |
| Orange | تعلّم الآلة بالبرمجة المرئية – توصيل الصناديق؛ وأيضًا التنقيب في النصوص. | مفتوح المصدر | برنامج للتثبيت | انظروا خريطة الأدوات، الجدول 8. لتعلّم المفاهيم دون سطر شيفرة. |
| UCI ML Repository · OpenML | مستودعات بيانات مفتوحة للتدريب ولمقارنة الأساليب؛ OpenML – مع نتائج مُبلَّغ عنها للنماذج. | مجاني | متصفح / API | المستودعان في قائمة Géron (Chapter 2, "Working with Real Data")، إلى جانب Kaggle. للتدرّب على بيانات حقيقية، لا مصطنعة. |
| Kaggle | مسابقات، ومجموعات بيانات ودفاتر عامة؛ يشغّل الدفاتر في السحابة. | مجاني (مغلق) | متصفح | مملوك لـGoogle، بحساب مجاني. مفيد لرؤية كيف حلّ آخرون مشكلة مشابهة؛ ونتائج المسابقات ليست نتائج بحثية. |
ملاحظة. الإصدارات والتراخيص فُحصت في سبتمبر 2026 (PyPI، وCRAN، ومواقع الأدوات). "مغلق" – خدمة مجانية ليست مفتوحة المصدر. R، وPSPP، وjamovi وstatsmodels – في خريطة الأدوات، الجدول 8.
8. وصفة عمل: تعلّم الآلة في البحث الاجتماعي
الحالة النموذجية: مسح لبضع مئات من المشاركين مع نتيجة ثنائية (التسرّب، أو التصويت، أو طلب المساعدة)، أو ملف إداري لآلاف. السؤال: هل يمكن التنبؤ بالنتيجة من متغيرات الخلفية – وإلى أي حد، مقارنةً بما هو معروف أصلًا. سبع خطوات، وكل منها موثَّقة؛ والملف – بالقالب القياسي للموقع، صف = مشارك، عمود = متغير، ومن SPSS – عبر من SPSS إلى إكسل.
| # | الخطوة | ما يُفعل – وما يُوثَّق |
|---|---|---|
| 1 | الهدف، والمقياس، والخط المرجعي | التفسير أم التنبؤ؟ (القسم 1). إن كان التنبؤ: أيّ مشاهدة "جديدة" – مشارك آخر من المجتمع نفسه، أم المشاركون أنفسهم في المستقبل (هذا يحدد التقسيم في الخطوة 2). المقياس – بحسب كلفة الخطأ، لا بحسب العادة (مقاييس الأداء والتحقق، الجدول 1 هناك). الخط المرجعي: المصنِّف الوهمي (الفئة الأكثر تكرارًا) والانحدار اللوجستي على المتغيرات التي تعرفها النظرية أصلًا – مثل المتغيرات الأربعة لدى Salganik et al. (2020)؛ وللتصنيف أيضًا الجار الأقرب، الذي "يمكن اليوم أن يُستخدم على الأقل خطًا مرجعيًا لأساليب تصنيف مختلفة" (Ishii et al., 2026, p. 11). يُوثَّق: الثلاثة، قبل لمس البيانات. |
| 2 | التقسيم – أولًا | 20% للاختبار، طبقيًا بحسب النتيجة (وفي الفئة النادرة – إلزاميًا)، مع بذرة ثابتة. القياسات المتكررة أو اللوحة (panel) – التقسيم بحسب المشارك، لا بحسب الصف (تسرّب L3.2). التنبؤ إلى الأمام في الزمن – الاختبار متأخر عن التدريب (L3.1). يُوثَّق: طريقة التقسيم، والبذرة، وأحجام المجموعات. |
| 3 | الإعداد في سلسلة معالجة | تعويض القيم المفقودة، وترميز الفئات، والتقييس – بوصفها مراحل في سلسلة معالجة تُواءَم على التدريب فقط. المتغير الذي هو الهدف متنكرًا (العلاج الذي أُعطي للمشكلة التي يُتنبَّأ بها) – يُستبعد (L2). اختيار السمات – داخل السلسلة، لا على كل البيانات (L1.3). يُوثَّق: مراحل السلسلة، بالترتيب. |
| 4 | مقارنة النماذج بالتحقق المتقاطع | الخطوط المرجعية من الخطوة 1، وشجرة محدودة العمق، وغابة عشوائية، وتعزيز – بالإعدادات الافتراضية، بـ5 أو 10 طيّات، والطيّات نفسها للجميع. يُبلَّغ عن متوسط المقياس وانحرافه المعياري. يُوثَّق: الجدول الكامل، بما فيه ما فشل. |
| 5 | الضبط – للمرشَّحين فقط | بحث عشوائي داخل التحقق المتقاطع، على أفضل 2-3 نماذج. إن لم تكن الغابة أفضل من الانحدار بفارق يتجاوز الانحرافات المعيارية – يؤخذ الانحدار (صندوق أبيض، Rudin، 2019). يُوثَّق: فضاء البحث والقيم المختارة. |
| 6 | مجموعة الاختبار – مرة واحدة | النموذج النهائي، المدرَّب على كل بيانات التدريب، يُقاس على الاختبار: المقياس وفترة الثقة، ومصفوفة الالتباس، وبحسب المجموعات الفرعية (الجنس، والعمر، والقطاع). كل ما يحدث بعد هذا القياس بحث جديد. يُوثَّق: الرقم، والفجوة عن التحقق المتقاطع. |
| 7 | الإبلاغ | المقياس على الاختبار مقابل الخط المرجعي (الرقم المهم هو الفرق)، والعتبة المختارة، وأهمية السمات (بلا اتجاه!) أو المعاملات، والقيود – وما لا يقوله النموذج: التنبؤ ليس سببًا (Shmueli, 2010). يُرفق الدفتر. والاتفاق بين النموذج والترميز البشري، حين يوجد – في صفحة الثبات بين المرمِّزين. |
9. وكيف يُنفَّذ ذلك في R
وصفة القسم 8، بوصفها نصًا برمجيًا واحدًا يعمل من البداية إلى النهاية على ملف المثال في الصفحة – DATA_ml_example_eng.xlsx (ونسخة بأسماء عبرية، DATA_ml_example_heb.xlsx): 320 تلميذًا في ثماني مدارس، وسبعة متغيرات خلفية ونتيجة ثنائية – التسرّب (11.6%) – مع قيم مفقودة في متغيرين، بالقالب القياسي للموقع. واختيارات الأدوات تتبع كتاب Gutierrez الإرشادي، المكتوب حول السؤال نفسه – كيف يبدو مشروع تعلّم آلة في R، من قراءة الملف حتى تقييم النموذج: glm مع family = binomial للانحدار اللوجستي، وrandomForest مع ntree وmtry، وimportance() لأهمية السمات (Gutierrez, 2015, Chapter 6, "Logistic Regression", "Random Forests")؛ والتقسيم إلى تدريب وتحقق واختبار – "60% تدريب، و20% تحقق متقاطع و20% اختبار" بصياغته – ومجموعة الاختبار "تُترك وحدها تمامًا، لأنها لا تُستخدم أبدًا في العملية" لاختيار النموذج (Gutierrez, 2015, Chapter 7, "Bias and Variance", "Cross Validation")؛ وللتنظيم – glmnet، حيث alpha = 0 يعطي الحافّة وalpha = 1 اللاسو، وlambda يتحكم في القوة (Chapter 7, "Overfitting"). وما يضيفه النص البرمجي على الكتاب هو حزمة caret (Kuhn، 2008): التقسيم الطبقي، والتحقق المتقاطع، والضبط والإعداد داخل الطيّات – تعويض القيم المفقودة والتقييس في preProcess، اللذان يُواءَمان على طيّة التدريب فقط – بواجهة واحدة لكل النماذج، وبذلك يستحيل التسرّب عن طريق الخطأ (مقاييس الأداء والتحقق، القسم 5). والمسار C:\Rdata\ – هو الاصطلاح نفسه المتبع في أقسام R في صفحات الحاسبات.
# machine_learning.R - machine learning in social research: the seven-step recipe in R
# Data: DATA_ml_example_eng.xlsx - 320 students in 8 schools; outcome dropout (0/1).
library(readxl) # read Excel
library(caret) # split, cross-validation, tuning, confusion matrix
library(randomForest) # random forest
library(pROC) # ROC curve and AUC confidence interval
d <- read_excel("C:/Rdata/DATA_ml_example_eng.xlsx")
d$dropout <- factor(d$dropout, levels = c(0, 1), labels = c("no", "yes"))
d$gender <- factor(d$gender, levels = c(1, 2), labels = c("male", "female"))
d$id <- NULL # the id column is not a variable
# --- Step 1: goal, metric, baseline ------------------------------------------
# Metric: AUC (no threshold) and sensitivity at the chosen threshold. First baseline - the dummy classifier:
prop.table(table(d$dropout)) # majority-class rate = accuracy of "always no"
# --- Step 2: the split - first, stratified by outcome, fixed seed -----------
set.seed(20260920)
idx <- createDataPartition(d$dropout, p = 0.8, list = FALSE)
train <- d[idx, ]
test <- d[-idx, ] # test set - untouched until step 6
# --- Step 3: preparation inside the pipeline - imputation and scaling within folds ---
ctrl <- trainControl(method = "cv", number = 10, classProbs = TRUE,
summaryFunction = twoClassSummary, savePredictions = "final")
prep <- c("medianImpute", "center", "scale") # caret fits these on the training fold only (na.action = na.pass: NAs imputed in the pipeline)
# --- Step 4: compare models by cross-validation - same folds for all ---------
set.seed(1)
m_base <- train(dropout ~ age + gender + ses, data = train, method = "glm",
family = binomial, metric = "ROC", trControl = ctrl) # baseline: background variables
set.seed(1)
m_glm <- train(dropout ~ . - school_id, data = train, method = "glm",
family = binomial, metric = "ROC", trControl = ctrl, preProcess = prep, na.action = na.pass)
set.seed(1)
m_tree <- train(dropout ~ . - school_id, data = train, method = "rpart",
metric = "ROC", trControl = ctrl, preProcess = prep, na.action = na.pass)
set.seed(1)
m_rf <- train(dropout ~ . - school_id, data = train, method = "rf",
metric = "ROC", trControl = ctrl, preProcess = prep, ntree = 500, na.action = na.pass)
res <- resamples(list(baseline = m_base, logistic = m_glm, tree = m_tree, forest = m_rf))
t(sapply(res$values[, grep("~ROC$", names(res$values))],
function(x) c(mean = mean(x), sd = sd(x)))) # mean and SD of AUC over the 10 folds
# --- Step 5: tuning - candidates only ----------------------------------------
set.seed(1)
m_rf_t <- train(dropout ~ . - school_id, data = train, method = "rf",
metric = "ROC", trControl = ctrl, preProcess = prep, ntree = 500, na.action = na.pass,
tuneGrid = data.frame(mtry = c(2, 3, 4, 6)))
m_rf_t$results[, c("mtry", "ROC", "ROCSD")]
# --- Step 6: the test set - once -----------------------------------------------
final <- if (max(m_rf_t$results$ROC) - max(m_glm$results$ROC) > m_glm$results$ROCSD) m_rf_t else m_glm
# threshold chosen on the training set's cross-validated predictions (savePredictions) - not on the test set
roc_cv <- roc(final$pred$obs, final$pred$yes, levels = c("no", "yes"), direction = "<")
thr <- coords(roc_cv, "best", best.method = "youden", ret = "threshold")$threshold
thr # the threshold to apply to the test set
p_test <- predict(final, test, type = "prob", na.action = na.pass)[, "yes"]
roc_t <- roc(test$dropout, p_test, levels = c("no", "yes"), direction = "<")
auc(roc_t); ci.auc(roc_t) # AUC and 95% CI on the test set
pred_t <- factor(ifelse(p_test >= thr, "yes", "no"), levels = c("no", "yes"))
confusionMatrix(pred_t, test$dropout, positive = "yes", mode = "everything") # at the chosen threshold
confusionMatrix(predict(final, test, na.action = na.pass), test$dropout, positive = "yes")$byClass[c("Sensitivity", "Specificity")] # and at 0.5, for comparison
# --- Step 7: report - plus feature importance (no direction) ----------------
varImp(final)
# --- Dependent data: folds by school instead of by student -----------------
folds_g <- groupKFold(train$school_id, k = 5)
ctrl_g <- trainControl(method = "cv", index = folds_g, classProbs = TRUE,
summaryFunction = twoClassSummary)
set.seed(1)
m_rf_g <- train(dropout ~ . - school_id, data = train, method = "rf",
metric = "ROC", trControl = ctrl_g, preProcess = prep, ntree = 500, na.action = na.pass)
m_rf_g$results[, c("mtry", "ROC", "ROCSD")] # compare with m_rf: the gap is what the dependence "contributed"
ما الذي خرج (R 4.3.3، caret 6.0-94، randomForest 4.7-1.1، pROC 1.18.5؛ المخرجات كاملة – qa/ml/ml_out.txt). المصنِّف الوهمي: دقة كلية 88.4% – هذا هو خط الأرضية. في التحقق المتقاطع بعشر طيّات، متوسط AUC: الخط المرجعي (العمر، والجنس، والطبقة الاجتماعية) .59 (انحراف معياري .21)، والانحدار اللوجستي على كل المتغيرات .66 (.22)، والشجرة .64 (.14)، والغابة العشوائية .64 (.21)؛ وضبط الغابة (mtry 2-6) بلغ على الأكثر .65. واختارت قاعدة الخطوة 5 الانحدار اللوجستي: لم تتجاوزه الغابة بفارق يفوق الانحراف المعياري – و"الغابة ليست أفضل من الانحدار" نتيجة، لا فشل. وعلى مجموعة الاختبار (63 تلميذًا، 7 متسربين): AUC = .74، فترة ثقة 95% [.50, .97] – واسعة، لأن سبع حالات إيجابية هي سبع فقط. والعتبة: عند العتبة 0.5 لا يتعرف النموذج على أي متسرب (الحساسية 0، والنوعية 1 – "يتفوق على نوستراداموس")؛ والعتبة المختارة على تنبؤات التحقق المتقاطع لمجموعة التدريب، لا على الاختبار، هي .12 – وعندها الحساسية .71، والنوعية .73، وprecision .25: يلتقط النموذج خمسة من المتسربين السبعة مقابل 15 إنذارًا كاذبًا. أهمية السمات – الدرجات، والطبقة الاجتماعية، والغياب – بلا اتجاه. وأخيرًا التقسيم بحسب المدرسة بدل التلميذ: ينخفض AUC للغابة من .64 إلى .60 – وهذه الفجوة الصغيرة هي ما "أسهم" به الاعتماد بين تلاميذ المدرسة نفسها في الرقم الأول (مقاييس الأداء والتحقق، القسم 6). البيانات مصطنعة، وهذا بالضبط بيت القصيد: هكذا يبدو مشروع حقيقي على 320 مشاركًا – لا AUC = .95.
10. وكيف يُنفَّذ ذلك في SPSS Modeler
لمن يعيش بحثها في SPSS، الطريق القصير إلى تعلّم الآلة ليس Python بل البرنامج الشقيق: SPSS Modeler، حيث "ينطوي التنقيب في البيانات على تمرير البيانات عبر سلسلة من العقد، تُسمّى 'تدفقًا'. كل عقدة تمثل عملية معيّنة تُطبَّق على البيانات، والوصلات بين العقد تحدد تدفق البيانات" (Truong, 2026, p. 56). يتبع هذا القسم الكتاب الدراسي لـTruong ويترجم خطوات الوصفة السبع في القسم 8 – والنص البرمجي لـR في القسم 9 – إلى عقد. تحفّظ واحد، خلافًا للقسم 9: Modeler غير مثبَّت في بيئة الفحص في الموقع، ولذلك فما هو مكتوب هنا وصف بحسب الكتاب، لا تشغيل؛ ومن تشغّله – توثّق التدفق (ملف str) كما يُرفق الدفتر.
العملية. Modeler مبني حول CRISP-DM – "معيار عابر للقطاعات لعملية التنقيب في البيانات"، من ست مراحل: فهم الأعمال، وفهم البيانات، وإعداد البيانات، والنمذجة، والتقييم، والنشر؛ "وهو أكثر شيوعًا في الصناعة منه في الأوساط الأكاديمية، وقد تبنّته IBM وطبّقته في البرنامج" (ص 32). وفي دليل المستخدم للإصدار 19.0: "فهم الأعمال. ربما تكون هذه أهم مرحلة في التنقيب في البيانات" (IBM Corporation, 2025, p. 23)، والتدفق – "سلسلة من العقد… تمثّل عمليات ستُجرى على البيانات، بينما تشير الروابط بين العقد إلى اتجاه تدفق البيانات" (ص 31). بالنسبة إلى الباحثة، "فهم الأعمال" هو الخطوة 1 في القسم 8 – الهدف، والمقياس، والخط المرجعي – ويُنجَز قبل فتح البرنامج.
التدفق، عقدةً عقدة. Statistics File – يقرأ ملف sav مباشرة (ولملف إكسل بقالب الموقع – عقدة Excel). Type – "لعرض مستويات القياس وأدوار الحقول وتغييرها": هنا يُوسَم الهدف (Target)، والمتنبِّئات (Input)، وما لن يدخل النموذج – معرِّف المشارك، والمتغير الذي هو الهدف متنكرًا – بوصفه None؛ هذه هي الخطوة 3 في القسم 8، وهذا هو المكان الذي يُمنع فيه تسرّب L2 أو يدخل. Partition – "التدريب، والاختبار والتحقق" بالنسب التي تُدخَل (ص 87-88)، وبلغة توثيق IBM: "تدريب النموذج في عيّنة واحدة، واختبار النموذج وتحسينه في عيّنة ثانية، والتحقق من النتائج في ثالثة" (IBM Corporation, 2016b, p. 157)؛ انتبهوا إلى الأسماء: في Modeler "الاختبار" هو المجموعة الثانية، لمقارنة النماذج، و"التحقق" – الثالثة، للقياس النهائي، عكس اصطلاح Géron واصطلاح هذه الصفحة (مقاييس الأداء والتحقق، القسم 2؛ الجدول 3.8 لدى Truong، ص 85). ولعيّنة من مئات، توصية Truong نفسه هي مجموعتان فقط، 60-40 (ص 87) – والتحقق المتقاطع، وهو قلب القسم 9، ليس الإعداد الافتراضي في Modeler: لدى Truong يُوصى به لضبط المَعلَمات الفائقة (ص 522)، لكن كل الأمثلة في الكتاب تُقاس على تقسيم واحد. عقد النماذج – من مجموعة Modeling: Logistic (الخط المرجعي ومرشَّح أيضًا)، وC&R Tree وCHAID (شجرة؛ يقسم CHAID بحسب اختبار χ² ويتيح انقسامًا غير ثنائي)، وNeural Net، وRandom Forest وXGBoost Tree (الغابة والتعزيز – عقد Python، تتطلب الامتداد)، وAuto Classifier، الذي يشغّل عدة خوارزميات ويرتّبها – مريح، بشرط أن يكون ما يرتّب بحسبه هو مقياس الخطوة 1. ولعقدة الغابة "تحسين للمَعلَمات الفائقة، يبحث تلقائيًا عن التركيبة المثلى للمَعلَمات لتقليل معدل الخطأ على العيّنات" (ص 499) – هذه هي الخطوة 5، لكن انتبهوا على أيّ عيّنات: إن كانت على مجموعة "الاختبار" في Modeler، فقد صارت مجموعة تحقق، وهذا لا بأس به – ما دام القياس النهائي على "التحقق". ويوصي الكتاب الدراسي الأكاديمي لـModeler بـ"70-80% من البيانات لمجموعة التدريب والباقي لمجموعة الاختبار" وبتثبيت البذرة في عقدة Partition "للحصول على النموذج نفسه في كل تشغيل" (Wendler & Gröttrup, 2021, p. 826) – وبشأن اختيار النموذج، ما تقوله هذه الصفحة في القسم 5: "لا توجد طريقة تتفوق على كل نموذج آخر لكل نوع من البيانات ومشكلة التصنيف… ونوصي بشدة بتجربة مقاربات وطرق مختلفة على كل مجموعة بيانات" (ص 760). وكل عقدة نموذج تُنتج "كتلة" (nugget) – النموذج المدرَّب – تُوصَل بالبيانات. Analysis (من مجموعة Output) – "يتيح تقييم قدرة النموذج على إنتاج تنبؤات دقيقة" بمقارنة "بين القيم المتنبَّأ بها والقيم الحقيقية" (IBM Corporation, 2016b, p. 276)، ولدى Truong "يقارن أداء النموذج بين عيّنة التدريب وعيّنة الاختبار" (ص 231): يُؤشَّر على Coincidence matrices (مصفوفة الالتباس)، وPerformance evaluation، وEvaluation metric (AUC and Gini) وSeparate by partition (ص 377)، ومنه تؤخذ الدقة، ومعدل التصنيف الخاطئ، وGini وAUC لكل مجموعة؛ "يمكن حساب الحساسية والنوعية وF1 من مصفوفة الالتباس" (ص 300) – بأنفسكم، في الحاسبة. وEvaluation (من مجموعة Graphs) – "منحنيات ROC ومنحنيات Lift لكل النماذج" بعضها فوق بعض (ص 502). وحين تكون كل الكتل موصولة في سلسلة بالبيانات نفسها، تقارن عقدة Analysis واحدة بينها جميعًا – وهذا هو جدول الخطوة 4 في القسم 8.
وما لا تفعله القائمة نيابةً عنكم. العتبة: الإعداد الافتراضي للكتلة هو 0.5، وما فعله القسم 9 في سطر واحد من pROC يُنفَّذ هنا بعقدة Derive على حقل الاحتمال الذي تضيفه الكتلة إلى جانب التنبؤ – أو بمصفوفة الكلفة في إعدادات عقدة النموذج، وهي التعلّم الحساس للكلفة لدى Truong (ص 203-204). الفئة النادرة: توجد عقدة SMOTE وتوجد Balance، وكلتاهما تأتيان بعد Partition، لا قبلها – والأفضل الاستغناء عنهما (مقاييس الأداء والتحقق، القسم 1). الاعتماد بين المشاركين: لا يوفّر Partition تقسيمًا بحسب المجموعة؛ ففي القياسات المتكررة أو في المدارس يُقسَّم يدويًا (عقدة Derive على معرِّف المجموعة، ثم Select)، أو يُنتقل إلى القسم 9. والإبلاغ: عقدة Analysis تعطي الأرقام؛ وما يُبلَّغ عنه وما لا يُبلَّغ – هناك، القسم 7، بما في ذلك جدول الإعدادات في الفصل 11 لدى Truong، وهو الطريقة لتوثيق تدفق لا شيفرة له.
أخطاء شائعة
أخطاء التحقق – الدقة الكلية على فئة نادرة، والإعداد على كل البيانات قبل التقسيم، والتقسيم بحسب الصف بدل المشارك، والضبط على مجموعة الاختبار، ورقم بلا تشتت وبلا خط مرجعي – في مقاييس الأداء والتحقق. وهنا – أخطاء النماذج نفسها.
قراءة أهمية السمات كأنها معاملات. "الدخل هو المتنبِّئ الأهم" – نعم؛ "الدخل يرفع الأرجحية" – لم تقل الغابة ذلك. الأهمية ليست اتجاهًا وليست سببًا؛ والمعامل المقيَّد في انحدار اللاسو ليس تقديرًا غير متحيز للأثر.
الإبلاغ عن شجرة واحدة بوصفها نتيجة. إعادة التدريب على البيانات نفسها قد تعطي شجرة أخرى (الفصل 6). الشجرة رسم توضيحي للنموذج، لا للواقع؛ والمستقر هو الغابة – وهي لا تُرسم.
اختيار k بحسب القصور الذاتي (inertia). في العناقيد، ينخفض القصور الذاتي دائمًا حين تُضاف عناقيد؛ ويُختار k بـ"المرفق"، وبدرجة الظل (silhouette)، وبإحصاء الفجوة (التعلّم غير الموجَّه، القسم 5) – وبقراءة العناقيد نفسها. وبلا تقييس مسبق "تتمدد" العناقيد ويؤدي k-المتوسطات أداءً سيئًا (الفصل 9).
قائمة تحقق – قبل الإبلاغ عن نتيجة تنبؤ
| سؤال | لماذا هذا مهم |
|---|---|
| هل السؤال تفسير أم تنبؤ – وهل اختير المقياس بناءً على ذلك؟ | بُعدان، وتحققان (القسم 1). النموذج التفسيري يُقاس بالمعاملات؛ والنموذج التنبؤي – على بيانات لم يرها. |
| هل يوجد خط مرجعي – مصنِّف وهمي وانحدار على المتغيرات المعروفة؟ | الرقم الذي يُبلَّغ عنه هو الفرق عن الخط المرجعي، لا المقياس نفسه. |
| هل مررتُ على قائمة تحقق التحقق – المقياس، والتقسيم، والتحقق المتقاطع، والتسرّب، ووحدة التقسيم، والمجموعات الفرعية؟ | أحد عشر سؤالًا في مقاييس الأداء والتحقق؛ وبدونها لا يكون الرقم نتيجة بحثية. |
| هل البذرة، والإصدارات، والمَعلَمات الفائقة وسلسلة المعالجة موثَّقة – والدفتر مرفق؟ | قابلية الإعادة. النتيجة الحسابية غير الموثَّقة ليست نتيجة بحثية – القاعدة نفسها لكل حاسبات الموقع. |
| هل بقيت البيانات على الحاسوب؟ | الدفتر في السحابة هو رفع لملف المشاركين إلى خادم غريب (القسم 8). |
المراجع
Bishop, C. M. (2006). Pattern recognition and machine learning. Springer.
Breiman, L. (2001a). Statistical modeling: The two cultures (with comments and a rejoinder by the author). Statistical Science, 16(3), 199-231. https://doi.org/10.1214/ss/1009213726
Breiman, L. (2001b). Random forests. Machine Learning, 45(1), 5-32. https://doi.org/10.1023/A:1010933404324
Géron, A. (2022). Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts, tools, and techniques to build intelligent systems (3rd ed.). O'Reilly Media.
Gutierrez, D. D. (2015). Machine learning and data science: An introduction to statistical learning methods with R. Technics Publications.
Hastie, T., Tibshirani, R., & Friedman, J. (2009). The elements of statistical learning: Data mining, inference, and prediction (2nd ed.). Springer. https://doi.org/10.1007/978-0-387-84858-7
Hofman, J. M., Watts, D. J., Athey, S., Garip, F., Griffiths, T. L., Kleinberg, J., Margetts, H., Mullainathan, S., Salganik, M. J., Vazire, S., Vespignani, A., & Yarkoni, T. (2021). Integrating explanation and prediction in computational social science. Nature, 595(7866), 181-188. https://doi.org/10.1038/s41586-021-03659-0
IBM Corporation. (2016a). IBM SPSS Modeler 18.0 modeling nodes. IBM. https://public.dhe.ibm.com/software/analytics/spss/documentation/modeler/18.0/en/ModelerModelingNodes.pdf
IBM Corporation. (2016b). IBM SPSS Modeler 18.0 source, process, and output nodes. IBM. https://public.dhe.ibm.com/software/analytics/spss/documentation/modeler/18.0/en/ModelerSPOnodes.pdf
IBM Corporation. (2025). IBM SPSS Modeler 19.0 user's guide. IBM.
Ishii, K., Ueda, N., Maeda, E., & Murase, H. (2026). Pattern recognition and machine learning for self-study I: Supervised learning. Springer. https://doi.org/10.1007/978-981-95-1478-6
Kapoor, S., & Narayanan, A. (2023). Leakage and the reproducibility crisis in machine-learning-based science. Patterns, 4(9), Article 100804. https://doi.org/10.1016/j.patter.2023.100804
Kuhn, M. (2008). Building predictive models in R using the caret package. Journal of Statistical Software, 28(5), 1-26. https://doi.org/10.18637/jss.v028.i05
Molina, M., & Garip, F. (2019). Machine learning for sociology. Annual Review of Sociology, 45, 27-45. https://doi.org/10.1146/annurev-soc-073117-041106
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., & Duchesnay, É. (2011). Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12, 2825-2830.
Rudin, C. (2019). Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead. Nature Machine Intelligence, 1(5), 206-215. https://doi.org/10.1038/s42256-019-0048-x
Salganik, M. J., Lundberg, I., Kindel, A. T., Ahearn, C. E., Al-Ghoneim, K., Almaatouq, A., Altschul, D. M., Brand, J. E., Carnegie, N. B., Compton, R. J., Datta, D., Davidson, T., Filippova, A., Gilroy, C., Goode, B. J., Jahani, E., Kashyap, R., Kirchner, A., McKay, S., . . . McLanahan, S. (2020). Measuring the predictability of life outcomes with a scientific mass collaboration. Proceedings of the National Academy of Sciences, 117(15), 8398-8403. https://doi.org/10.1073/pnas.1915006117
Shmueli, G. (2010). To explain or to predict? Statistical Science, 25(3), 289-310. https://doi.org/10.1214/10-STS330
Truong, D. (2026). Demystifying AI: Data science and machine learning using IBM SPSS Modeler. Chapman and Hall/CRC. https://doi.org/10.1201/9781003468196
Wendler, T., & Gröttrup, S. (2021). Data mining with SPSS Modeler: Theory, exercises and solutions (2nd ed.). Springer. https://doi.org/10.1007/978-3-030-54338-9
Wolpert, D. H. (1996). The lack of a priori distinctions between learning algorithms. Neural Computation, 8(7), 1341-1390. https://doi.org/10.1162/neco.1996.8.7.1341
Yarkoni, T., & Westfall, J. (2017). Choosing prediction over explanation in psychology: Lessons from machine learning. Perspectives on Psychological Science, 12(6), 1100-1122. https://doi.org/10.1177/1745691617693393