طرق المجموعات: بطل Kaggle لتعلم الآلة

نشرت: 2022-03-11

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

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

اتضح أن متوسط ​​تخمينات الجمهور كان أقل من رطل (<0.1٪). ومع ذلك ، حتى أفضل التنبؤات الفردية كانت بعيدة كل البعد عن الواقع.

كيف يمكن لذلك ان يحدث؟ ما الذي جعل مثل هذه النتيجة غير المتوقعة ممكنة؟

ما الذي يجعل مجموعات الماكينة فعالة جدًا

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

لكن الشيء الأكثر إثارة للاهتمام هو أن كل جزء حقيقي سيكمل الأجزاء الأخرى بينما تلغي الأخطاء بعضها البعض:

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

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

تمامًا كما في حالة جالتون ، عندما يتم دمج جميع البيانات من جميع المصادر ، تكون النتيجة "أكثر ذكاءً" من نقاط البيانات المعزولة.

نظرة فاحصة على التعلم الجماعي في مسابقات Kaggle

في تحدي Otto Group لتصنيف المنتجات ، كان على المشاركين بناء نموذج تنبؤي قادر على التمييز بين فئات المنتجات الرئيسية.

هنا يمكنك أن ترى كيف تم بناء النموذج الفائز. كان تكديسًا من ثلاث طبقات: الأول يحتوي على 33 نموذجًا ، والثاني أضاف ثلاثة نماذج أخرى (XGBoost ، شبكة عصبية ، و AdaBoost) ، والثالث كان المتوسط ​​المرجح لمخرجات الطبقة السابقة. لقد كان نموذجًا معقدًا للغاية ومجموعة.

نجاح Kaggle الآخر هو النموذج الذي أنشأه Chenglong Chen في مسابقة Crowdflower Search Results ذات الصلة. كان التحدي يتمثل في إنشاء متنبئ يمكن استخدامه لقياس مدى ملاءمة نتائج البحث. يمكنك قراءة الشرح الكامل لطريقته ، ولكن نظرًا لأن نقطة اهتمامنا هي المجموعات ، فإن الجزء المهم من القصة هو أن الحل الفائز استخدم مجموعة من 35 نموذجًا ، كان العديد منها أيضًا مجموعات - مجموعة ميتا ، لذلك ليتحدث.

طرق الفرقة

هناك العديد من الطرق لتطبيق أساليب المجموعات في التعلم الآلي. سوف نستكشف بعض الطرق الأكثر شيوعًا:

  • تكييس
    • غابة عشوائية
  • التعزيز
    • AdaBoost
    • تعزيز التدرج و XGBoost
  • طرق المجموعات الهجينة
    • التصويت
    • التراص
    • المتتالية

تكييس

كما ذكرنا ، تحتاج إلى تدريب العديد من النماذج على مجموعات فرعية مختلفة من البيانات. من الناحية العملية ، هذا ليس بالأمر السهل لأنك ستحتاج إلى بيانات للعديد من النماذج أكثر بكثير مما تحتاجه لنموذج واحد ، وفي بعض الأحيان ليس من السهل الحصول على مجموعات بيانات عالية الجودة. يحدث هذا عندما يكون التعبئة (تجميع bootstrap) في متناول اليد ، حيث يقسم البيانات من خلال bootstrapping: عينة عشوائية مع بديل ، مما يؤدي إلى مجموعات فرعية مختلفة تتداخل.

بمجرد قيامك بتدريب نماذج المجموعة الخاصة بك ، يمكنك إنشاء التنبؤ النهائي الخاص بك عن طريق تجميع كل تنبؤ نموذجي من خلال أي مقياس تفضله: المتوسط ​​، والوسيط ، والوضع ، وما إلى ذلك. يمكنك أيضًا استخدام احتمالات توقع النموذج لعمل مقياس مرجح:

رسم تخطيطي يوضح استخدام تقنية التعبئة لتقسيم البيانات من خلال Bootstrap ، مع تجميع تنبؤات كل نموذج من مجموعات فرعية مختلفة لإنتاج الناتج النهائي.

