Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

XGBoost

استكشف XGBoost، المكتبة الرائدة في تعزيز التدرج للبيانات الجدولية. تعرف على كفاءتها، والتعلم الجماعي، والتكامل مع Ultralytics .

XGBoost، أو Extreme Gradient Boosting، هي مكتبة برمجيات موزعة ومُحسّنة للغاية مصممة لتنفيذ خوارزميات التعلم الآلي في إطار Gradient Boosting. تشتهر XGBoost بكفاءتها الاستثنائية ومرونتها وقابليتها للنقل، وقد أصبحت الخيار الأول لعلماء البيانات الذين يعملون مع البيانات المنظمة أو الجدولية. تعمل عن طريق الجمع بين تنبؤات متعددة "ضعيفة" — عادةً ما تكون أشجار قرارسطحية — لإنشاء متعلم "قوي" واحد. تسمح هذه التقنية، المعروفة باسم التعلم الجماعي، للنموذج بتصحيح الأخطاء التي ارتكبتها الأشجار السابقة في التسلسل، مما يؤدي إلى نتائج متطورة لمهام التصنيف والانحدار والترتيب .

الآليات الأساسية والمزايا

تكمن قوة XGBoost في تحسين النظام والتحسينات الخوارزمية. على عكس تقنيات التعبئة مثل Random Forest، التي تبني الأشجار بشكل مستقل، يبني XGBoost الأشجار بشكل متسلسل. تحاول كل شجرة جديدة تقليل أخطاء (بقايا) الأشجار السابقة. لمنع النموذج من أن يصبح معقدًا للغاية ويحفظ الضوضاء في بيانات التدريب، يدمج XGBoost مصطلحي L1 (Lasso) و L2 (Ridge) للتنظيم في وظيفته الموضوعية. هذه الحماية المدمجة ضد التكيف المفرط هي عامل تمييز رئيسي يضمن أداءً قويًا على البيانات غير المرئية.

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

مقارنة مع الخوارزميات ذات الصلة

على الرغم من أن XGBoost هو قوة مهيمنة، إلا أنه من المفيد فهم كيف يختلف عن مكتبات التعزيز الأخرى الموجودة في مجال التعلم الآلي (ML):

  • XGBoost مقابل LightGBM: غالبًا ما يُشار إلى LightGBM بسبب سرعة التدريب الأعلى واستخدام الذاكرة الأقل، ويرجع ذلك أساسًا إلى نهجه القائم على الرسم البياني ونمو الشجرة على أساس الأوراق. على الرغم من أن XGBoost قد أضاف ميزات مماثلة في الإصدارات الحديثة، إلا أن LightGBM يُفضل عمومًا للمجموعات الضخمة جدًا من البيانات حيث يمثل وقت التدريب عقبة.
  • XGBoost مقابل CatBoost: يتفوق CatBoost في التعامل مع السمات الفئوية بشكل أصلي دون معالجة مسبقة مكثفة (مثل الترميز أحادي التفعيل). يتطلب XGBoost عادةً إدخالًا رقميًا، مما يعني أنه يجب تحويل المتغيرات الفئوية قبل التدريب.
  • XGBoost مقابل التعلم العميق: XGBoost هو المعيار للبيانات الجدولية (جداول البيانات وقواعد بيانات SQL). في المقابل، تعتبر نماذج التعلم العميق (DL) ، مثل تلك القائمة على بنية Ultralytics أفضل للبيانات غير المنظمة مثل الصور والصوت والفيديو.

تطبيقات واقعية

يتم استخدام XGBoost على نطاق واسع في مختلف القطاعات لحل المشكلات التجارية الحرجة.

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

التكامل مع الرؤية الحاسوبية

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

مثال على الرمز

يوضح المثال التالي كيفية تدريب مصنف باستخدام Python XGBoost Python . يفترض هذا المقتطف أن البيانات قد تمت معالجتها مسبقًا.

import xgboost as xgb
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split

# Load dataset and split into train/test sets
data = load_wine()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2)

# Initialize and train the XGBoost classifier
model = xgb.XGBClassifier(n_estimators=50, max_depth=4, learning_rate=0.1)
model.fit(X_train, y_train)

# Evaluate the model
print(f"Accuracy: {model.score(X_test, y_test):.4f}")

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

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن