Boosting و AdaBoost
الگوریتم AdaBoost را قدمبهقدم اجرا کنی و بدانی چرا به نویز برچسب حساس است.
14 دقیقه مطالعه · 5 سؤال تمرینی · یادگیری ماشین میانی و پیشرفته
ایدهی Boosting و الگوریتم AdaBoost
برخلاف Bagging که مدلها را موازی و مستقل میسازد، Boosting آنها را پشت سر هم میسازد و هر مدل روی اشتباههای قبلی تمرکز میکند. هدف اصلیاش کاهش بایاس است.
AdaBoost با برچسبهای :
- وزنها را یکسان شروع کن:
- برای :
- یادگیرندهی ضعیف را با وزنهای آموزش بده
- خطای وزندار را حساب کن
- ضریب مدل:
- وزنها را بهروز کن: و نرمال کن
- خروجی نهایی:
نمونههای اشتباه () وزنشان در ضرب میشود و بزرگتر میشود.
AdaBoost از نگاه تابع زیان
Friedman، Hastie و Tibshirani (۲۰۰۰) نشان دادند AdaBoost همان مدلسازی جمعی گامبهگام با زیان نمایی است:
این دید دو نتیجه دارد:
- زیان نمایی برای نمونههایی که با حاشیهی زیاد اشتباه دستهبندی شدهاند، بسیار سریع رشد میکند. پس AdaBoost به نویز برچسب و دادهی پرت حساس است.
- با عوض کردن تابع زیان میشود الگوریتمهای Boosting دیگری ساخت. این همان ایدهی Gradient Boosting در درس بعد است.