آدابوست کیست؟ توضیح بده.
آدابوست تطبیقی بوده و یک الگوریتم یادگیری ماشین است که توسط یاو فروند و رابرت شاپیر اختراع شد.تطبیقی بودن آدابوست به این معناست که مدلها یکی پس از دیگری ساخته شده و عملکرد مدل‌های قبلی بر روند مدل‌سازی مدل‌های پس از آن تأثیر می‌گذارد. در واقع آدابوست یک متا الگوریتم است که به منظور ارتقاء عملکرد، و رفع مشکل رده‌های نامتوازن همراه دیگر الگوریتم‌های یادگیری استفاده می‌شود. در این الگوریتم، طبقه‌بندی هر مرحله جدید به نفع نمونه‌های غلط طبقه‌بندی شده در مراحل قبل تنظیم می‌گردد. آدابوست نسبت به داده‌های نویزی و پرت حساس است؛ ولی نسبت به مشکل بیش برازش از بیشتر الگوریتم‌های یادگیری برتری دارد. طبقه‌بندی پایه که در اینجا استفاده می‌شود فقط کافیست از طبقه‌بندی تصادفی (۵۰٪) بهتر باشد و به این ترتیب عملکرد الگوریتم در تکرارهای بیشتر بهبود می‌یابد. حتی طبقه‌بندهای با خطای بالاتر از تصادفی با گرفتن ضریب منفی عملکرد کلی را بهبود می‌بخشند. در الگوریتم آدابوست در هر دور formula_1 یک طبقه‌بند ضعیف اضافه می‌شود. در هر فراخوانی بر اساس اهمیت نمونه‌ها، وزن‌ها formula_2 بروز می‌شود. در هر دور وزن نمونه‌های غلط طبقه‌بندی شده افزایش و وزن نمونه‌های درست طبقه‌بندی شده کاهش داده می‌شود؛ بنابراین طبقه‌بند جدید تمرکز بر نمونه‌هایی که سخت‌تر یادگرفته می‌شوند، خواهند داشت.پس به‌طور خلاصه این الگوریتم منطبق بر یادگیری گروهی می‌باشد. به بیان ساده‌تر طرز کار این الگوریتم به این صورت است که عملکرد مدلهایی که به تنهایی ضعیف عمل می‌کنند را با یکدیگر ترکیب کرده و باعث بهبود عملکرد آنها می‌شود. پس در نظرگرفتن پیش‌بینی که مجموع چند الگوریتم یادگیری ضعیف ارائه می‌دهد می‌تواند در نهایت به اندازهٔ عملکرد یک الگوریتم قوی قابل اتکا باشد.الگوریتم طبقه‌بندی دوگانه.داده شده‌ها:مقداردهی اولیه: formula_6 برای formula_7formula_11خطای formula_12 را با formula_13 نمایش می‌دهیم:formula_14formula_19formula_24بنابراین بعد از انتخاب بهینه طبقه‌بند formula_27 برای توزیع formula_28 آندسته از نمونه‌ها formula_29 که طبقه‌بند formula_27 آن‌ها را غلط طبقه‌بندی می‌کند وزن بیشتری نسبت به بقیه داده می‌شود؛ بنابراین وقتی الگوریتم طبقه‌بندها را براساس توزیع formula_31 تست می‌کند، طبقه‌بندی انتخاب می‌شود که نمونه‌های غلط طبقه‌بندی شده را بهتر تشخیص دهد.مراحل الگوریتم آدابوست.الگوریتم آدابوست مطابق مراحل زیر به صورت مکرر کار می‌کندایجاد مدل در پایتون.در این مرحله مطابق کد زیر کتابخانه‌های مورد نیاز را وارد می‌کنیم.&lt;source lang="python"&gt;from sklearn.ensemble import AdaBoostClassifierfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn import metrics&lt;/source &gt;در مرحله بعد از یک مجموعه‌داده برای بررسی مدل روی آن استفاده می‌کنیم.&lt;source lang="python"&gt;iris = datasets.load_iris()X = iris.datay = iris.target&lt;/source &gt;سپس مجموعه‌داده را به دو قسمت آموزش و تست تقسیم می‌کنیم.&lt;source lang="python"&gt;X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3) # 70% training and 30% test&lt;/source &gt;در نهایت یک مدل آدابوست روی مجموعه‌داده اجرا می‌کنیم.&lt;source lang="python"&gt;abc = AdaBoostClassifier(n_estimators=۵۰, learning_rate=۱)model = abc.fit(X_train, y_train)y_pred = model.predict(X_test)&lt;/source &gt;اثبات و فهم ریاضی آدابوست.عمل تقویت کردن را می‌توان به صورت حداقل کردن یک تابع هزینه محدب روی یک مجموعه محدب از توابع در نظر گرفت. به‌طور خاص تابعی که حداقل می‌شود نمایی است:formula_32و ما به‌دنبال تابعی به شکل زیر هستیم:formula_33مجهولِ تابع هزینه formula_34، formula_35 است که خود به formula_36 بستگی دارد. در نتیجه بهینه‌سازی تابع هزینه در نهایت باید نسبت به formula_37 صورت بگیرد.حال برای راحتتر شدن کار فرض می‌کنیم که مقادیر formula_38 ثابت هستند و هدف ما پیدا کردن formula_39 و formula_40 است. با این اوصاف تابع formula_34را می‌توان به شکل پایین نوشت:formula_42اگر formula_43 را با formula_44 نمایش دهیم، تابع هزینه ما به شکل پایین تغییر شکل خواهد داد:formula_45اگر مجموعه تمام داده‌هایی که توسط formula_46 به درستی پیش‌بینی می‌شوند را با formula_47 و مجموعه تمام داده‌هایی که توسط formula_46 نادرست پیش‌بینی می‌شوند را با formula_49 نمایش دهیم. تابع هزینه به شکل پایین تغییر خواهد کرد:formula_50حال اگر formula_51 را نسبت به formula_52 بهینه کنیم، از آنجا کهformula_53 و formula_54 نسبت به formula_52 ثابت هستند، فقط باید formula_56 را نسبت به formula_52 کمینه کنیم؛ یعنی formula_58بعد از پیدا کردن formula_52 باید formula_60 را پیدا کنیم اگر formula_61 را formula_62 بنامیم تابع هزینه ما تبدیل می‌شود به formula_63که اگر از آن نسبت به formula_60 مشتق بگیریم و جواب را در نقطه صفر به‌دست بیاوریم به این جواب می‌رسیم: formula_65.حال که formula_66 و formula_67 را پیدا کردیم باید ببینیم که formula_68 به چه شکل نسبت به formula_44 بروز می‌شود. formula_68 همان formula_71 است یعنیformula_72پس ارتباط formula_68 با formula_44 به این شکل خواهد بود:formula_75از آنجا که formula_76 به‌روز کردن formula_68 به این شکل تغییر خواهد کرد:formula_78اگر تمام formula_68‌ها را در یک مقدار ثابتی ضرب کنیم تأثیری در جواب نهایی formula_80 و formula_81 و formula_82 نخواهد داشت. ازین رو همیشه می‌توان مقدار آن‌ها را نرمال‌سازی کرد. با نرمال‌سازی formula_68 به معادله بازگشتی پایین می‌رسیم، در این معادله formula_84 :formula_85formula_68 همان formula_87است، و از آنجا که formula_88در جواب formula_89 تأثیری ندارد، می‌توان آن را حذف کرد. حال اگر formula_90 را همان formula_5 بگیریم به الگوریتم آدابوست خواهیم رسید.