خطوات الاستخدام
الخطوة الأولى: فهم مفهوم الجولات في XGBoost. في خوارزمية تعزيز التدرج (Gradient Boosting)، تشير الجولات (n_estimators) إلى عدد الأشجار التي يتم بناؤها بشكل متتالٍ. كل جولة تحاول تصحيح أخطاء الجولة السابقة. اختيار العدد الأمثل أمر بالغ الأهمية: عدد قليل جدًا يؤدي إلى نقص التعلم (underfitting)، وعدد كبير جدًا يؤدي إلى فرط التعلم (overfitting). القاعدة الأساسية: كلما زاد حجم مجموعة البيانات (عدد العينات والخصائص)، زادت الحاجة إلى جولات أكثر، ولكن مع معدل تعلم أقل. العلاقة الرياضية التقريبية هي: الجولات المثلى ≈ (عدد العينات × عدد الخصائص) / (معدل التعلم × ثابت). الثابت يعتمد على التعقيد، ويمكن تقديره بـ 100 تقريبًا. أدخل عدد العينات (samples): يمثل حجم بيانات التدريب. كلما زادت العينات، زادت الحاجة إلى جولات للتقاط الأنماط.
الخطوة الثانية: إدخال عدد الخصائص (features). الخصائص هي المتغيرات المستقلة المستخدمة للتنبؤ. كلما زاد عدد الخصائص، زاد تعقيد النموذج، مما يتطلب جولات إضافية لتعلم العلاقات. لكن احذر: عدد كبير جدًا من الخصائص مع عدد قليل من العينات قد يؤدي إلى فرط التعلم بسرعة. أدخل عدد الخصائص في الحقل المخصص.
الخطوة الثالثة: إدخال معدل التعلم (learning rate). معدل التعلم (eta) يتحكم في مساهمة كل شجرة. عادة ما تكون القيم بين 0.01 و 0.3. معدل تعلم صغير يتطلب جولات أكثر لتحقيق أداء جيد، بينما معدل كبير يقلل الجولات المطلوبة ولكن قد يؤدي إلى عدم الاستقرار. العلاقة عكسية تقريبًا: المضاعفة في معدل التعلم تقلل الجولات إلى النصف. أدخل معدل التعلم.
الخطوة الرابعة: حساب العدد الأمثل. تستخدم الآلة الحاسبة معادلة تقريبية: optimal_rounds = (samples * features) / (learning_rate * 100). هذا يعطيك تقديرًا أوليًا. للحصول على دقة أعلى، يوصى باستخدام التحقق المتقاطع أو الإيقاف المبكر (early stopping). الإيقاف المبكر يتوقف عن التدريب عندما لا تتحسن الدقة على مجموعة التحقق بعد عدد معين من الجولات. أدخل القيم واضغط 'احسب' للحصول على التقدير.
الخطوة الخامسة: تفسير النتيجة والتحسين. النتيجة هي عدد الجولات المقترح كبداية. يجب تعديلها بناءً على أداء النموذج على بيانات التحقق. جرب قيمًا حول التقدير (مثل 50% أكثر أو أقل) واستخدم الإيقاف المبكر لضبط العدد النهائي. تذكر أن الجولات المثلى تختلف حسب طبيعة البيانات ومشكلة التعلم.
أمثلة محلولة
تطبيقات عملية على الجولات المثلى لتعزيز التدرج بخطوات الحل كاملة.
الحل
الإجابة: نقوم بإدخال القيم: samples=10000, features=20, learningRate=0.1. الحساب: (10000 × 20) / (0.1 × 100) = 200000 / 10 = 20,000 جولة. هذا تقدير أولي. لكن في الواقع، 20,000 جولة كثيرة جدًا وقد تؤدي إلى overfitting بسرعة، خاصة مع هذا الحجم المتوسط. يجب أن نبدأ بعدد أقل، مثلاً 500-1000 جولة، ونستخدم إيقافًا مبكرًا مع مجموعة تحقق (validation set) لمراقبة الأداء. إذا تحسنت الدقة ببطء، يمكن زيادة الجولات. أيضًا، يمكن زيادة معدل التعلم قليلاً (مثل 0.2) لتقليل الجولات المطلوبة. في النتيجة، قد يكون العدد الأمثل الفعلي بين 1000 و 3000 جولة، وليس 20,000. الآلة الحاسبة تعطي تقديرًا، لكنه يحتاج إلى تكييف مع مشكلتك.
الحل
الإجابة: الحساب: (1,000,000 × 500) / (0.01 × 100) = 500,000,000 / 1 = 500,000,000 جولة. هذا رقم ضخم جدًا (500 مليون) وغير عملي تدريبه في وقت معقول. في الحقيقة، مع هذا الحجم الهائل من البيانات، حتى 1000 جولة قد تكون كافية للحصول على أداء جيد، لأن كل شجرة ترى عددًا كبيرًا من العينات. النقطة المهمة: كلما زادت البيانات، قلّت الحاجة إلى جولات كثيرة، لأن كل شجرة تتعلم أنماطًا قوية. هنا، يجب استخدام معدل تعلم أكبر (مثل 0.05 أو 0.1) لتقليل الجولات. أيضًا، يمكن استخدام تقنيات مثل subsampling أو تقليل الخصائص (feature selection) لجعل النموذج أسرع. العدد العملي قد يكون 500-2000 جولة. الآلة الحاسبة تظهر أن التقدير الرياضي غير مناسب للحالات القصوى، لذلك هي أداة توجيهية فقط.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة الجولات المثلى لتعزيز التدرج.
10,000 عينة و20 ميزة بمعدل 0.1: 20,000 جولة (تقدير نظري)
- عدد العينات
- 10,000
- عدد الميزات
- 20
- معدل التعلم (0.01-0.3)
- 0.1
5,000 عينة و50 ميزة بمعدل 0.05: 50,000 جولة
- عدد العينات
- 5,000
- عدد الميزات
- 50
- معدل التعلم (0.01-0.3)
- 0.05
حالة صغيرة: 100 على 30 = 3.33 يتقرب إلى 4 جولات
- عدد العينات
- 10
- عدد الميزات
- 10
- معدل التعلم (0.01-0.3)
- 0.3
مليون عينة و500 ميزة بمعدل 0.01: 500 مليون جولة (غير عملية)
- عدد العينات
- 1,000,000
- عدد الميزات
- 500
- معدل التعلم (0.01-0.3)
- 0.01