مجموعه داده ها: مجموعه داده های نامتعادل

مجموعه داده ای را در نظر بگیرید که حاوی یک برچسب دسته بندی است که مقدار آن مثبت یا منفی است. در یک مجموعه داده متعادل ، تعداد برچسب های مثبت و منفی تقریباً برابر است. با این حال، اگر یک برچسب از برچسب دیگر رایج تر باشد، مجموعه داده نامتعادل است. برچسب غالب در یک مجموعه داده نامتعادل، کلاس اکثریت نامیده می شود. برچسب کمتر رایج را کلاس اقلیت می نامند.

جدول زیر نام ها و محدوده های پذیرفته شده کلی را برای درجات مختلف عدم تعادل ارائه می دهد:

درصد داده های متعلق به کلاس اقلیت درجه عدم تعادل
20-40٪ از مجموعه داده خفیف
1-20٪ از مجموعه داده متوسط
<1٪ از مجموعه داده افراطی

به عنوان مثال، یک مجموعه داده شناسایی ویروس را در نظر بگیرید که در آن کلاس اقلیت 0.5٪ از مجموعه داده و کلاس اکثریت نشان دهنده 99.5٪ است. مجموعه داده های بسیار نامتعادل مانند این در پزشکی رایج است زیرا اکثر افراد مبتلا به ویروس نیستند.

شکل 5. نمودار میله ای با دو میله. یک نوار حدود 200 را نشان می دهد             کلاس های منفی؛ نوار دیگر 1 کلاس مثبت را نشان می دهد.
شکل 5. مجموعه داده بسیار نامتعادل.

مجموعه داده های نامتعادل گاهی اوقات حاوی نمونه های کلاس اقلیت کافی برای آموزش صحیح یک مدل نیستند. یعنی با تعداد بسیار کمی از برچسب‌های مثبت، مدل تقریباً منحصراً روی برچسب‌های منفی آموزش می‌دهد و نمی‌تواند به اندازه کافی درباره برچسب‌های مثبت یاد بگیرد. به عنوان مثال، اگر اندازه دسته 50 باشد، بسیاری از دسته ها فاقد برچسب مثبت هستند.

اغلب، به‌ویژه برای مجموعه داده‌های با نامتعادل خفیف و برخی از مجموعه‌های داده نسبتاً نامتعادل، عدم تعادل مشکلی ایجاد نمی‌کند. بنابراین، ابتدا باید آموزش روی مجموعه داده اصلی را امتحان کنید. اگر مدل به خوبی کار می کند، کار شما تمام شده است. اگر نه، حداقل مدل زیر بهینه، مبنای خوبی برای آزمایش‌های آینده فراهم می‌کند. پس از آن، می توانید تکنیک های زیر را برای غلبه بر مشکلات ناشی از مجموعه داده های نامتعادل امتحان کنید.

Downsampling و Upweighting

یکی از راه‌های مدیریت یک مجموعه داده نامتعادل، کاهش نمونه و افزایش وزن طبقه اکثریت است. در اینجا تعاریف این دو اصطلاح جدید آورده شده است:

  • نمونه برداری (در این زمینه) به معنای آموزش در زیر مجموعه ای نامتناسب از نمونه های کلاس اکثریت است.
  • Upweighting به معنای اضافه کردن یک وزن مثال به کلاس پایین‌نمونه‌شده برابر با فاکتوری است که به وسیله آن نمونه‌برداری کرده‌اید.

مرحله 1: از کلاس اکثریت نمونه برداری کنید. مجموعه داده ویروس نشان داده شده در شکل 5 را در نظر بگیرید که دارای نسبت 1 برچسب مثبت برای هر 200 برچسب منفی است. کاهش نمونه با ضریب 10 تعادل را به 1 مثبت تا 20 منفی (5٪) بهبود می بخشد. اگرچه مجموعه تمرینی به دست آمده هنوز نسبتاً نامتعادل است، نسبت نکات مثبت به منفی بسیار بهتر از نسبت بسیار نامتعادل اصلی (0.5٪) است.

شکل 6. نمودار میله ای با دو میله. یک نوار 20 منفی را نشان می دهد             کلاس ها؛ نوار دیگر 1 کلاس مثبت را نشان می دهد.
شکل 6. نمونه برداری پایین.

مرحله 2: کلاس پایین‌نمونه‌شده را وزن کنید : وزن‌های نمونه را به کلاس نمونه‌برداری شده اضافه کنید. پس از کاهش نمونه با ضریب 10، وزن نمونه باید 10 باشد. (بله، ممکن است این امر غیر منطقی به نظر برسد، اما دلیل آن را بعداً توضیح خواهیم داد.)

