ماذا تعني مكتبة XGBoost؟

ماذا تعني مكتبة XGBoost؟

يُعدُّ XGBoost (التعزيز التدرجي الشديد) مكتبة تعلُّم آلي مفتوحة المصدر وموزَّعة تستخدم أشجار القرار المعززة بالتدرج، وهي خوارزمية تعزيز التعلم الخاضع للإشراف والتي تستخدم الانحدار التدرجي. وتشتهر بسرعتها وكفاءتها وقدرتها على التوسع بشكل جيد مع مجموعات البيانات الكبيرة.

تُعد مكتبة XGBoost، التي طورها Tianqi Chen من جامعة واشنطن، تطبيقًا متقدمًا للتعزيز الاشتقاقي بالإطار العام ذاته؛ أي إنها تجمع أشجار نماذج التعلم الضعيفة في نماذج تعلم فائقة عن طريق إضافة القيم المتبقية. المكتبة متاحة للغات ++C وPython وR وJava وScala وJulia.1

أشجار القرار في مقابل التعزيز

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

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

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

التعزيز - التعلم التجميعي المتسلسل

أشجار القرار المعززة بالتدرج 

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

في التعلُّم الآلي، تُستخدم دوال الخسارة لقياس أداء النموذج. في أشجار القرار ذات التعزيز بالتدرج، يشير التدرج إلى الانخفاض المتدرج. عند تدريب نماذج جديدة، نستخدم النزول التدريجي لتقليل الخسارة (بمعنى تحسين أداء النموذج). يُعدُّ النزول التدريجي خوارزمية من خوارزميات التحسين الشائعة، ويُستخدم لتقليل دالة الخسارة التي تحدث حين تقع مشكلات في التعلم الآلي. من أمثلة دوال الخسارة: متوسط الخطأ التربيعي أو متوسط الخطأ المطلق لمشكلات الانحدار، أو خسارة الأنتروبيا المتقاطعة لمشكلات التصنيف، أو قد يتم تطوير دوال خسارة مخصصة حسب حاجة كل حالة استخدام وكل مجموعة بيانات.

مميزات مكتبة XGBoost

فيما يلي مناقشة لبعض مزايا مكتبة XGBoost المقدمة بلغة Python التي جعلتها مكتبة متفوقة على حزمة التعزيز الاشتقاقي العادية في مكتبة scikit-learn2:

  • الحوسبة المتوازية والموزَّعة: تخزن المكتبة البيانات في وحدات داخل الذاكرة تُسمَّى الكتل. يمكن توزيع الكتل المنفصلة على عدة أجهزة أو تخزينها على ذاكرة خارجية باستخدام الحوسبة خارج الذاكرة الرئيسية للكمبيوتر. وتتيح مكتبة XGBoost حالات استخدام أكثر تقدمًا كذلك، مثل التدريب الموزَّع على مجموعة من أجهزة الكمبيوتر لتسريع عملية الحوسبة. كما يمكن أيضًا تنفيذ مكتبة XGBoost في الوضع الموزَّع باستخدام أدوات مثل Apache Spark أو Dask أو Kubernetes.

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

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

  • حل مشكلة القيم المفقودة:في حالات ندرة البيانات، تستخدم مكتبة XGBoost خوارزمية تراعي هذه الندرة. عندما تكون هناك قيمة مفقودة في مجموعة البيانات، تُصنَّف نقطة البيانات في الاتجاه الافتراضي وتتعلم الخوارزمية أفضل اتجاه للتعامل مع القيم المفقودة.

أحدث اتجاهات الذكاء الاصطناعي، يقدمها لك الخبراء

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

شكرًا لك! لقد اشتركت بنجاح.

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

كيف تعمل مكتبة XGBoost

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

تقسيم بياناتك وتحويلها إلى تنسيق DMatrix

مع افتراض أنك أجريت بالفعل تحليلاً استكشافيًا للبيانات، يتعين عليك بعد ذلك تقسيم بياناتك بين مجموعة تدريب ومجموعة اختبار. ثم حوّل بياناتك إلى تنسيق DMatrix المستخدم في مكتبة XGBoost3. DMatrix هو هيكل البيانات الداخلي لمكتبة XGBoost والمعزز لكفاءة الذاكرة وسرعة التدريب4.

إنشاء النموذج وتقييمه

بعد ذلك، أنشئ مثيلاً لنموذج XGBoost، وحدد، اعتمادًا على حالة الاستخدام، الدالة الموضوعية التي ترغب في استخدامها من خلال المعلمة الفائقة "الموضوع". على سبيل المثال، إذا كانت لديك مهمة تصنيف متعدد الفئات، فينبغي تعيين الهدف على "multi:softmax"5. وفي المقابل، إذا كانت لديك مشكلة تصنيف ثنائي، فيمكنك استخدام هدف الانحدار اللوجستي "binary:logistic". وعندئذٍ يمكنك استخدام مجموعة التدريب لتدريب النموذج والتنبؤ بتصنيفات مجموعة البيانات الموضوعة جانبًا كمجموعة اختبار. يمكنك تقييم أداء النموذج عن طريق مقارنة القيم المتوقعة بالقيم الفعلية لمجموعة الاختبار. يمكنك استخدام مقاييس مثل الصحة أو الدقة أو الاسترداد أو مقياس f-1 لتقييم نموذجك. وقد ترغب أيضًا في تصور التصنيف الإيجابي الصحيح، والتصنيف السلبي الصحيح، والتصنيف الإيجابي الخاطئ، والتصنيف السلبي الخاطئ باستخدام مصفوفة الدقة.