إذا أردنا استخدام أشجار القرار كنماذج ولكن لدينا القليل من السمات التنبؤية القوية في بياناتنا ، فستكون جميع الأشجار متشابهة. وذلك لأن نفس السمات تميل إلى أن تكون في عقدة الجذر ، مما ينتج عنه نتائج مماثلة في كل فرع من فروع الشجرة.

غابة عشوائية

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

تعد Random Forest واحدة من أشهر نماذج ML لأنها تقدم أداءً جيدًا مع تباين منخفض ووقت تدريب منخفض.

التعزيز

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

باستخدام هذا التعديل ، يحاول التعزيز زيادة التركيز على المثيلات المصنفة بشكل خاطئ للوصول إلى أداء عالمي أفضل:

رسم بياني يوضح الأساليب المختلفة المستخدمة في التعبئة والتعزيز ، ويوضح الطبيعة الموازية للتعبئة والطبيعة المتسلسلة للتعزيز.

يضيف أوزانًا إلى النماذج أيضًا. سيكون للتنبؤات ذات الأداء الأفضل في وقت التدريب وزن أكبر في مرحلة التنبؤ.

دعنا نلقي نظرة فاحصة على بعض نماذج التعزيز الأكثر شيوعًا:

AdaBoost

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

 For each instance i Assign w[i] (weight, same for all) For each iteration t Generate a subset s[t] by weighted boosting (using the w[i] weights) Train model m[t] using s[t] Store m[t] Calculate e[t] (error rate of m[t]) Assign error rate e[t] to stored m[t] model If (e[t] <= a_threshold) Exit for Update weights using m[t] errors

في وقت التنبؤ ، يرجح كل تنبؤ بناءً على معدل الخطأ e[t] المحسوب لكل واحد. النتائج ذات معدل الخطأ العالي سيكون لها وزن أقل من غيرها بدقة أفضل.

تعزيز التدرج و XGBoost

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

يوفر التعزيز المتدرج حلاً أنيقًا لهذه المشكلة. إنها تخلق دالة خسارة تحتوي ، كمدخل ، على جميع قيم المعلمات الفائقة لجميع النماذج ، وكإخراج ، خطأ المجموعة بأكملها. من خلال النسب المتدرج ، تجد القيمة الدنيا للوظيفة (أي أقل خطأ) وبالتالي أفضل تكوين للمعلمة الفائقة لكل نموذج.

يقدم هذا النهج مشكلة القياس. أدخل ملك التعلم الآلي للبيانات المنظمة: تعزيز التدرج الشديد ، XGBoost لفترة قصيرة. إنه تنفيذ فعال بشكل لا يصدق لتعزيز التدرج ، وذلك بفضل التقنيات المختلفة ، مثل الحوسبة المتوازية ، والقدرة على التحقق من الصحة المدمجة ، والتنظيم لتجنب الإفراط في التجهيز ، وتحسين الأجهزة. يوفر XGBoost أداءً متميزًا.

أصبح XGBoost شائعًا عندما استخدمه منشئه لتحدي Kaggle وفاز بهامش كبير. نشر النتيجة وأنشأ غلاف بايثون للسماح لمزيد من الناس باستخدامه. عندما أدرك العديد من الأشخاص إمكاناته ، سرعان ما أصبح XGBoost بطل ML.

طرق المجموعات الهجينة

لكن القصة لا تنتهي عند هذا الحد. لقد رأينا العديد من أنواع المجموعات التي تستخدم جميعها نفس النوع من النماذج - فلماذا لا نجرب تركيبات من نماذج مختلفة؟ إذا قمت بذلك بشكل جيد ، يمكنك إنشاء طريقة تعلم أكثر قوة: مجموعة مختلطة .

التصويت

