تعد خواريمة تعزيز التدرج الشديد من الخوارزميات القوية وخصوصا في مجال مسابقات التعلم الآلي مثل Kaggle بفضل جمعها لعدد من الخوارزميات مثل أشجار القرار.
هل تهمك هاكوثونات ومسابقات التعلم الآلي؟ إذا قد سمعت بمسابقات Kaggle, والمعروف أنها أهم مسابقة في مجال التعلم الآلي والتي تضم أفضل وأكبر علماء البيانات, ولكن كانت المفاجأة عندما ظهرت خوارزمية أثبتت قدرتها ونجاحها في مسابقات التعلم الآلي, ألا وهي خوارزمية تعزيز التدرج الشديد XGBoost
ولكن ما سر اللقب الذي حققته خوارزمية تعزيز التدرج الشديد XGBoost في عالم مسابقات التعلم الآلي؟ هل تساءلت يوما عن الغموض الذي يكتنف هذا الألغاز الحسابية؟ منذ ظهورها البارز في عام 2014، أصبحت XGBoost الظاهرة الرائجة والأسطورة في هذا المجال.
في عالم المسابقات وهاكاثونات التعلم الآلي، حيث يتنافس المحترفون والخبراء للتغلب على تحديات معينة، يظهر تأثير XGBoost بوضوح, حيث تتيح للمشاركين في هذه المسابقات استفادة كاملة من إمكانياتها في تحسين دقة التنبؤات وتسريع العمليات الحسابية، مما يجعلها أداة أساسية لمن يسعى للتفوق في ميدان التعلم الآلي, بالإضافة الى تفوقها في التعامل مع مجموعة واسعة من المشاكل، سواء كانت تصنيفية أو تنبؤية.
أثبتت نفسها في مجالات متنوعة مثل توقع معدلات النقر في الإعلانات وتصنيف الأحداث في المجالات الفيزيائية ذات الطاقة العالية, فضلا عن أن قوتها وفعاليتها جعلتها أساسية في أدوات المشتركين في هذه البطولات، حيث يسعى الجميع إلى الوصول إلى أقصى قدر من الدقة والكفاءة لتحقيق التميز في عالم المسابقات والهاكاثونات.
ما هي القوة الخفية التي تجعلها السلاح الفعال للمحترفين في هاكاثونات التعلم الآلي؟ سنتعرف في هذا المقال على مفهوم هذه الخوارزمية وبماذا تمتاز وغيرها من المعلومات المفيدة, تجهز, لننطلق.
خوارزمية تعزيز التدرج الشديد eXtreme Gradient Boosting هي مكتبة برمجيات مفتوحة المصدر تقوم على أشجار القرار المعززة بتقنية التدرج, كما أنها تدعم عدة لغات برمجة مثل C++، Java، Python، R، Julia، Perl، وScala. هذا يعني أن المستخدمين يمكنهم استخدام اللغة التي يفضلونها لتنفيذ الخوارزمية, تتميز كذلك بقدرتها على العمل على أنظمة تشغيل متعددة مثل Linux و Microsoft Windows و macOS، مما يزيد من مرونتها و استخدامها في بيئات متنوعة. [1]
باستخدام هذه الخوارزمية يمكن بناء نماذج تعلم آلي قوية باستخدام أشجار القرار, لحل مشكلات تتعلق بمجالات مثل التصنيف والتحويل والترتيب.
في الواقع, تعتبر خوارزمية تعزيز التدرج الشديد خليطا من عدة خوارزميات مهمة في تعلم الآلة, مثل: التعلم الخاضع للإشراف Supervised Learning, أشجار القرار Decision Trees, والتعلم الجماعي Ensemble Learning, وخوارزمية تعزيز التدرج Gradient Boosting.
أولا: أشجار القرار Decision Trees
لنلقي نظرة على كل خوارزمية على حدى, أولا, أشجار القرار أو Decision Trees هي خوارزمية تعلم آلي تشبه في هيكلها هيكل الشجرة, بحيث يتدفق القرار خلال الهيكل, تتكون من عقدة رئيسية (الجذر) وفروع وعقد داخلية وعقد ورقية. شجرة القرار تبدأ بعقدة جذرية وتتفرع إلى عقد داخلية باستخدام تقييمات على الخصائص, يتم تكرار هذه العملية حتى يتم الوصول إلى عقد نهائي لكل مجموعة بيانات، حيث يحتوي العقد النهائي على تصنيف نهائي. القرارات تتخذ بناء على قيم الخصائص وتساهم في توجيه القرارات النهائية لتصنيف أو تحويل البيانات. [2]
ثانيا: التعلم الجماعي Ensemble Learning
ثانيا, خوارزمية التعلم الجماعي Ensemble Learning, تعتمد فكرة هذا النوع من التعليم على دمج التوقعات من عدة نماذج لتعزيز الدقة والمرونة في التنبؤ, كما أنها وسيلة للتخفيف من الأخطاء أو التحيزات التي قد تكون موجودة في النماذج الفردية عن طريق استغلال الذكاء الجماعي للمجموعة.[3] هناك نوعان للتعلم الجماعي: Bagging و Boosting.
أما عن النوع الأول وهو, Bootstrap Aggregating أو Bagging هي تقنية في تعلم الآلة تهدف إلى تحسين استقرار ودقة النماذج, عن طريق تكوين مجموعة من النماذج، حيث يتم تدريب كل نموذج على عينات فرعية عشوائية من البيانات باستخدام تقنية Bootstrap، ومن ثم دمج توقعات هذه النماذج للحصول على توقع نهائي. هذا يساعد في تقليل التباين وتجنب مشكلة Overfitting. يستخدم عادة مع نماذج مثل شجرة القرار.
اذا تستخدم تقنية Bagging مع أشجار القرار, حيث يتم جمع عدة أشجار قرار للحصول على نموذج يعرف ب الأشجار العشوائية Random Forest. تدمج توقعات الأشجار مع بعضها وبالتالي في التصنيف، يتم اتخاذ الإخراج النهائي باستناد إلى التصويت الأكثرية، بينما في التنبؤ، يكون الإخراج النهائي هو متوسط النتائج. مما يساهم في تحسين الاستقرار والدقة.
أما النوع الثاني وهو التعزيز Boosting, فهو يهدف إلى بناء نموذج قوي من مجموعة من النماذج الضعيفة. يتم ذلك عبر بناء نماذج متتابعة، حيث يقوم كل نموذج بتصحيح أخطاء النموذج السابق, يتم تكرار هذه العملية حتى يتم التنبؤ الصحيح لمجموعة البيانات أو حتى يتم الوصول إلى الحد الأقصى لعدد النماذج. ومن الأمثلة على هذا النوع هو خوارزمية تعزيز التدرج Gradient Boosting.
"Gradient Boosted Trees" هي تقنية في تعلم الآلة تستخدم أشجارا للتصنيف والتنبؤ لبناء نموذج قوي.
اذا بعدما وضحنا عدد من الخوارزميات المهمة التي تعتمد عليها خوارزمية تعزيز التدرج الشديد, بإمكاننا القول أنها عبارة عن تنفيذ لأشجار القرار المعزَزة بالتدرج Gradient Boosted Trees، حيث تنشئ أشجار القرار بالتسلسل, ويكون للأوزان دورا مهما فيها, يتم تخصيص أوزان لجميع المتغيرات المستقلة التي يتم إدخالها إلى شجرة القرار للتنبؤ بالنتائج.
يتم زيادة وزن المتغيرات التي تم التنبؤ بها بشكل خاطئ بواسطة الشجرة، وتغذى هذه المتغيرات ثم تنقل إلى شجرة القرار الثانية. تجمع هذه النماذج لإنتاج نموذج قوي وأدق. يمكن للنظام العمل على مشكلات التنبؤ بالتدرج، والتصنيف، وتصنيف الرتبة، ومشاكل التنبؤ المعرفة من قبل المستخدم.
ولكن لماذا كل هذه الأهمية لهذه الخوارزمية, في الواقع اكتسبت هذه الخوارزمية أهميتها لسببين رئيسين: سرعة الأداء وأداء النموذج. [4]
بالنسبة لسرعة الأداء, نحن نعرف أنه كلما زاد حجم البيانات التي نتعامل معها زاد زمن الاستجابة للأوامر, كما تتأثر سرعة الأداء سلبا بزيادة حجم البيانات بسبب زيادة تكلفة نقل البيانات, ولكن جاءت هذه الخوارزمية لتكون الحل لمشكلة حجم البيانات, حيث تسمح بأداء العمليات بشكل سريع جدا ودون التقيد بحجم معين للبيانات حيث يمكن التعامل مع حجم كبير للبيانات دون أن تتأثر سرعة التنفيذ, مما يسمح بالعمل بفعالية مع مجموعات بيانات أكبر بكثير مما يمكن تحقيقه باستخدام خوارزميات أخرى.
أما بالنسبة لأداء النموذج, تفوقت خوارزمية تعزيز التدرج الشديد على الخوارزميات الأخرى مثل الغابات العشوائية وأشجار القرار وغيرها في إنشاء نماذج تحليلية قوية وأفضل من أي خوارزمية أخرى, بسبب اعتمادها على خوارزميات مثل التعلم الجماعي Ensemble Learning, تستطيع الاستفادة من توقعات أكثر من نموذج للحصول على نموذج قوي بأداء فعال, بحيث تتميز هذه النماذج بالدقة والقدرة على التعامل مع مجموعة كبيرة من البيانات وبالتالي تحقيق أفضل النتائج.
أهم المميزات التي جعلت خوارزمية تعزيز التدرج الشديد من أهم الخوارزميات المستخدمة:
نعم بالطبع لها عيوب, لا شيء يخلوا من العيوب ولكن هذا لا يلغي أهميتها ومميزاتها التي لا مثيل لها, من أبرز العيوب المتعلقة بها: [7]
الخاتمة
لنلخص أبرز ما جاء في هذا المقال عن هذه الخوارزمية, بداية هي خوارزمية مفتوحة المصدر أي يمكن لعلماء البيانات والمحللين من تعديل وتطوير برمجيتها وهذا يجعلها دائمة التطور, تدعم عدة لغات برمجة من أهمها: لغة Python و Java و ++C. تجمع الخوارزمية بين خوارزميات تعد من أهم الخوارزميات في التعلم الآلي مثل أشجار القرار والتعلم الجماعي Ensemble Learning والتعزيز Boosting, وهذا ما يجعلها من أقوى وأفضل الخوارزميات لمسابقات التعلم الآلي بسبب قدرتها على إنشاء نماذج قوية في مجال التحليل والتنبؤ والتصنيف.
تكمن أهمية خوارزمية تعزيز التدرج الشديد XBboost في أنها سريعة في التنفيذ مهما كان حجم البيانات كبيرا, بالإضافة الى أداء النماذج القوي والدقيق.
أخيرا, ذكرنا بعض عيوبها مثل تكلفتها الحسابية العالية بسبب تعاملها مع نماذج ضخمة, وأيضا احتياجها الى ذاكرة كبيرة جدا.
خوارزمية تعزيز التدرج الشديد تشكل العقل الذكي للآلة، حيث تمنح الأنظمة الذكية القدرة على تعلم وتحسين أدائها تدريجيًا بشكل ذاتي، وكأنها تمتلك روحًا تطورية تسعى لتحقيق الكمال في مهامها.
المصادر