ضبط المَعلمات الفائقة

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

معلمات فرعية مختارة لأشجار التعزيز بالتدرج في مكتبة XGBoost

فيما يلي شرح بعض المعلمات المتاحة لضبط الأشجار ذات التعزيز الاشتقاقي في مكتبة XGBoost:

  • معدل التعلم (المعروف أيضًا باسم "حجم الخطوة" أو "الانكماش")، هو أهم معلمة تقوية التدرج. في مكتبة XGBoost، يُعرف باسم "eta" وينبغي أن يكون رقمًا بين 0 و1، والقيمة الافتراضية هي 0.36. ويعكس معدل التعلم المعدل الذي تتعلم به خوارزمية التعزيز في كل دورة متكررة. وكلما قل معدل eta، كان التعلم أبطأ؛ إذ إنه يدل على قلة مساهمة كل شجرة في المجموعة، ومن ثَم يساعد على منع الإفراط في التخصيص. وعلى العكس من ذلك، كلما زاد معدل eta، كان التعلم أسرع، لكنه قد يؤدي إلى الإفراط في التخصيص إذا لم يُضبط بعناية.

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

  • يتحكم جاما (المعروف أيضًا باسم مضاعف لاغرانج أو معامل تقليل الخسارة الأدنى) في الحد الأدنى لكمية تقليل الخسارة المطلوبة لإجراء تقسيم إضافي على عقدة فرعية من الشجرة. تعني القيمة المنخفضة أن نموذج XGBoost يتوقف مبكرًا لكنه قد لا يجد أفضل حل؛ بينما تعني القيمة الأعلى أن XGBoost يستمر في التدريب لفترة أطول، ما قد يؤدي إلى العثور على حلول أفضل، لكن مع وجود خطر أكبر في حدوث فرط تخصيص. لا يوجد حد أعلى لجاما. القيمة الافتراضية في نموذج XGBoost هي الصفر وأي شيء أعلى من 10 يُعدُّ مرتفعًا.

  • يمثل Max_depth مدى عمق نمو كل شجرة في عملية التعزيز أثناء التدريب. يشير عمق الشجرة إلى عدد المستويات أو الانقسامات التي لديها من عقدة الجذر إلى العُقد الفرعية. ستؤدي زيادة هذه القيمة إلى جعل النموذج أكثر تعقيدًا وأكثر عرضة لفرط التخصيص. في نموذج XGBoost، تكون قيمة max_depth الافتراضية هي 6، ما يعني أنه يُسمح لكل شجرة في النموذج بالنمو إلى عمق أقصى يبلغ 6 مستويات.
Mixture of Experts | 12 ديسمبر، الحلقة 85

فك تشفير الذكاء الاصطناعي: تقرير إخباري أسبوعي

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

مقارنة XGBoost بخوارزميات التعزيز الأخرى

تعد خوارزمية XGBoost واحدة من العديد من خوارزميات التعزيز مفتوحة المصدر المتوفرة. في هذا القسم، سنقارن XGBoost بثلاثة أطر تعزيز أخرى.

خوارزمية XGBoost في مقابل خوارزمية AdaBoost

تُعد خوارزمية AdaBoost خوارزمية تعزيز قديمة ابتكرها كل من Yoav Freund وRobert Schapire في عام 19957. في خوارزمية AdaBoost، يكون التركيز أكثر على التنبؤات غير الصحيحة من خلال نظام الأوزان الذي يؤثر بشكل كبير في نقاط البيانات التي من الصعب جدًا التنبؤ بها. أولاً، يُحدد لكل نقطة بيانات في مجموعة البيانات وزنًا معينًا. وكلما تنبأت نماذج التعلم الضعيفة بأحد النماذج على نحو صحيح، يقل وزن هذا النموذج. أما إذا أخطأت نماذج التعلم في نموذج ما، فإن وزن نقطة البيانات هذه سوف يزداد. عند إنشاء أشجار جديدة، تعتمد الأوزان على التصنيفات غير الصحيحة لأشجار نماذج التعلم السابقة. ومع زيادة عدد نماذج التعلم، فإن العينات التي يسهل التنبؤ بها سيقل استخدامها في نماذج التعلم المستقبلية، بينما نقاط البيانات التي يصعب التنبؤ بها سيتم ترجيحها بشكل بارز. ونظرًا إلى دقتهما وسرعتهما، أصبح التعزيز الاشتقاقي ومكتبة XGBoost يمثلان غالبًا بدائل فائقة عن خوارزمية AdaBoost.

