این بخش به بررسی سه سوال زیر می پردازد:
- تفاوت بین مجموعه داده های متعادل کلاس و مجموعه داده های کلاس نامتعادل چیست؟
- چرا آموزش یک مجموعه داده نامتعادل دشوار است؟
- چگونه می توانید بر مشکلات آموزش مجموعه داده های نامتعادل غلبه کنید؟
مجموعه داده های متعادل کلاس در مقابل مجموعه داده های کلاس نامتعادل
مجموعه داده ای را در نظر بگیرید که حاوی یک برچسب طبقه بندی است که مقدار آن کلاس مثبت یا منفی است. در یک مجموعه داده متعادل کلاس ، تعداد کلاس های مثبت و کلاس های منفی تقریباً برابر است. به عنوان مثال، یک مجموعه داده حاوی 235 کلاس مثبت و 247 کلاس منفی یک مجموعه داده متعادل است.
در یک مجموعه داده با کلاس نامتعادل ، یک برچسب به طور قابل توجهی رایج تر از دیگری است. در دنیای واقعی، مجموعه داده های کلاس نامتعادل بسیار رایج تر از مجموعه داده های متعادل کلاس هستند. به عنوان مثال، در مجموعه داده ای از تراکنش های کارت اعتباری، خریدهای جعلی ممکن است کمتر از 0.1٪ از نمونه ها را تشکیل دهند. به طور مشابه، در مجموعه داده های تشخیص پزشکی، تعداد بیماران مبتلا به یک ویروس نادر ممکن است کمتر از 0.01٪ از کل نمونه ها باشد. در یک مجموعه داده با کلاس نامتعادل:
- برچسب رایج تر ، کلاس اکثریت نامیده می شود.
- برچسب کمتر رایج، کلاس اقلیت نامیده می شود.
دشواری آموزش مجموعه داده های به شدت نامتعادل طبقاتی
هدف آموزش ایجاد مدلی است که با موفقیت طبقه مثبت را از طبقه منفی متمایز کند. برای انجام این کار، دسته ها به تعداد کافی از کلاس های مثبت و منفی نیاز دارند. این مشکل در هنگام آموزش بر روی یک مجموعه داده با کلاس نامتعادل خفیف نیست زیرا حتی دستههای کوچک معمولاً شامل نمونههای کافی از کلاس مثبت و منفی هستند. با این حال، یک مجموعه داده به شدت نامتعادل کلاس ممکن است شامل نمونه های کلاس اقلیت کافی برای آموزش مناسب نباشد.
به عنوان مثال، مجموعه داده نامتعادل کلاس نشان داده شده در شکل 6 را در نظر بگیرید که در آن:
- 200 برچسب در کلاس اکثریت هستند.
- 2 برچسب در کلاس اقلیت هستند.

اگر اندازه دسته 20 باشد، بیشتر دسته ها شامل هیچ نمونه ای از کلاس اقلیت نخواهند بود. اگر اندازه دسته 100 باشد، هر دسته به طور متوسط شامل تنها یک نمونه کلاس اقلیت است که برای آموزش مناسب کافی نیست. حتی اندازه دستهای بسیار بزرگتر همچنان نسبت نامتعادلی را ایجاد میکند که ممکن است مدل به درستی آموزش ندهد.
آموزش یک مجموعه داده با کلاس نامتعادل
در طول آموزش، یک مدل باید دو چیز را یاد بگیرد:
- هر کلاس چگونه به نظر می رسد. یعنی چه مقادیر ویژگی با چه کلاسی مطابقت دارد؟
- هر کلاس چقدر مشترک است. یعنی توزیع نسبی طبقات چگونه است؟
تمرین استاندارد این دو هدف را با هم ترکیب می کند. در مقابل، تکنیک دو مرحلهای زیر به نام پاییننمونهسازی و افزایش وزن طبقه اکثریت ، این دو هدف را از هم جدا میکند و مدل را قادر میسازد تا به هر دو هدف دست یابد.
مرحله 1: از کلاس اکثریت نمونه برداری کنید
کاهش نمونه به معنای آموزش بر روی درصد بسیار پایینی از نمونه های کلاس اکثریت است. یعنی شما به طور مصنوعی یک مجموعه داده نامتعادل کلاس را مجبور می کنید تا با حذف بسیاری از نمونه های کلاس اکثریت از آموزش، تا حدودی متعادل تر شود. کاهش نمونه، احتمال اینکه هر دسته شامل نمونه های کافی از کلاس اقلیت برای آموزش صحیح و کارآمد مدل باشد، بسیار افزایش می دهد.
به عنوان مثال، مجموعه داده های کلاس نامتعادل نشان داده شده در شکل 6 از 99% کلاس اکثریت و 1% نمونه کلاس اقلیت تشکیل شده است. کاهش نمونه کلاس اکثریت با ضریب 25 به طور مصنوعی مجموعه آموزشی متعادل تری ایجاد می کند (80٪ کلاس اکثریت تا 20٪ کلاس اقلیت) پیشنهاد شده در شکل 7:

مرحله 2: کلاس پاییننمونهشده را افزایش وزن دهید
نمونهبرداری پایین با نشان دادن دنیایی مصنوعی که در آن کلاسها متعادلتر از دنیای واقعی هستند، یک سوگیری پیشبینی را معرفی میکند. برای تصحیح این سوگیری، باید طبقات اکثریت را بر اساس فاکتوری که نمونه برداری کرده اید، «بالا» کنید. افزایش وزن به معنای برخورد با ضرر در نمونه طبقه اکثریت خشن تر از ضرر در نمونه طبقه اقلیت است.
به عنوان مثال، ما کلاس اکثریت را با ضریب 25 کمنمونه کردیم، بنابراین باید کلاس اکثریت را با ضریب 25 افزایش دهیم. یعنی وقتی مدل به اشتباه کلاس اکثریت را پیشبینی میکند، با ضرر به گونهای رفتار کنید که گویی 25 خطا است (ضریب معمولی را در 25 ضرب کنید).

برای متعادل کردن مجدد مجموعه داده خود، چقدر باید نمونه برداری و وزن بالا را کاهش دهید؟ برای تعیین پاسخ، باید با فاکتورهای مختلف کاهش نمونه و افزایش وزن آزمایش کنید، همانطور که با سایر فراپارامترها آزمایش می کنید.
مزایای این تکنیک
کاهش نمونه و افزایش وزن طبقه اکثریت مزایای زیر را به همراه دارد:
- مدل بهتر: مدل حاصل هر دو مورد زیر را "می داند":
- ارتباط بین ویژگی ها و برچسب ها
- توزیع واقعی کلاس ها
- همگرایی سریعتر: در طول آموزش، مدل کلاس اقلیت را بیشتر می بیند که به همگرایی سریعتر مدل کمک می کند.