القيود التفاعلية في التعزيز تحدد الخصائص المسموح أن تجتمع في مسار شجرة. يعرّف XGBoost هذا التفاعل عبر اختبارات تظهر معًا في الطريق إلى الورقة. [1]
الخلاصة السريعة
يمكن تحديد مجموعات لخصائص تتفاعل معًا أثناء بناء الأشجار؛ منع اجتماع خاصيتين في مسار لا يعني حذف إحداهما من النموذج كله. [1]
- تعبّر القوائم عن مجموعات تفاعل أثناء بناء الأشجار؛ المسار هو موضع قراءة القيد. [1]
- مع مجموعتين منفصلتين للطول والعرض من جهة واللون من جهة، نفحص اجتماع الاختبارات لا مجرد وجود اللون في النموذج.
- السماح بتفاعل الطول والعرض لا يحدد اتجاه أثر أي منهما، ولا يثبت أن التفاعل مفيد.
- تداخل المجموعات يوسع ما يسمح به المسار في XGBoost؛ لا تقرأه دائمًا كحظر ثنائي بسيط. [1]
أين يطبق قيد التفاعل؟
توضح الوثائق استعمال interaction_constraints كقائمة مجموعات. الخصائص في المجموعة المنفصلة يجوز أن تتفاعل داخل المسار، دون خصائص المجموعة المنفصلة الأخرى. [1]
اقرأ الورقة من اختبارات أسلافها، لا من قائمة كل الخصائص التي ظهرت في جميع الأشجار. السؤال عن عرض بطاقة بعد السؤال عن طولها يجعل الشرط الثاني مرتبطًا بالمنطقة التي حددها الأول. لهذا نحتاج وصف الطريق إلى النتيجة عند فحص اجتماع الخصائص، بدل عد أسماء الأعمدة فقط.
مثال مجموعتين لا تتداخلان
نفرض ثلاث خصائص لبطاقات مصطنعة: الطول، والعرض، واللون. ونختار مجموعتين منفصلتين: [الطول، العرض] و[اللون]. هذه أسماء تعليمية؛ تعبير البرنامج الفعلي يحتاج فهارس الأعمدة أو أسماءها الموثقة.
المسار «الطول أكبر من 8، ثم العرض أكبر من 5» يستعمل المجموعة الأولى وحدها. أما «الطول أكبر من 8، ثم اللون أزرق» فيخلط المجموعتين في المسار نفسه، فيخالف القيد الذي افترضناه. تكرار اختبار الطول في الطريق لا يدخل خاصية من مجموعة أخرى.
لو استعملت شجرة أخرى اللون وحده، فلا يناقض ذلك فصل المجموعتين في المسارات. يمكن أن تسهم نتائج أشجار مختلفة في المخرج النهائي. لذلك لا يجيز القيد قولًا مثل «اللون لا يؤثر في النتيجة». هذا استنتاج أوسع من فحص اجتماع الاختبارات الذي أجريناه هنا.
السماح لا يحدد الاتجاه ولا الفائدة
في المسار الأول، يمكن أن نعطي الورقة تقديرًا مرتفعًا أو منخفضًا بحسب ما تعلم النموذج. قائمة السماح لا تقول إن زيادة الطول يجب أن تزيد التقدير. إذا كان هدفك فرض اتجاه، فاكتب هذا الهدف مستقلًا، ولا تعتبر مجرد جمع خاصيتين جوابًا عنه.
ولا تعني إزالة مسار مخالف أن كل مسار مسموح سينجح مع بيانات جديدة. القيد يضيق الخيارات وفق قرارنا؛ علينا تبرير ذلك القرار بالمهمة. قارن النتائج الفعلية قبل اعتمادها، واكتب سبب منع التفاعل بدل الاكتفاء بعبارة أنه «أكثر وضوحًا». الوضوح وحده لا يثبت صحة افتراضنا.
ماذا لو تداخلت المجموعات؟
يبين توثيق XGBoost أن اشتراك خاصية في مجموعتين قد يتيح خصائص من اتحادهما، بحسب مسار النمو؛ وبعض القوائم المتداخلة تكافئ قائمة واحدة أوسع. [1]
لذلك احتفظ في المثال السابق بفصل المجموعتين إذا أردت قراءة الحظر البسيط المعروض. عند إدخال خاصية مشتركة، راجع أمثلة التنفيذ المتقدمة وأعد فحص المسارات المسموح بها. دوّن القيد كاملًا، وترتيب الخصائص، والهدف المقصود منه؛ ملخص «هذه الخاصية لا تتفاعل مع تلك» قد يخفي أثر التداخل.
المصادر ومتابعة القراءة
- XGBoost: Feature Interaction Constraints (يفتح في نافذة جديدة)xgboost.readthedocs.io
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
