توضیح ریاضی AdaBoost در ۵ دقیقه

منتشرشده در towardsdatascience
لینک مقاله اصلی: A Mathematical Explanation of AdaBoost in 5 Minutes

مقدمه

AdaBoost یا Adaptive Boost یک الگوریتم طبقه‌بندی یادگیری ماشین نسبتا جدید است. این یک الگوریتم گروهی است که بسیاری از یادگیرندگان ضعیف (درخت‌های تصمیم‌گیری) را ترکیب کرده و آن‌ها را به یک یادگیرنده قوی تبدیل می‌کند. بنابراین، الگوریتم آن روش‌های گردآوری و تقویت را برای ایجاد یک پیش‌بینی‌کننده پیشرفته کاهش می‌دهد.

اگر این کلمات برای شما گیج‌کننده هستند، نگران نباشید. در این مقاله، ما یک مثال ساده برای نشان دادن نحوه کار AdaBoost و ریاضی پشت آن ارائه می‌دهیم.

چه چیزی باعث متفاوت بودن AdaBoost می‌شود

AdaBoost شبیه جنگل‌های تصادفی است به این معنی که پیش‌بینی‌ها از بسیاری از درخت‌های تصمیم‌گیری گرفته می‌شوند. با این حال، سه تفاوت اصلی وجود دارد که AdaBoost را منحصر به فرد می‌سازد:

اول، AdaBoost به جای درخت، جنگلی از کنده درختان ایجاد می‌کند. کنده درختی است که تنها از یک گره و دو برگ تشکیل شده‌است (مانند تصویر بالا).

دوم، کنده‌هایی که ایجاد می‌شوند وزن مساوی در تصمیم نهایی (پیش‌بینی نهایی) ندارند. کنده‌هایی که خطای بیشتری ایجاد می‌کنند در تصمیم نهایی کم‌تر نقش خواهند داشت.

در نهایت ترتیبی که در آن کنده ایجاد می‌شود مهم است چون هر کنده قصد دارد خطاهایی که کنده قبلی ایجاد کرده‌است را کاهش دهد.

مثالی از نحوه کار AdaBoost

بیایید نگاهی به یک مثال بیندازیم. فرض کنید داده‌های نمونه زیر را داشته باشیم، با سه ویژگی (x1، x2، x3) و خروجی (Y). توجه داشته باشید که T = True و F = False است.

مرحله ۱: تعیین وزن نمونه برای هر نمونه

با استفاده از معادله بالا، وزن نمونه را برای هر نمونه محاسبه می‌کنیم. برای دور اول، وزن نمونه برابر خواهد بود. در این مثال، وزن نمونه برای هر نمونه برابر با ۱/۶ خواهد بود.

مرحله ۲: محاسبه درجه خلوص جینی برای هر متغیر

گام بعدی محاسبه خلوص جینی برای هر متغیر است. این کار برای تعیین این که کدام متغیر باید برای ایجاد اولین کنده استفاده شود، انجام می‌شود. فرمول محاسبه خلوص جینی هر گره به صورت زیر است:

وقتی خلوص جینی هر گره را محاسبه می‌کنید، کل خلوص جینی برای هر متغیر میانگین وزنی ناخالصی‌های هر گره است.

برای نشان دادن یک مثال، بیایید درجه خلوص جینی x2 را محاسبه کنیم.

جدول بالا یک جدول ترکیبی از نمونه‌ها است که تعداد نمونه‌های متناسب با هر دسته را نشان می‌دهد.

سپس می‌توانیم خلوص جینی هر گره برگ را برای x2 محاسبه کنیم.

هنگامی که خلوص جینی برای هر گره برگ محاسبه می‌شود، خلوص کلی جینی را می توان با در نظر گرفتن میانگین وزنی دو ناخالصی منفرد محاسبه کرد.

بنابراین، خلوص جینی برای x2 برابر با ۰.۲۵ است.

اگر این کار را برای هر متغیر انجام دهید، متوجه خواهید شد که x2 کم‌ترین خلوص جینی را دارد، بنابراین x2 برای ایجاد اولین کنده استفاده خواهد شد.

مرحله ۳: محاسبه Amount of Say برای کنده ایجاد شده

سپس، از خطای کلی برای محاسبه «Amount of say» که این کنده می‌گیرد استفاده می‌کنیم.

خطای کلی برابر است با مجموع وزن‌های نمونه‌هایی که نادرست طبقه‌بندی‌شده‌اند. از آنجایی که یکی از نمونه‌ها برای x2 به درستی طبقه‌بندی نشده است، خطای کلی برابر با ۱/۶ است.

زمانی که کل خطا را بدانید، می‌توانید مقدار Amount of say را محاسبه کنید:

پس، برای این کنده …

مرحله ۴: محاسبه وزن‌های نمونه جدید برای کنده بعدی

سپس، ما قصد داریم وزن نمونه‌های که به درستی طبقه‌بندی نشده اند را افزایش داده و وزن نمونه‌ای را که به درستی با استفاده از معادلات زیر طبقه‌بندی شده‌اند کاهش دهیم:

بنابراین با معادلات بالا، می‌توانیم وزن‌های نمونه جدید را محاسبه کنیم. از آنجا که مجموع وزن‌های نمونه برابر با ۰.۸۴ است، ما وزن‌های نمونه را با تقسیم هر وزن به ۰.۸۴ نرمال کردیم به طوری که مجموع وزن‌های نمونه جدید برابر با ۱ باشد.

مرحله ۵: ایجاد یک مجموعه داده خود راه‌اندازی شده با این شراسط که احتمال انتخاب هر نمونه بر اساس وزن‌های نمونه جدید باشد.

در این مرحله، ما به طور تصادفی ۶ نمونه را با جایگزینی از مجموعه داده‌ها، با احتمال انتخاب هر کدام براساس وزن نمونه جدید شان انتخاب می‌کنیم.

توجه کنید که وزن آن‌هایی که به اشتباه طبقه‌بندی شده‌اند، بیش از دو برابر وزن بقیه آن‌ها است. این بدان معنی است که احتمال اینکه چندین بار انتخاب شوند بیشتر است، و بنابراین، کنده بعدی بیشتر بر طبقه‌بندی صحیح نمونه اشتباه طبقه‌بندی‌شده تمرکز خواهد کرد. این قدرت AdaBoost است!

هنگامی که مجموعه داده راه‌اندازی شده جدید ایجاد شد، به نمونه‌ها مجددا وزن‌های برابر داده می‌شود و فرآیند تکرار می‌شود.

مرحله ۶: n مرتبه تکرار فرآیند

در نهایت، این فرآیند تا زمانی تکرار می‌شود که n عدد کنده ایجاد شود، که هر کدام amount of say مشخص خود دارند. پس از انجام این کار، مدل کامل شده و نقاط جدید را می توان طبقه‌بندی کرد.

نقاط جدید با عبور از تمام کنده‌ها و دیدن نحوه طبقه‌بندی آن‌ها طبقه‌بندی می‌شوند. سپس amount of say برای هر طبقه خلاصه می‌شود و طبقه‌ای که amount of say بالاتری دارد طبقه‌بندی نقطه جدید است.

از اینکه این مطلب را خواندید متشکرم!

با خواندن این مقاله باید بتوانید درک کنید که چگونه یک مدل AdaBoost ایجاد می‌شود و همچنین باید ریاضی پشت آن را نیز متوجه شده باشید.

این متن با استفاده از ربات ترجمه مقاله علمی ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.