إنَّ مكتبة XGBoost (ويعني الاختصار: تعزيز التدرج المتطرف) واحدة من مكتبات التعلُّم الآلي مفتوحة المصدر والموزَّعة، التي تستخدم أشجارَ القرار المعززة ذات الاشتقاق، وهي إحدى خوارزميات تعزيز التعلم الموجَّه التي تستخدم النزول الاشتقاقي. وتشتهر بسرعتها وكفاءتها وقدرتها على التوسع جيدًا مع مجموعات البيانات الكبيرة.
تُعد مكتبة XGBoost، التي طورها Tianqi Chen من جامعة واشنطن، تطبيقًا متقدمًا للتعزيز الاشتقاقي بالإطار العام ذاته؛ أي إنها تجمع أشجار نماذج التعلم الضعيفة في نماذج تعلم فائقة عن طريق إضافة القيم المتبقية. تتوفر المكتبة بلغات البرمجة ++C وPython وR وJava وScala وJulia1.
تُستخدم أشجار القرار في مهام التصنيف أو الانحدار في مجال التعلم الآلي. وتقوم على بنية شجرة هرمية إذ تمثل العقدة الداخلية إحدى العناصر، بينما يمثل الفرع قاعدة القرار، وتمثل كل عقدة طرفية نتيجة مجموعة البيانات.
ونظرًا إلى أن أشجار القرار يغلب عليها طابع الإفراط في التخصيص، يمكن غالبًا استخدام أساليب التجميع، مثل التعزيز، لإنشاء نماذج معززة بإمكانات أكثر. ويعمل التعزيز على دمج عدة أشجار ضعيفة فردية؛ أي النماذج التي تعمل بشكل أفضل قليلاً من الصدفة العشوائية، لتشكيل نموذج تعلم فائق الإمكانات. يُدرب كل نموذج تعلم ضعيف على نحو متسلسل لمعالجة مشاكل النماذج السابقة. ثم بعد المئات من الدورات المتكررة، تتحول نماذج التعلم الضعيفة إلى نماذج تعلم فائقة الإمكانات.
وتُعد الغابات العشوائية وخوارزميات التعزيز من تقنيات التعلم الجماعي الشائعة؛ التي تستخدم أشجار نماذج التعلم الفردية لتحسين الأداء التنبُّئي. إذ تعتمد الغابات العشوائية على مفهوم التجميع (تجميع بوتستراب) وتدريب كل شجرة على نحوٍ مستقل لدمج تنبؤاتها، بينما تتبع خوارزميات التعزيز نهجًا إضافيًا عند تدريب نماذج التعلم الضعيفة على نحوٍ متسلسل لتصحيح أخطاء النماذج السابقة.
تُعد أشجار القرار ذات التعزيز الاشتقاقي نوعًا من أنواع خوارزمية التعزيز التي تعتمد على التدرج الاشتقاقي.وكما هو الحال في طرق التعزيز الأخرى، يبدأ التعزيز الاشتقاقي بنموذج تعلم ضعيف لإجراء التنبؤات. إذ تُعرف شجرة القرار الأولى في التعزيز الاشتقاقي باسم نموذج التعلم الأساسي. ثم بعد ذلك، تُنشئ أشجار جديدة بطريقة إضافية حسب الأخطاء التي ظهرت في نموذج التعلم الأساسي. ثم تحسب الخوارزمية القيم المتبقية لتنبؤات كل شجرة من أجل تحديد مدى بُعد تنبؤات النموذج عن الواقع. القيم المتبقية هي الفرق بين القيم التي توقعها النموذج والقيم الفعلية.وبعد ذلك تُجمَّع القيم المتبقية لتسجيل النموذج باستخدام دالة الخسارة.
في التعلُّم الآلي، تُستخدم دوال الخسارة لقياس أداء النموذج. في أشجار القرار ذات التعزيز بالتدرج، يشير التدرج إلى الإنخفاض المتدرج. عند تدريب نماذج جديدة، نستخدم النزول التدريجي لتقليل الخسارة (بمعنى تحسين أداء النموذج). يُعدُّ النزول التدريجي خوارزمية من خوارزميات التحسين الشائعة، ويُستخدم لتقليل دالة الخسارة التي تحدث حين تقع مشكلات في التعلم الآلي. من أمثلة دوال الخسارة: متوسط الخطأ التربيعي أو متوسط الخطأ المطلق لمشكلات الانحدار، أو خسارة الأنتروبيا المتقاطعة لمشكلات التصنيف، أو قد يتم تطوير دوال خسارة مخصصة حسب حاجة كل حالة استخدام وكل مجموعة بيانات.
فيما يلي مناقشة لبعض مزايا مكتبة XGBoost المقدمة بلغة Python التي جعلتها مكتبة متفوقة على حزمة التعزيز الاشتقاقي العادية في مكتبة scikit-learn2:
سنتناول في هذا القسم كيفية استخدام حزمة XGBoost، وكيفية تحديد المعلمات الفائقة لتعزيز شجرة XGBoost، وكيفية مقارنة XGBoost بتنفيذات التعزيز الأخرى وبعض حالات استخدامها.
مع افتراض أنك أجريت بالفعل تحليلاً استكشافيًا للبيانات، يتعين عليك بعد ذلك تقسيم بياناتك بين مجموعة تدريب ومجموعة اختبار. ثم حوّل بياناتك إلى تنسيق DMatrix المستخدم في مكتبة XGBoost3. DMatrix هو هيكل البيانات الداخلي لمكتبة XGBoost والمعزز لكفاءة الذاكرة وسرعة التدريب4.
بعد ذلك، أنشئ مثيلاً لنموذج XGBoost، وحدد، اعتمادًا على حالة الاستخدام، الدالة الموضوعية التي ترغب في استخدامها من خلال المعلمة الفائقة "الموضوع". على سبيل المثال، إذا كانت لديك مهمة تصنيف متعدد الفئات، فينبغي تعيين الهدف على "multi:softmax"5. وفي المقابل، إذا كانت لديك مشكلة تصنيف ثنائي، فيمكنك استخدام هدف الانحدار اللوجستي "binary:logistic". وعندئذٍ يمكنك استخدام مجموعة التدريب لتدريب النموذج والتنبؤ بتصنيفات مجموعة البيانات الموضوعة جانبًا كمجموعة اختبار. يمكنك تقييم أداء النموذج عن طريق مقارنة القيم المتوقعة بالقيم الفعلية لمجموعة الاختبار. يمكنك استخدام مقاييس مثل الصحة أو الدقة أو الاسترداد أو مقياس f-1 لتقييم نموذجك. وقد ترغب أيضًا في تصور التصنيف الإيجابي الصحيح، والتصنيف السلبي الصحيح، والتصنيف الإيجابي الخاطئ، والتصنيف السلبي الخاطئ باستخدام مصفوفة الدقة.
ثم بعد ذلك، قد ترغب في تكرار مجموعة من المعلمات الفائقة للمساعدة على تحسين أداء نموذجك. يعد ضبط المعلمات الفائقة عملية تحسين للمعلمات الفائقة لخوارزمية التعلم الآلي. يمكن العثور على أفضل المعلمات الفائقة باستخدام طرق البحث الشبكي والتحقق المتبادل، والتي تتكرر خلال قاموس يضم تجمعات المعلمات الفائقة المحتملة.
فيما يلي شرح بعض المعلمات المتاحة لضبط الأشجار ذات التعزيز الاشتقاقي في مكتبة XGBoost:
تعد خوارزمية XGBoost واحدة من العديد من خوارزميات التعزيز مفتوحة المصدر المتوفرة. في هذا القسم، سنقارن XGBoost بثلاثة أطر تعزيز أخرى.
تُعد خوارزمية AdaBoost خوارزمية تعزيز قديمة ابتكرها كل من Yoav Freund وRobert Schapire في عام 19957. في خوارزمية AdaBoost، يكون التركيز أكثر على التنبؤات غير الصحيحة من خلال نظام الأوزان الذي يؤثر بشكل كبير في نقاط البيانات التي من الصعب جدًا التنبؤ بها. أولاً، يُحدد لكل نقطة بيانات في مجموعة البيانات وزنًا معينًا. وكلما تنبأت نماذج التعلم الضعيفة بأحد النماذج على نحو صحيح، يقل وزن هذا النموذج. أما إذا أخطأت نماذج التعلم في نموذج ما، فإن وزن نقطة البيانات هذه سوف يزداد. عند إنشاء أشجار جديدة، تعتمد الأوزان على التصنيفات غير الصحيحة لأشجار نماذج التعلم السابقة. ومع زيادة عدد نماذج التعلم، فإن العينات التي يسهل التنبؤ بها سيقل استخدامها في نماذج التعلم المستقبلية، بينما نقاط البيانات التي يصعب التنبؤ بها سيتم ترجيحها بشكل بارز. ونظرًا إلى دقتهما وسرعتهما، أصبح التعزيز الاشتقاقي ومكتبة XGBoost يمثلان غالبًا بدائل فائقة عن خوارزمية AdaBoost.
تُعد مكتبة CatBoost إطار عمل آخر للتعزيز الاشتقاقي. طورتها شركة Yandex في عام 2017، وهو إطار متخصص في معالجة عناصر التصنيف من دون الحاجة إلى إجراء مهام ما قبل المعالجة، وعادةً ما يعمل جيدًا مباشرةً من دون الحاجة إلى إجراء ضبط مكثف للمعلمات الفائقة8. وكما هو الحال في مكتبة XGBoost، تتميز مكتبة CatBoost بدعم مدمج لمعالجة البيانات المفقودة. وتُعد مكتبة CatBoost مفيدة بصورة كبيرة لمجموعات البيانات التي تحتوي على العديد من عناصر التصنيف. وفقًا لشركة Yandex، يُستخدم الإطار في عمليات البحث وأنظمة التوصية وأدوات المساعِد الرقمي الشخصي والسيارات ذاتية القيادة والتنبؤ بالطقس وغيرها من المهام.
تُعد خوارزمية LightGBM (آلة التعزيز الاشتقاقي البسيط) آخر خوارزميات التعزيز الاشتقاقي التي سنستعرضها. طوَّرت شركة Microsoft خوارزمية LightGBM وأصدرتها لأول مرة في عام 20169. في حين أن معظم خوارزميات التعلم بطريقة أشجار القرار تعمل على تنمية الأشجار عموديًا، فإن خوارزمية LightGBM تستخدم إستراتيجية نمو الأشجار على أساس الأوراق10. وكما هو الحال في مكتبة XGBoost، تتميز خوارزمية LightGBM بسرعة ودقة تدريب النماذج وتؤدي أداءً جيدًا مع مجموعات البيانات الكبيرة.
تُستخدم XGBoost وأشجار القرار المعززة بالاشتقاق في مجموعة متنوعة من تطبيقات علوم البيانات، تشمل ما يلي:
1 "التعزيز الاشتقاقي الموسع والمرن"، https://xgboost.ai/.
2 Tianqi Chen وCarlos Guestrin، "XGBoost: نظام تعزيز الأشجار الموسع"، جامعة واشنطن، 10 يونيو 2016، https://arxiv.org/pdf/1603.02754.
3 "مقدمة إلى حزمة XGBoost Python، واجهة البيانات"، https://xgboost.readthedocs.io/en/stable/python/python_intro.html#data-interface.
4 "مرجع واجهة برمجة تطبيقات XGBoost، بنية البيانات الأساسية"، https://xgboost.readthedocs.io/en/stable/python/python_api.html#module-xgboost.core.
5 "معلمات XGBoost، معلمات مهمة التعلم"، https://xgboost.readthedocs.io/en/stable/parameter.html#learning-task-parameters.
6 "معلمات XGBoost لأداة تعزيز الأشجار"، https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster.
7 Yoav Freund وRobert E. Schapire، تعميم التعلم الإلكتروني بنظرية اتخاذ القرارات وتطبيقات التعزيز"، مجلة Journal of Computer and System Sciences، المجلد 55، ص. 119–139، أغسطس 1997.
8 "CatBoost هي مكتبة مفتوحة المصدر عالية الأداء للتعزيز الاشتقاقي بطريقة أشجار القرار"، https://catboost.ai/.
9 Qi Meng وGuolin Ke وTaifeng Wang وWei Chen وQiwei Ye وZhi-Ming Ma وTie-Yan Liu"خوارزمية توازي فعالة لأشجار القرار"، جامعة بكين، وبحث Microsoft ، والأكاديمية الصينية Academy of Mathematics and Systems Science، 4 نوفمبر 2016، https://arxiv.org/pdf/1611.01276.
10 "مزايا LightGBM، نمو الأشجار بإضافة الأوراق (الأفضل أولاً)"، https://lightgbm.readthedocs.io/en/latest/Features.html#leaf-wise-best-first-tree-growth.
11 "دروس XGBoost، نظرة عامة على تعلم الترتيب"، https://xgboost.readthedocs.io/en/latest/tutorials/learning_to_rank.html#overview.
12 AlAli Moneera وAlQahtani Maram وAlJuried Azizah وTaghareed AlOnizan وDalia Alboqaytah وNida Aslam وIrfan Ullah Khan، "التنبؤ بفعالية معدل النقر على الإعلانات عبر الهاتف المحمول باستخدام التعزيز الاشتقاقي الصارم"، كلية علوم الحاسب وتقنية المعلومات، جامعة الإمام عبد الرحمن بن فيصل، 12 سبتمبر 2020، https://www.techscience.com/cmc/v66n2/40673/html.
13 Yetunde Faith Akande وJoyce Idowu وAbhavya Gautam وSanjay Misra وOluwatobi Noah Akande وRanjan Kumar Behera، "تطبيق خوارزمية Xgboost للتنبؤ بالمبيعات باستخدام مجموعة بيانات Walmart"، جامعة لاندمارك، جامعة لادوك أكينتولا للتكنولوجيا، جامعة براندان، جامعة كوفيننت وجامعة XIM، يونيو 2022، https://www.researchgate.net/publication/361549465_Application_of_XGBoost_Algorithm_for_Sales_Forecasting_Using_Walmart_Dataset.
14 Jakub Palša وNorbert Ádám وJán Hurtuk وEva Chovancová وBranislav Madoš وMartin Chovanec وStanislav Kocan، "MLMD - أداة مكافحة الفيروسات القائمة على خوارزمية التعلم الآلي XGBoost للكشف عن البرامج الخبيثة"، MDPI.com مجلة العلوم التطبيقية، المجلد 12، 6672، 1 يوليو 2022، https://www.mdpi.com/2076-3417/12/13/6672.
15 "مجتمع التعلم الآلي (العميق) الموزع حلول XGBoost للفوز في تحديات التعلم الآلي"، https://github.com/dmlc/xgboost/tree/master/demo#machine-learning-challenge-winning-solutions.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com