XGBoost
الگو:Infobox software XGBoost[۱] یک کتابخانه نرمافزار آزاد است که چارچوب تقویت گرادیان برای ++C، جاوا، پایتون،[۲] R,[۳] و جولیا،[۴] پرل[۵] و اسکالا را فراهم میکند. در لینوکس،[۶] ویندوز، مکاواس[۷] کار میکند. هدف ارائه یک کتابخانه «مقیاسپذیر، قابلحمل و توزیعشده» (gbm, GBRT, GBDT) است. علاوه بر اجرای یک ماشین واحد، همچنین از چارچوبهای پردازش توزیعشده آپاچی اسپارک، آپاچی هدوپ، آپاچی فلینک و داسک (نرمافزار) پشتیبانی میکند.[۸][۹] این الگوریتم انتخاب بسیاری از تیمهای برندهٔ شماری از رقابتهای یادگیری ماشین بود و محبوبیت و توجه زیادی به دست آوردهاست.[۱۰]
تاریخچه
XGBoost در ابتدا به عنوان یک پروژه تحقیقاتی توسط تیانگی چن به عنوان بخشی از گروه یادگیری عمیق ماشینی توزیعشده آغاز شد.[۱۱] در ابتدا به عنوان یک برنامه ترمینال (terminal application) آغاز شد که میتوانست با استفاده از یک فایل پیکربندی libsvm پیکربندی شود. پس از پیروزی در چالش یادگیری ماشین هیگز، به عنوان بخشی از چرخهٔ مسابقه شناخته شد. پس از آن بستههای زبانهای پایتون و R ساخته شدند و اکنون برای بسیاری از زبانهای دیگر مثل جولیا، Scala، جاوا و غیره بستههایی دارد و در بین جامعه کگل که برای تعداد زیادی از رقابتها از آن استفاده شدهاست، محبوب است.[۱۲]
خیلی زود با چندین بسته دیگر مورد استفاده قرار گرفت و در حال حاضر برای کاربران پایتون همراه با کتابخانهٔ scikit-learn و برای کاربران R همراه با بسته caret ارائه میشود.
الگوریتم
الگوریتم داده آموزشیِ ، یک تابع مشتقپذیر هزینه و یک نرخ یادگیریِ به عنوان ورودی میگیرد و به این شکل مدل نهائی را میسازدː
- اولین مدل ضعیف عددی ثابت است که تابع هزینه را کمینه میکند:
- برای تا :
- مدل نهائی عبارت است از
جوایز
- جایزه جان چمبرز (۲۰۱۶)
- جایزه High Energy Physics meets Machine Learning (2016)