التصويت هو أحد أبسط الطرق لإنشاء فرقة مختلطة. يقوم بتدريب العديد من الخوارزميات النموذجية المختلفة ويجعلها "تصوت" في مرحلة التنبؤ:

رسم تخطيطي يوضح تدفق البيانات إلى ثلاثة نماذج مدربة: آلة المتجهات الداعمة ، والانحدار اللوجستي ، و KNN. الناتج الأول والأخير هو 1 ، في حين أن ناتج الانحدار اللوجستي هو 0. والنتيجة النهائية هي 1.

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

التراص

يعزز التكديس فكرة التصويت عن طريق إضافة طبقة جديدة فوق النماذج الأساسية لعمل التنبؤ النهائي بدلاً من مجرد حساب المتوسط ​​أو الأغلبية. يضيف مفهوم التعلم التلوي ، حيث أن الطبقة الجديدة لا تتعلم من البيانات ولكن من تنبؤات النموذج:

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

يمكنك تكديس كل طبقات التعريف التي تريدها ، مما ينتج عنه نموذج به العديد من المستويات. بالنسبة للنماذج المكدسة ، أوصي باستخدام أشجار القرار ، أو SVMs ، أو التصورات. بالنسبة للنماذج الأساسية ، يمكنك استخدام أي طريقة تريدها ، حتى مجموعة أخرى ، لإنشاء مجموعة من المجموعات. يعمل التكديس بشكل أفضل مع النماذج الأساسية مثل أشجار القرار التي لا تولد فقط تنبؤًا بالقيمة ، ولكن أيضًا احتمالية كونها صحيحة.

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

المتتالية

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

مع التعاقب ، تقوم النماذج البسيطة بتقييم البيانات قبل أن تفعل النماذج المعقدة. في خطوة التنبؤ ، يتلقى النموذج الأول البيانات. إذا لم يكن اليقين أكبر من x (يجب أن تكون القيمة عالية ، أي شيء أكبر من 0.9) ، فإنه ينقل المثيل إلى النموذج التالي. وبخلاف ذلك ، تُرجع السلسلة الإخراج المتوقع لهذا النموذج. إذا لم تتمكن أي طبقة من التنبؤ بالفئة المرغوبة بدرجة عالية من اليقين ، فإن المجموعة ترجع الفئة السلبية.

تتنبأ حالة الاستخدام الكلاسيكية لهذا النموذج بالوقت الذي يحتمل فيه أن تكون المعاملة احتيالية. لنفترض أن النظام يحسب ملايين المعاملات يوميًا وأنه من المستحيل التحكم في كل منها يدويًا. يمكن أن يؤدي استخدام مجموعة متتالية إلى تجاهل المعاملات غير الاحتيالية ذات الاحتمالية العالية جدًا ، مما يترك فقط مجموعة فرعية صغيرة من المعاملات للتحقق يدويًا:

رسم تخطيطي يوضح استخدام التتالي للكشف عن المعاملات الاحتيالية. يتجاهل نموذجان إمكانية الاحتيال بدرجة من اليقين أعلى من 0.9 ، بينما يكتشف أحد النماذج اللاحقة درجة يقين أقل ، مما يؤدي إلى إجراء فحص يدوي.

تعد هذه النماذج خيارات جيدة عندما تحتاج إلى مقياس استدعاء ممتاز.

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

قيمة طرق التجميع

يتيح لنا الجمع بين العديد من النماذج إنشاء تنبؤات أفضل وأكثر قوة ، كما يحدث عندما يعمل البشر معًا. حددنا ثلاث مجموعات من المجموعات - التعبئة والتغليف والتعزيز والهجين - وشاهدنا كيف تتدرب وتتوقع.

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

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

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

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

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

في النهاية ، سواء كنت ترغب في إنشاء نماذج ML قوية لتطبيقات المؤسسات أو البنوك الكبيرة أو الشركات الصغيرة ، أو مجرد الدخول في مسابقات لتعزيز سمعتك المهنية ، يجب أن تكون المجموعات هي الأداة التي تختارها.