خوارزمية XGBoost في مقابل CatBoost

تُعد مكتبة CatBoost إطار عمل آخر للتعزيز الاشتقاقي. طورتها شركة Yandex في عام 2017، وهو إطار متخصص في معالجة عناصر التصنيف من دون الحاجة إلى إجراء مهام ما قبل المعالجة، وعادةً ما يعمل جيدًا مباشرةً من دون الحاجة إلى إجراء ضبط مكثف للمعلمات الفائقة8. وكما هو الحال في مكتبة XGBoost، تتميز مكتبة CatBoost بدعم مدمج لمعالجة البيانات المفقودة. وتُعد مكتبة CatBoost مفيدة بصورة كبيرة لمجموعات البيانات التي تحتوي على العديد من عناصر التصنيف. وفقًا لشركة Yandex، يُستخدم الإطار في عمليات البحث وأنظمة التوصية وأدوات المساعِد الرقمي الشخصي والسيارات ذاتية القيادة والتنبؤ بالطقس وغيرها من المهام.

خوارزمية XGBoost في مقابل خوارزمية LightGBM

تُعد خوارزمية LightGBM (آلة التعزيز الاشتقاقي البسيط) آخر خوارزميات التعزيز الاشتقاقي التي سنستعرضها. طوَّرت شركة Microsoft خوارزمية LightGBM وأصدرتها لأول مرة في عام 20169. في حين أن معظم خوارزميات التعلم بطريقة أشجار القرار تعمل على تنمية الأشجار عموديًا، فإن خوارزمية LightGBM تستخدم إستراتيجية نمو الأشجار على أساس الأوراق10. وكما هو الحال في مكتبة XGBoost، تتميز خوارزمية LightGBM بسرعة ودقة تدريب النماذج وتؤدي أداءً جيدًا مع مجموعات البيانات الكبيرة.

تطبيقات XGBoost

تُستخدم XGBoost وأشجار القرار المعززة بالاشتقاق في مجموعة متنوعة من تطبيقات علوم البيانات، تشمل ما يلي:

  • تعلم الترتيب: يُعد الترتيب أكثر حالات الاستخدام شيوعًا لخوارزمية XGBoost. في عمليات استرجاع المعلومات، يتمثل هدف تعلم الترتيب في تقديم المحتوى للمستخدمين مرتبًا حسب مدى الصلة. في مكتبة XGBoost، تعتمد أداة الترتيب XGBRanker على خوارزمية LambdaMART11.

  • التنبؤ بمعدل عدد مرات النقر على الإعلان: استخدم الباحثون أحد نماذج XGBoost المدرَّبة لمعرفة عدد مرات النقر على الإعلانات عبر الإنترنت خلال 10 أيام من عرض بيانات النقر. كان الهدف من البحث هو قياس مدى فاعلية الإعلانات عبر الإنترنت وتحديد الإعلانات الأكثر نجاحًا12.

  • التنبؤ بمبيعات المتاجر: يمكن استخدام مكتبة XGBoost في النمذجة التنبؤية، كما هو موضح في هذه الورقة البحثية حيث جرى التنبؤ بمبيعات 45 متجرًا من متاجر Walmart باستخدام نموذج XGBoost13.

  • تصنيف البرامج الخبيثة: بفضل مصنّف مكتبة XGBoost، تمكّن المهندسون في جامعة كوشيتسه التقنية من تصنيف البرامج الخبيثة بدقة، كما هو موضح في ورقتهم البحثية14.

  • مسابقات Kaggle: كانت XGBoost خوارزمية شائعة بين الفائزين في مسابقات Kaggle، كما هو موضح في صفحة DMLC (مجتمع التعلم الآلي (العميق) الموزع) التي تعرض قائمة الفائزين في مسابقات Kaggle الأخيرة الذين استخدموا خوارزمية XGBoost في مشاركاتهم15
حلول ذات صلة
IBM watsonx.ai

تدريب الذكاء الاصطناعي التوليدي والتحقق من صحته وضبطه ونشره، وكذلك قدرات نماذج الأساس والتعلم الآلي باستخدام IBM watsonx.ai، وهو استوديو الجيل التالي من المؤسسات لمنشئي الذكاء الاصطناعي. أنشئ تطبيقات الذكاء الاصطناعي بسرعة أكبر وببيانات أقل.

اكتشف watsonx.ai
حلول الذكاء الاصطناعي

استفد من الذكاء الاصطناعي في عملك بالاستعانة بخبرة IBM الرائدة في مجال الذكاء الاصطناعي ومحفظة حلولها المتوفرة لك.

استكشف حلول الذكاء الاصطناعي
الاستشارات والخدمات المتعلقة بالذكاء الاصطناعي

أعدّ ابتكار عمليات ومهام سير العمل الحساسة بإضافة الذكاء الاصطناعي لتعزيز التجارب وصنع القرارات في الوقت الفعلي والقيمة التجارية.

استكشف خدمات الذكاء الاصطناعي
اتخِذ الخطوة التالية

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

استكشف watsonx.ai احجز عرضًا توضيحيًا مباشرًا