حساب کاربری
​
تغیر مسیر یافته از - Xgboost
زمان تقریبی مطالعه: 3 دقیقه
لینک کوتاه

XGBoost

XGBoost یک کتابخانه نرم‌افزار آزاد است که چارچوب تقویت گرادیان برای ++C، جاوا، پایتون، R, و جولیا، پرل و اسکالا را فراهم می‌کند. در لینوکس، ویندوز، MacOS کار می‌کند. هدف ارائه یک کتابخانه «مقیاس‌پذیر، قابل‌حمل و توزیع‌شده» (gbm, GBRT, GBDT) است. علاوه بر اجرای یک ماشین واحد، همچنین از چارچوب‌های پردازش توزیع‌شده آپاچی اسپارک، آپاچی هدوپ، آپاچی فلینک و داسک (نرم‌افزار) پشتیبانی می‌کند. این الگوریتم انتخاب بسیاری از تیم‌های برندهٔ شماری از رقابت‌های یادگیری ماشین بود و محبوبیت و توجه زیادی به دست آورده‌است.

Xgboost
XGBoost
توسعه‌دهنده(ها)The XGBoost Contributors
انتشار ابتدایی۲۷ مارس ۲۰۱۴؛ ۸ سال پیش (۲۰۱۴-۰۳-27)
انتشار پایدار
۰٫۷۰
۳۰ دسامبر ۲۰۱۷؛ ۵ سال پیش (۲۰۱۷-۱۲-30)
مخزن
  • github.com/dmlc/xgboost
نوشته‌شده باسی پلاس‌پلاس
سیستم‌عامللینوکس، مک‌اواس، مایکروسافت ویندوز
گونهیادگیری ماشین
پروانهمجوز آپاچی ۲٫۰
وبگاه
xgboost.ai

فهرست

  • ۱ تاریخچه
  • ۲ الگوریتم
  • ۳ جوایز
  • ۴ جستارهای وابسته
  • ۵ منابع

تاریخچه

XGBoost در ابتدا به عنوان یک پروژه تحقیقاتی توسط تیانگی چن به عنوان بخشی از گروه یادگیری عمیق ماشینی توزیع‌شده آغاز شد. در ابتدا به عنوان یک برنامه ترمینال (terminal application) آغاز شد که می‌توانست با استفاده از یک فایل پیکربندی libsvm پیکربندی شود. پس از پیروزی در چالش یادگیری ماشین هیگز، به عنوان بخشی از چرخهٔ مسابقه شناخته شد. پس از آن بسته‌های زبان‌های پایتون و R ساخته شدند و اکنون برای بسیاری از زبان‌های دیگر مثل جولیا، Scala، جاوا و غیره بسته‌هایی دارد و در بین جامعه Kaggle که برای تعداد زیادی از رقابت‌ها از آن استفاده شده‌است، محبوب است.

خیلی زود با چندین بسته دیگر مورد استفاده قرار گرفت و در حال حاضر برای کاربران پایتون همراه با کتابخانهٔ scikit-learn و برای کاربران R همراه با بسته caret ارائه می‌شود.

الگوریتم

الگوریتم N

داده آموزشیِ { ( x i , y i ) } i = 1 N
، یک تابع مشتق‌پذیر هزینه L ( y , F ( x ) )
و یک نرخ یادگیریِ α
به عنوان ورودی می‌گیرد و به این شکل مدل نهائی را می‌سازدː

  1. اولین مدل ضعیف عددی ثابت است که تابع هزینه را کمینه می‌کند:
    f ^ ( 0 ) ( x ) = arg ⁡ min θ ∑ i = 1 N L ( y i , θ ) .
  2. برای m = 1
    تا M
    :
    1. گرادیان و هسین به این شکل محاسبه می‌شوند
      g ^ m ( x i ) = [ ∂ L ( y i , f ( x i ) ) ∂ f ( x i ) ] f ( x ) = f ^ ( m − 1 ) ( x ) .
      h ^ m ( x i ) = [ ∂ 2 L ( y i , f ( x i ) ) ∂ f ( x i ) 2 ] f ( x ) = f ^ ( m − 1 ) ( x ) .
    2. مدل برای داده‌های { x i , − g ^ m ( x i ) h ^ m ( x i ) } i = 1 N
      به این شکل یادگرفته می‌شود:
      ϕ ^ m = arg ⁡ min ϕ ∈ Φ ∑ i = 1 N 1 2 h ^ m ( x i ) [ − g ^ m ( x i ) h ^ m ( x i ) − ϕ ( x i ) ] 2 .
      f ^ m ( x ) = α ϕ ^ m ( x ) .
    3. مدل به این شکل به روز می‌شود:
      f ^ ( m ) ( x ) = f ^ ( m − 1 ) ( x ) + f ^ m ( x ) .
  3. مدل نهائی عبارت است از f ^ ( x ) = f ^ ( M ) ( x ) = ∑ m = 0 M f ^ m ( x ) .

جوایز

  • جایزه جان چمبرز (۲۰۱۶)
  • جایزه High Energy Physics meets Machine Learning (2016)

جستارهای وابسته

  • آدابوست
  • تقویت گرادیان
  • گرادیان
  • ماتریس هسین

منابع

  1. ↑ "GitHub project webpage".
  2. ↑ "Python Package Index PYPI: xgboost". Retrieved 2016-08-01.
  3. ↑ "CRAN package xgboost". Retrieved 2016-08-01.
  4. ↑ "Julia package listing xgboost". Archived from the original on 18 August 2016. Retrieved 2016-08-01.
  5. ↑ "CPAN module AI::XGBoost". Retrieved 2020-02-09.
  6. ↑ "Installing XGBoost for Anaconda in Windows". Retrieved 2016-08-01.
  7. ↑ "Installing XGBoost on Mac OSX". Retrieved 2016-08-01.
  8. ↑ "Dask Homepage".
  9. ↑ "Distributed XGBoost with Dask — xgboost 1.5.0-dev documentation". xgboost.readthedocs.io. Retrieved 2021-07-15.
  10. ↑ "XGBoost - ML winning solutions (incomplete list)". Retrieved 2016-08-01.
  11. ↑ "Story and Lessons behind the evolution of XGBoost". Archived from the original on 7 August 2016. Retrieved 2016-08-01.
  12. ↑ "XGBoost - ML winning solutions (incomplete list)". Retrieved 2016-08-01.
آخرین نظرات
کلیه حقوق این تارنما متعلق به فرا دانشنامه ویکی بین است.