داده نامتوازن چیست؟
در طبقهبندی دیتاها، بدون توجه به نوع دیتاها و اهمیت آنها ممکن است با مشاهدات مربوط به یک کلاس به طور چشمگیری نسبت به مشاهدات کلاسهای دیگر کمتر باشد. در این صورت ما با مجموعهای از دادههای نامتوازن رو به رو خواهیم بود. با این که در اکثر مجموعههای دادهها با دادههای نامتوازن رو به رو خواهیم بود، اما در بیشتر مواقع تنها کمتر از یک درصد دادهها را اطلاعات منحصر به فرد تشکیل میدهند.
الگوریتمهای یادگیری ماشین، زمانی بهینه و قابل اعتماد خواهند بود که بتوانند مجموعه دادههای نامتوازن را مدیریت کنند. در این مطلب در ابتدا با مفهوم دادههای نامتوازن آشنا میشویم و در ادامه چالشهای ناشی از آن را بررسی میکنیم، روشهای مفیدی را برای رویارویی با این چالشها ارائه میدهیم و در نهایت سؤالات رایج در این زمینه را بررسی میکنیم.
طبقه یا کلاس در داده نامتوازن چیست؟
به بیان ساده، طبقه یا کلاس در واقع نشان دهنده دستههای مختلفی است که دادههای مورد نظر را در آنها قرار میدهیم. برای مثال فرض کنید یک بانک میخواهد برای وام دادن یا ندادن به مشتریهای مختلف یک طبقهبندی درست کند. برای این کار مدیر بانک مجموعه دادههایی از مشتریهای قبلی تهیه میکند و بر اساس آنها مشتریها را طبقهبندی میکند. حال مجموعهی دادهها میتواند متوازن یا نامتوازن باشد.
برای مثال فرض کنید معدل حساب ده هزار نفر از مشتریها بالای ۸۰ میلیون تومان و معدل حساب ده هزار نفر دیگر زیر ۸۰ میلیون تومان است. در این شرایط ما با مجموعه دادههای متوازن رو به رو هستیم که الگوریتم طبقهبندی میتواند، الگوهای مربوط به هر دسته را پیدا کند و با توجه به این مجموعههای متوازن یادگیری خود را انجام دهد، اما همهی مجموعهی دادهها متوازن نیستند.
مجموعه داده نامتوازن چیست؟
برای مثال فرض کنید میخواهیم برداشتهای مالی از حسابهای بانکی مختلف به دو دسته سرقتی و غیر سرقتی تقسیم کنیم. در این دستهبندی با دو کلاس مختلف رو به رو خواهیم شد که تعداد دادههای یکی نسبت به دیگری بسیار کمتر است. در واقع تعداد تراکنشهای سرقتی بسیار کمتر از غیر سرقتیها است. در این شرایط با مجموعهای از دادههای نامتوازن رو به رو خواهیم شد. در واقع صف در ساختمان داده در این نوع داده برعکس می باشد.
مجموعه داده نامتوازن چه اهمیتی دارند؟
الگوریتمهای طبقهبندی به طور کلی به سمت مجموعه دادههای اکثریت تمایل پیدا میکنند. به همین دلیل نیز این الگوریتمها نمیتوانند مجموعههای نامتوازن را به خوبی یاد بگیرند و باعث ایجاد چالشها میشوند. در رویارویی با دادههای نامتوازن باید معیار ارزیابی طبقهبندی نیز تغییر کند و نمیتوان به معیارهای عادی مانند دقت اعتماد کرد. به طور کلی دادههای نامتوازن میتوانند، در مسائل طبقهبندی یا خوشهبندی وجود داشته باشند و برای حل چالشهای ناشی از این دادهها باید از روشهای مختلف متعادلسازی دادهها و یا الگوریتمهای خاص استفاده کرد که در ادامه آنها را بررسی میکنیم. همچنین با کمک گرفتن از الگوریتم مرتب سازی سریع می توانید، این کار را راحت تر نیز انجام دهید.
مطلب پیشنهادی: پایتون چیست و چه کاربردی دارد؟
چرا باید به داده نامتوازن رسیدگی شود؟
در صورتی که نتوان مجموعه دادههای نامتوازن را به درستی مدیریت کرد باعث ایجاد مشکلات مختلفی میشوند. برخی از مهمترین این مشکلات میتوانند شامل موارد زیر باشند.
توزیع کلاسی نامتقارن
زمانی که دادههای نامتوازن باشند، الگوریتم طبقهبندی کلاس اکثریت را اولویت قرار میدهد و نمیتواند نمونههای مربوط به کلاس اقلیت را به درستی شناسایی و پیشبینی کند.
آموزش سوگیرانه مدل
در مواجهه با دادههای نامتوازن الگوریتمهای یادگیری میتوانند کلاس اقلیت را نادیده بگیرند. به همین دلیل نیز الگوریتم نسبت به کلاس اکثریت سوگیری دارد و نمیتواند الگوهای مربوط به سایر دادهها را شناسایی کند.
قابلیت تعمیم ضعیف
از آن جایی که مدل یادگیری ماشین در صورت وجود مجموعه دادههای نامتوازن با تعداد کمی از دادههای اقلیت رو به رو میشود، ممکن است نتواند دادههای مشابه با این دادهها را که به صورت جدید وارد سیستم میشوند به درستی شناسایی کند. در نتیجه قابلیت تعمیم مدل ضعیف میشود.
خطاهای پرهزینه
در بسیاری از موارد هزینه خطاهای مربوط به نمونههای کلاس اقلیت بسیار زیاد است. به عبارت دیگر از آن جا که وجود دادههای نامتوازن باعث ایجاد خطا در پیشبینی درست دادهها میشود، خطاهای ایجاد شده میتوانند قابل توجه و پر هزینه باشند.
گمراهکننده بودن معیارهای ارزیابی
زمانی که مجموعه دادههای نامتوازن وجود دارند و عملکرد الگوریتم تحت تأثیر گروه اکثریت قرار میگیرد، معیارهای ارزیابی قدیمی مانند ماتریس در هم ریختگی میتواند گمراهکننده باشد. به همین دلیل نیز پیشنهاد میشود، از معیارهای دیگری مانند دقت (Precision)، بازیابی (Recall)، F۱-score و سطح زیر نمودار منحنی مشخصه (Area Under the ROC Curve | AUC) استفاده شود.
چالشهای مدیریت دادههای نامتوازن
همان طور که اشاره کردیم الگوریتمهای طبقهبندی نمیتوانند، در صورت وجود داشتن دادههای نامتوازن عملکرد و دقت خوبی داشته باشند که این در واقع مهمترین چالش ناشی از وجود دادههای نامتوازن است. برای حل این مشکل از راههای مختلفی استفاده میشود که برخی از بهترین این راهها را در ادامه برای شما بررسی میکنیم. پردازش داده در هر نوع داده ای بسیار مهم است و باید به آن توجه کرد از جمله داده های نامتوازن، که حتی اهمیت بیشتری هم دارند.
رویکرد مبتنی بر نمونهگیری
در رویکرد نمونهگیری از تکنیکهایی استفاده میشود که دادهها را متعادل میسازند و باعث بهبود عملکرد الگوریتمهای یادگیری و دقت آنها میشوند. تکنیکهای مختلف نمونهگیری که از آنها استفاده میشود شامل موارد زیر هستند.
رویکرد مبتنی بر نمونهگیری Under-Sampling
در این رویکرد برای متعادلسازی دادهها تعداد نمونههای اکثریت را کاهش میدهند. برای انجام این کار سه روش مختلف وجود دارد که به صورت زیر هستند.
روش حذف تصادفی (Random Under-Sampling)
در این روش تعدادی از دادههای گروه اکثریت به طور تصادفی انتخاب و حذف میشوند تا تعداد دادههای دو گروه با یکدیگر برابر شوند و یا بسیار به هم نزدیک شود.
روش انتخاب نزدیکترین همسایهها (Near Miss Under-Sampling)
در این روش فواصل بین اعضای دو گروه اکثریت و اقلیت محاسبه میشود و نمونههایی از گروه اکثریت که دارای کمترین فاصله با گروه اقلیت هستند نگه داشته میشوند و باقی نمونههای گروه اکثریت حذف میشوند تا نمونهها متعادلسازی شوند.
روش حذف TomeKLinks
در این روش نیز متعادلسازی دادهها به صورت غیر تصادفی انجام میشود. در این روش از هر کدام از گروهها جفت دادهای انتخاب میشوند که نزدیکترین دادهها به مرز بین دو گروه هستند و باقی دادهها که متعلق به گروه اکثریت هستند حذف میشوند.
رویکرد مبتنی بر نمونهگیری Over-Sampling
در این رویکرد مبتنی بر نمونهگیری تعداد دادههای گروه اقلیت افزایش پیدا میکند تا دادهها متعادلسازی شوند. برای انجام این کار نیز روشهای مختلفی وجود دارند که مهمترین آنها شامل روشهای زیر هستند.
روش افزایش تصادفی (Random Over-Sampling)
در این روش افزایش تعداد نمونههای مربوط به گروه اقیلت به طور تصادفی انجام میشود تا تعداد دادههای مربوط به دو گروه با یکدیگر برابر شود یا نزدیک به هم قرار بگیرند.
روش نمونهسازی Synthetic Minority Oversampling Technique (SMOTE)
در این روش نمونههای شبیه به نمونههای کلاس اقلیت ساخته میشوند تا نمونهها متعادلسازی شوند. برای این کار نزدیکترین همسایه نمونههای کلاس اقلیت را مشخص میکنند. سپس برای هر نمونه در کلاس اقلیت یکی از همسایهها به صورت تصادفی انتخاب میشود. در نهایت با استفاده از روش درونیابی یک نمونه جدید بین دو نمونه مذکور ایجاد میشود.
روش نمونهسازی ADASYN
در این روش نمونههایی از کلاس اقلیت را که یادگیری آنها برای الگوریتم طبقهبندی سختتر است شناسایی میکنند و با استفاده از محاسبه توزیع چگالی دادههای اقلیت نمونهسازی را انجام میدهند. برای این کار در اولین قدم نزدیکترین همسایه از کل دادهها برای هر نمونه از کلاس اقلیت مشخص میشود و برای هر نمونه از کلاس اقلیت چگالی کلاس اکثریت در همسایگی آن محاسبه میشود. در این روش تنها برای نمونههایی از کلاس اقلیت که یادگیری آنها برای الگوریتم سختتر است نمونههای جدید ساخته میشود.
رویکرد مبتنی بر نمونهگیری Hybrid Approach
در بسیاری از مواقع که با مجموعه وسیعی از داده نامتوازن رو به رو میشویم میتوان از روش ترکیبی برای کاهش دادههای اکثریت و افزایش دادههای اقلیت استفاده کرد.
مطلب پیشنهادی: تحلیل تکنیکال چیست ؟
رویکرد مبتنی بر معماری الگوریتم
الگوریتمهای مختلفی وجود دارند که میتوان از آنها استفاده کرد. این الگوریتمها با توجه به ویژگیهای مختلف خود مانند ویژگیهای ریاضی، آماری و هندسی میتوانند در برخورد با مجموعه دادههای نامتوازن به طور متفاوتی عمل کنند. به همین دلیل نیز داشتن شناخت کافی و اصولی از الگوریتمها میتواند در انتخاب الگوریتم مناسب برای حل یک مسأله مشخص تعیینکننده باشد. برای مثال پیمایش درخت در ساختمان داده به دلیل ماهیت جست و جو خود میتوانند مقاومت بیشتری در رویارویی با دادههای نامتوازن از خود نشان دهند.
یکی دیگر از روشهایی که در رویارویی با مجموعه داده نامتوازن موفق عمل میکند مدلهای تجمیعی هستند. در این مدلها در واقع به جای استفاده از یک مدل ردهبندی از مجموعهای از این مدلها استفاده میشود و در واقع به سمت ساخت یک سیستم خرد جمعی مطمئن پیش میرویم.
سخن نهایی
وجود دادههای نامتوازن میتواند عملکرد الگوریتمهای طبقهبندی را تحت تأثیر قرار دهد و باعث سوگیری و ایجاد خطا شود. برای غلبه بر چالشهای ایجاد شده توسط دادههای نامتوازن روشهای مختلفی وجود دارد که میتوان از آنها استفاده کرد. هر کدام از این روشها دارای ویژگیها و مزایای منحصر به فردی هستند و برای مسائل مختلفی از آنها استفاده میشود. به طور کلی با درک پیچیدگیها و اجرای استراتژیهای مناسب میتوان دادههای نامتوازن را مدیریت کرد، عملکرد مدلها را بهبود بخشید و نتایج درستتر و قابل اعتمادتری به دست آورد.