الگوریتم های یادگیری ماشین و پروژه های کشف ناهنجاری و کشف تقلب
اگر در حوزهی یادگیری ماشین و علوم داده کار میکنید، قطعا با توزیع نامتوازن کلاس دادهها مواجه شده اید. این مساله زمانی رخ میدهد که تعداد مشاهدات مربوط به یک کلاس به طور چشمگیری کمتر از مشاهداتی باشد که به کلاس دیگر تعلق دارند.
این مشکل بیشتر در سناریوهایی که کشف ناهنجاری ها در آنها حیاتی است، مثل سرقت الکتریسیته، کشف تقلب در سیستم بانکی، تشخیص بیماریهای نادر و غیره اهمیت زیادی پیدا میکند. در چنین وضعیتی، مدل پیشگویانه ای که با به کارگیری الگوریتم های یادگیری ماشین ایجاد شده است، جهت دار و یکطرفه شده و دقت آن بسیار پایین خواهد بود.
این اتفاق بدین خاطر میافتد که الگوریتمهای یادگیری ماشین معمولا طوری طراحی شدهاند که با کاهش خطا، دقت مدل را افزایش دهند. بنابراین، این الگوریتم ها توزیع/نسبت یک کلاس نسبت به کل کلاس ها، یا توازن کلاس ها را در محاسبات خود به حساب نمیآورند.
رویکردهای متنوعی برای حل مشکل دادههای نامتوازن وجود دارد که تکنیکهای نمونهبرداری مختلفی را بهکار میگیرند.
چالشهای کار با دیتاست های نامتوازن
اینروزها یکی از چالشهای مهمی که صنعت انرژی با آن مواجه است، دزدی برق است. دزدی انرژی الکتریسیته در میان دزدیهای بزرگی که در دنیا انجام میگیرد، رتبهی سوم را به خود اختصاص داده است. به همین دلیل، شرکتهای تولید انرژی به طور فزایندهای از رویکردهای پیشرفته آنالیتیک و الگوریتم های یادگیری ماشین استفاده میکنند تا الگوهای مصرفی را که تعیین کنندهی دزدی الکتریسیته است تشخیص دهند.
در این میان، یکی از بزرگترین موانع و عوامل لغزش در تشخیص ناهنجاری در پروژه های یادگیری ماشین و داده کاوی ، غول آسا بودن تعداد داده ها و نامتوازن بودن توزیع آنهاست. تراکنشهای تقلبی به طور چشمگیری کمتر از تراکنشهای معمولی و سالم هستند و به عبارتی، حدود 1 تا دو درصد از تعداد کل مشاهدات هستند. سوال این است که چگونه میتوانیم تشخیص کلاس اقلیت و نادری را که مانع دستیابی به دقت کلی بالاتر است، بهبود دهیم؟
الگوریتمهای یادگیری ماشین در مواجهه با دیتاست های نامتوازن ، طبقهبندیهای نامناسبی را ایجاد میکنند. در یک دیتاست نامتوازن اگر رویدادی که میخواهیم پیش بینی کنیم به کلاس اقلیت تعلق داشته باشد و نرخ آن رویداد کمتر از 5 درصد باشد، معمولا یک رویداد نادر محسوب میشود.
اجازه بدهید این موضوع را به کمک یک مثال توضیح دهیم:
مثال: در یک دیتاست مربوط به کشف تقلب، دادههای زیر را داریم:
- تعداد کل مشاهدات: 1000
- تعداد مشاهدات تقلب: 20
- تعداد سایر مشاهدات (بدون تقلب): 980
- نرخ رویداد (تقلب): 2 درصد
سوال اصلی که در حین تحلیل داده ها با آن مواجه میشویم، این است که با توجه به تعداد کم مشاهدات مربوط به کلاس نادر، چگونه به یک دیتاست متوازن دست یابیم که در آن تعداد مناسبی از نمونههای مشاهدات ناهنجار موجود باشد.
چالشهای بهکارگیری تکنیک های استاندارد یادگیری ماشین در متوازن سازی داده ها
روشهای معمول ارزیابی مدل نمیتوانند در مواجهه با دادههای نامتوازن، عملکرد مدل را به طور دقیق اندازهگیری کنند.
سمتگیری الگوریتم های دسته بندی استاندارد مانند درخت تصمیم و رگرسیون لجستیک بیشتر به سوی کلاسهایی است که تعداد آنها در دیتاست بیشتر است. این الگوریتم ها فقط تمایل به پیشبینی کلاس اکثریت دارند و در مواجهه با ویژگی های کلاس اقلیت، با آنها بهعنوان نویز برخورد میکنند و اغلب آنها را نادیده میگیرند. به این ترتیب، احتمال دسته بندی اشتباه کلاس اقلیت در مقایسه با کلاس اکثریت بالاست.
ارزیابی عملکرد الگوریتم دسته بندی بهوسیلهی ماتریس اغتشاش انجام میگیرد که در آن اطلاعاتی دربارهی کلاسهای واقعی و کلاسهای پیشبینی شده قرار دارد.
با این وجود، در زمان کار کردن روی دیتاست نامتوازن، میزان دقت معیار مناسبی برای ارزیابی عملکرد مدل نیست. برای مثال وقتی هدف ما کشف ناهنجاری با نرخ رویداد 2 درصد است، یک مدل دسته بندی با دقت 98 درصد، اگر همهی نمونه ها را در کلاس اکثریت دسته بندی کند و مشاهدات مربوط به کلاس اقلیت 2 درصدی را بهعنوان داده نویز حذف کند، مدل دقیقی نیست.
کاربرد رپیدماینر در پیشنهاد محصول جدید به مشتری
مثالهایی برای کلاس های نامتوازن
به این ترتیب، وقتی میخواهیم چالشهای خاص کسب و کار را با مجموعه داده های نامتوازن حل کنیم، دسته بندی های ایجاد شده توسط الگوریتم های استاندارد یادگیری ماشین ممکن است نتایج دقیقی به ما ندهند. به غیر از تراکنشهای متقلبانه، سایر مثالهای مرتبط با داده های نامتوازن در یک کسب و کار رایج عبارتند از:
- دیتاست های مربوط به تشخیص رویگردانی مشتری در حالیکه بخش اعظم مشتریان به استفاده از خدمات ما ادامه میدهند.
- مجموعه داده ها برای تشخیص بیماریهای نادر در تشخیصهای پزشکی و مشابه آن.
- دیتاست های تراکنش های بانکی برای کشف تقلب در سیستم بانکی
- مجموعه داده های مربوط به پیش بینی بلایای طبیعی مانند زمین لرزهها
حل مشکل کلاس های نامتوازن در الگوریتم های پیش بینی
رویکردهای مختلفی برای مواجهه با داده های نامتوازن وجود دارند که در زیر فهرستی از آنها آورده شده است:
الف) رویکرد در سطح داده: تکنیکهای Resampling
- Random Under Sampling
- Random Over Sampling
- Cluster-Based Over Sampling
- Informed Over Sampling: Synthetic Minority Over Sampling Technique
- Modified synthetic minority oversampling technique (MSMOTE)
ب) تکنیک های الگوریتمی تجمعی (Algorithmic Ensemble Techniques)
- Bagging Based
- Boosting-Based
- Adaptive Boosting- Ada Boost
- Gradient Tree Boosting
- XG Boost
متوازن سازی داده ها در رپیدماینر
در فیلمکی که در ادامه مشاهده میکنید، محسن یزدی نژاد ضمن اجرای یک مثال واقعی، نحوهی متوازن سازی داده ها را با روش های Over Sampling و Under Sampling در نرم افزار رپیدماینر آموزش میدهد.
برای دانلود دیتاست مربوط میتوانید به سایت دیتاکویز مراجعه نمایید.
برای کسب اطلاعات بیشتر در خصوص سایر روشهای مقابله با مشکل داده های نامتوازن در سناریوهای کشف ناهنجاری و کشف تقلب میتوانید به وب سایت Analytics Vidhya مراجعه کنید.
نظرات (2)