تقویت گرادیان

از testwiki
نسخهٔ تاریخ ۲۴ ژوئن ۲۰۲۴، ساعت ۰۴:۰۰ توسط imported>Tarikhejtemai (الگوریتم)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

تقویت گرادیان یا گرادیان بوستینگ الگو:به انگلیسی یک روش یادگیری ماشین برای مسائل رگرسیون و طبقه‌بندی است. مدل تقویت گرادیان ترکیبی خطی از یک سری مدل‌های ضعیف است که به صورت تناوبی برای ایجاد یک مدل نهائیِ قوی ساخته شده‌است.[۱][۲] این روش به خانواده الگوریتم‌های یادگیری گروهی تعلق دارد و عملکرد آن همواره از الگوریتم‌های اساسی یا ضعیف (مثلا درخت تصمیم) یا روش‌های براساس کیسه‌گذاری (مانند جنگل تصادفی) بهتر است. اما صحت این گزاره تا حدی از مشخصات داده‌های ورودی تأثیر می‌پذیرد.[۳][۴]

مقدمه

مانند دیگر روش‌های تقویتی (بوستینگ)، تقویت گرادیان (گرادیان بوستینگ) ترکیبی خطی از یک سری از مدل‌های ضعیف برای ایجاد یک مدل قوی و کارآمد است.[۴] ساده‌ترین مثال برای توضیح تقویت گرادیان، مثال کمترین مربعات در مسئله رگرسیون است که در آن هدف، یادگیری یک مدل به اسم F برای کمینه کردن 1ni(y^iyi)2 یا میانگین مربعات خطا است. در اینجا yi^=F(xi)، n تعداد داده‌های ماست و (xi,yi) داده iام است.[۴]

برای پیدا کردن F به صورت مرحله‌ای عمل می‌کنیم. در مرحله m به مدل Fm که تا به حال ساخته‌ایم یک مدل دیگر اضافه می‌کنیم به اسم h و مدل Fm+1 را می‌سازیم،[۴] به عبارت دیگر Fm+1(x)=Fm(x)+h(x). مدل h را به گونه‌ای انتخاب می‌کنیم که بتواند تفاضل y با پیش‌بینی مدلِ مرحله قبلی را پیش‌بینی کند یعنی yFm(x) را، در اینجا پیش‌بینی مرحله قبلی Fm(x) است. به عبارت دیگر هدف پیش‌بینی باقیمانده‌هاست، یعنی yFm(x). باقیمانده‌ها را از یک منظر دیگر نیز می‌توان دید، آن‌ها در واقع منفی گرادیان مربع خطا هستند، یعنی منفی گرادیان تابع 12(F(x)y)2.

الگوریتم

فرض کنید داده‌هایی که مدل برای یادگیری از آن‌ها استفاده می‌کند {(x1,y1),,(xn,yn)} باشد و هدف از یادگیری، کمینه کردن یک تابع ضرر به اسم L باشد؛ یعنی F^=argminF𝔼x,y[L(y,F(x))]

در مدل تقویت گرادیان این کار به صورت متناوب انجام می‌شود[۲][۵] و مدل نهایی برابر خواهد بود با F^(x)=i=1Mγihi(x)+F0.

در اینجا hi‌ها مدل‌هایی هستند که از یک گروه از مدل‌های به اسم انتخاب می‌شوند، به عنوان مثال می‌تواند مجموعه درخت‌های تصمیم‌گیری با عمق ۱۰ یا کمتر باشد.[۲]

اولین مدل یک عدد ثابت است به اسم F0 که به صورت ذیل انتخاب می‌شود:

F0=argminγi=1nL(yi,γ)

بقیه مدل‌ها به این صورت ساخته و فراگرفته می‌شوند:

Fm(x)=Fm1(x)+argminhm[i=1nL(yi,Fm1(xi)+hm(xi))]

