علاقه مند به تحلیل داده و داده کاوی. لینکدین:https://www.linkedin.com/in/mohammad-fatehi-09654062/
آشنایی با Adaboost
ایده Adaboost بر تقویت دسته بندهای (Classifiers) ضعیف استوار است. اجازه بدهید با یک مثال جلو برویم. فرض کنید مجموعه داده زیر را داریم:
در مجموعه داده بالا دو ویژگی داریم. برای سهولت در کار می توان مقادیر درست را برابر با 1 و مقادیر نادرست را برابر با 1 - در نظر گرفت. در ابتدای کار به همه مشاهدات وزن یکسانی تعلق خواهد گرفت. ستون (مقدار واقعی * وزن) از حاصل ضرب مقدار واقعی و وزن به دست می آید.
فرض کنید با استفاده از یک دسته بند (Classifier) مانند درخت تصمیم، ماشین بردارهای پشتیبان و... به پیش بینی مشاهدات بالا پرداخته شده است:
از مقایسه ستون مقدار واقعی با ستون پیش بینی مشخص است که سه مورد از پیش بینی ها نادرست است. در ستون خطا این سه مورد با عدد 1 مشخص شده است. از همین رو متغیر epsilon = 0.3 درنظر می گیریم. (سه مورد از ده مورد پیش بینی اشتباه از آب درآمد!) حال متغیر جدیدی به نام alpha تعریف می کنیم:
alpha = ln[(1-epsilon)/epsilon] / 2 = ln[(1 – 0.3)/0.3] / 2
alpha = 0.42
از متغیر alpha برای به روز رسانی وزن ها در مرحله بعد استفاده می شود. وزن های جدید به صورت زیر محاسبه می شود:
وزن جدید = وزن قدیم * ( alpha -* مقدار واقعی*پیش بینی)exp
از همین رو داریم:
مرحله دوم:
مرحله دوم را با جدول زیر شروع می کنیم:
مشابه مرحله قبل، با استفاده از یک دسته بند (Classifier) دیگری مانند درخت تصمیم، ماشین بردارهای پشتیبان و... به پیش بینی مشاهدات بالا پرداخته شده است:
در این مرحله alpha = 0.65 محاسبه می شود. لازم به ذکر است که
epsilon = 0.071 + 0.071 + 0.071 = 0.21
محاسبه می شود.
وزن ها در جدول زیر به روز رسانی می شود:
مرحله سوم:
در این مرحله داریم:
epsilon = 0.31, alpha = 0.38
مرحله چهارم:
در این مرحله داریم:
epsilon = 0.10, alpha = 1.10
محاسبه پیش بینی نهایی
مقدار پیش بینی نهایی مثلا برای مشاهده اول برابر است با:
0.42 x 1 + 0.65 x (-1) + 0.38 x 1 + 1.1 x 1 = 1.25
با استفاده از تابع علامت (Sgin یا Sgn) داریم:
Sgn(1.25) = 1
پس پیش بینی نهایی برای مشاهده اول برابر 1 است.
امیدوارم تا این جا کار این نوشتار به دردتون خورده باشه. اگه خواستید می تونیم در این باره بیشتر با هم گپ بزنیم...
مطلبی دیگر از این انتشارات
معرفی ابزار Apache Flink
مطلبی دیگر از این انتشارات
هزار؛ بزرگترین کتابخانه متنباز هوش مصنوعی برای فارسی
مطلبی دیگر از این انتشارات
آیا حافظه مختص انسان است؟