شکل 7. یک نمودار دو مرحله ای از نمونه برداری پایین و وزن بالا.             مرحله 1: نمونه برداری از نمونه های تصادفی از اکثریت استخراج می شود             کلاس مرحله 2: افزایش وزن به نمونه پایین وزن اضافه می کند             نمونه ها
شکل 7. افزایش وزن.

اصطلاح وزن به پارامترهای مدل (مانند w 1 یا w 2 ) اشاره نمی کند. در اینجا، وزن به وزن های نمونه اشاره دارد که اهمیت یک مثال فردی را در طول تمرین افزایش می دهد. وزن مثال 10 به این معنی است که مدل به عنوان مثال 10 برابر مهمتر از وزن 1 (هنگام محاسبه ضرر) رفتار می کند.

وزن باید برابر با فاکتوری باشد که برای نمونه برداری استفاده کردید:

 {example weight} = {original example weight} ×{downsampling factor} 

ممکن است عجیب به نظر برسد که وزن‌های نمونه را پس از نمونه‌گیری پایین اضافه کنید. به هر حال، شما در تلاش هستید که مدل را در طبقه اقلیت بهبود بخشید، پس چرا طبقه اکثریت را بالا ببرید؟ در واقع، بالا بردن وزن طبقه اکثریت تمایل به کاهش سوگیری پیش بینی دارد. به این معنا که افزایش وزن پس از نمونه برداری پایین باعث کاهش دلتای بین میانگین پیش بینی های مدل شما و میانگین برچسب های مجموعه داده شما می شود.

همچنین ممکن است از خود بپرسید که آیا افزایش وزن، کاهش نمونه‌گیری را لغو می‌کند یا خیر. بله، تا حدی. با این حال، ترکیب افزایش وزن و کاهش نمونه، مینی دسته ها را قادر می سازد تا دارای کلاس های اقلیت کافی برای آموزش یک مدل موثر باشند.

بالا بردن وزن طبقه اقلیت به خودی خود معمولاً ساده تر از پایین آوردن و افزایش وزن طبقه اکثریت است. با این حال، بالا بردن وزن طبقه اقلیت تمایل به افزایش سوگیری پیش بینی دارد.

کاهش نمونه از طبقه اکثریت مزایای زیر را به همراه دارد:

  • همگرایی سریعتر : در طول آموزش، مدل کلاس اقلیت را بیشتر می بیند که به همگرایی سریعتر مدل کمک می کند.
  • فضای دیسک کمتر : با ادغام کلاس اکثریت به نمونه‌های کمتر با وزن‌های بزرگ‌تر، مدل از فضای دیسک کمتری برای ذخیره آن وزن‌ها استفاده می‌کند. این صرفه جویی فضای دیسک بیشتری را برای کلاس اقلیت فراهم می کند، بنابراین مدل می تواند تعداد بیشتری و طیف وسیع تری از نمونه ها را از آن کلاس جمع آوری کند.

متأسفانه، معمولاً باید کلاس اکثریت را به صورت دستی پایین بیاورید، که می تواند در طول آزمایش های آموزشی، به ویژه برای مجموعه داده های بسیار بزرگ، زمان بر باشد.

نسبت های تعادل مجدد

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

  • اندازه دسته
  • نسبت عدم تعادل
  • تعداد نمونه های مجموعه آموزشی

در حالت ایده آل، هر دسته باید شامل چندین نمونه کلاس اقلیت باشد. دسته‌هایی که دارای کلاس‌های اقلیت کافی نیستند، آموزش بسیار ضعیفی خواهند داشت. اندازه دسته باید چندین برابر بیشتر از نسبت عدم تعادل باشد. به عنوان مثال، اگر نسبت عدم تعادل 100:1 باشد، اندازه دسته باید حداقل 500 باشد.

تمرین: درک خود را بررسی کنید

وضعیت زیر را در نظر بگیرید:

  • مجموعه آموزشی حاوی کمی بیش از یک میلیارد مثال است.
  • اندازه دسته 128 است.
  • نسبت عدم تعادل 100:1 است، بنابراین مجموعه آموزشی به شرح زیر تقسیم می شود:
    • ~ 1 میلیارد نمونه کلاس اکثریت.
    • ~ 10 میلیون نمونه طبقه اقلیت.
کدام یک از عبارات زیر درست است؟
افزایش اندازه دسته به 1024 مدل حاصل را بهبود می بخشد.
نگه داشتن اندازه دسته در 128 اما کاهش نمونه (و افزایش وزن) تا 20:1 مدل حاصل را بهبود می بخشد.
هایپرپارامترهای فعلی خوب هستند.