برای انجام این مرحله از گرادیان تابع ضرر به این شکل استفاده می‌کنیم: الگو:وسط‌چین Fm(x)=Fm1(x)γmi=1nFm1L(yi,Fm1(xi)), الگو:پایان وسط‌چین الگو:وسط‌چین γm=argminγi=1nL(yi,Fm1(xi)γFm1L(yi,Fm1(xi))) الگو:پایان وسط‌چین به عبارت دیگر ما بدنبال مدلسازی منفی گرادیان تابع ضرر در هر مرحله هستیم یعنی یک مدل به اسم hm از که بتواند با داده پایین تابع ضرر را کمینه کند:[۵] الگو:وسط‌چین {(x1,Fm1L(y1,Fm1(x1))),,(xn,Fm1L(yn,Fm1(xn)))} الگو:پایان وسط‌چین الگوریتم کلی را می‌توان به شکل پایین خلاصه کرد:[۲][۵]

  • F0=argminγi=1nL(yi,γ)
  • برای m از 1 تا M:
    • برای i از 1 تا n:
      • rim=[L(yi,F(xi))F(xi)]F(x)=Fm1(x)
    • برای داده‌های {(xi,rim)}i=1n یک مدل به اسم hm از انتخاب کن که تابع ضرر را به حداقل برساند، به عبارت دیگر hm=argminhL(rim,h(xi))
    • γm=argminγi=1nL(yi,Fm1(xi)+γhm(xi))
    • Fm(x)=Fm1(x)+γmhm(x)
  • مدل نهایی FMاست.

درختِ تقویت گرادیان

در این مدل یا مجوعه مدل‌های ما درخت‌های تصمیم‌گیری هستند. در مرحله m، مدل فراگرفته شده یک درخت است به اسم hm(x) که توانسته منفی گرادیانها را مدلسازی کند. این درخت اگر Jm برگ داشته باشد، فضای برداری 𝒳 را به Jmزیرفضای تجزیه می‌کند، این زیرفضاها با هم اشتراکی ندارند و اجتماعشان کل 𝒳 را تشکیل می‌دهد. این زیرفضاها را R1m,,RJmm می‌نامیم. hm(x) برای هر کدام از این زیرفضاها یک پیش‌بینی جداگانه دارد به اسم bjm. bjm یا میانگین داده‌های خروجی، اگر مسئله رگرسیون باشد، یا مُدِ دسته (دسته‌ای که از همه بیشتر اتفاق افتاده باشد:[۶]hm(x)=j=1Jmbjm𝟏Rjm(x)

hm(x) در ضریبی به اسم γm ضرب می‌شود که تابع ضرر را کمینه کند، به عبارت دیگر γm=argminγi=1nL(yi,Fm1(xi)+γhm(xi)) و مدل در این مرحله به این شکل به‌روز می‌شود: Fm(x)=Fm1(x)+γmhm(x)

به پیشنهاد فریدمن به جای اینکه در هر مرحله یک ضریب کلی به اسم γm فراگرفته شود، بهتر است Jm ضریب به تعداد تمام زیرفضاهای ایجاد شده توسط hm فراگرفته شود و الگوریتم به این شکل تغییر کند):[۵] الگو:وسط‌چین Fm(x)=Fm1(x)+j=1Jmγjm𝟏Rjm(x),γjm=argminγxiRjmL(yi,Fm1(xi)+γ) الگو:پایان وسط‌چین

مشخصات درخت

اگر J را اندازه تعداد برگهای درخت یا همان تعداد زیرفضاهای 𝒳 بگیریم معمولاً 4J8 مدل خوبی ایجاد می‌کند.[۵]

اهمیت متغیرها

این الگوریتم می‌تواند، مانند درخت تصمیم یا جنگل تصادفی، برای رتبه‌بندی اهمیت متغیرها به کار رود. فرمول اهمیت متغیرها در الگوریتم تقویت گرادیان با همان درخت تصمیم یکی است، اما در این الگوریتم امتیاز تمام یادگیرنده‌های ضعیف (یعنی درخت‌های تصمیم) میانگین‌گیری می‌شود.[۱][۴]

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

منابع

الگو:پانویس

  1. ۱٫۰ ۱٫۱ الگو:Cite journal
  2. ۲٫۰ ۲٫۱ ۲٫۲ ۲٫۳ الگو:Cite paper
  3. الگو:Cite journal
  4. ۴٫۰ ۴٫۱ ۴٫۲ ۴٫۳ ۴٫۴ الگو:یادکرد کتاب
  5. ۵٫۰ ۵٫۱ ۵٫۲ ۵٫۳ ۵٫۴ الگو:Cite book
  6. Note: in case of usual CART trees, the trees are fitted using least-squares loss, and so the coefficient bjm for the region Rjm is equal to just the value of output variable, averaged over all training instances in Rjm.