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

XGBoost

اكتشف XGBoost، خوارزمية التعلم الآلي القوية والسريعة والمتعددة الاستخدامات للتنبؤات الدقيقة في مهام التصنيف والانحدار.

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

الآليات الأساسية لـ XGBoost

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

يتميز XGBoost بعدة تطورات هندسية رئيسية:

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

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

نظرًا لقابليته للتوسع وسرعته، يتم استخدام XGBoost في بيئات الإنتاج الحيوية في مختلف القطاعات.

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

مقارنة مع نُهج أخرى

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

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

مثال على التنفيذ

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

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

# Load a standard dataset and split it
data = load_iris()
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=10, max_depth=3, learning_rate=0.1)
model.fit(X_train, y_train)

# Make predictions on the test set
print(f"Predictions: {model.predict(X_test)[:5]}")

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

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

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

انضم الآن