اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

قبل بناء كل شجرة، ما يحدث هو اختيار 70% من بيانات التدريب عشوائيًا بدون إحلال لتدريب الشجرة، والـ30% المتبقية لا تُستخدم في بناء تلك الشجرة تحديدًا.

وفي كل مرة تُبنى فيها شجرة جديدة أثناء عملية التعزيز التسلسلي، تُختار عينة جديدة بنسبة 70% من بيانات التدريب، بالتالي أحيانًا يُعتمد على بعض نقاط البيانات في أكثر من شجرة، وأيضًا تُستبعد بعض النقاط في أشجار معينة، وربما تُستخدم في أشجار لاحقة.

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

إذن في وجود 1000 عينة تدريب، عند بناء الشجرة الأولى، ستُستخدم 700 عينة عشوائية (70%)، وتُهمل 300 عينة، وفي بناء الشجرة الثانية، تُختار 700 عينة جديدة عشوائيًا ربما تتضمن بعض العينات من الـ700 السابقة، وتستمر العملية حتى اكتمال جميع الأشجار.

  • 0
نشر

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

نعم إذا كانت قيمة المعامل subsample في نموذج XGBoost تساوي 0.7 فهذا يعني أن النموذج سيستخدم 70% فقط من بيانات التدريب في كل عملية بناء شجرة أو تكرار. و ال 30% المتبقية لن تستخدم.

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...