في العديد من تطبيقات التعلم الآلي ، غالبًا ما نواجه مجموعات بيانات حيث يمكن رؤية بعض أنواع البيانات أكثر من الأنواع الأخرى. خذ تحديد الأمراض النادرة على سبيل المثال ، ربما يكون هناك عينات طبيعية أكثر من تلك المرضية. في هذه الحالات ، نحتاج إلى التأكد من أن النموذج المدرب ليس متحيزًا تجاه الفصل الذي يحتوي على المزيد من البيانات. على سبيل المثال ، فكر في مجموعة بيانات حيث توجد 5 صور المرض و 20 صورة طبيعية. إذا توقع النموذج أن تكون جميع الصور طبيعية ، فإن دقتها هي 80 ٪ ، ونتيجة F1 من هذا النموذج هي 0.88. لذلك ، فإن النموذج له ميل كبير إلى التحيز تجاه الطبقة "العادية".
لحل هذه المشكلة ، تسمى التقنية المعتمدة على نطاق واسع إعادة أخذ عينات. وهو يتألف من إزالة العينات من فئة الأغلبية (أقل من أخذ العينات) و / أو إضافة المزيد من الأمثلة من فئة الأقلية (أخذ العينات الزائدة). على الرغم من ميزة موازنة الطبقات ، فإن هذه التقنيات لديها أيضًا نقاط ضعفها (لا يوجد غداء مجاني). إن أبسط تنفيذ للأخذ في أخذ العينات المفرطة هو تكرار السجلات العشوائية من فئة الأقلية ، والتي يمكن أن تسبب التورط. في التقليل من أخذ العينات ، تتضمن أبسط تقنية إزالة السجلات العشوائية من فئة الأغلبية ، والتي يمكن أن تسبب فقدان المعلومات.

في هذا الريبو ، نقوم بتنفيذ عينة Pytorch سهلة الاستخدام ImbalancedDatasetSampler

لبدء تشغيل بسيط ، قم بتثبيت الحزمة عبر إحدى الطرق التالية:
pip install torchsampler ما عليك سوى تمرير ImbalancedDatasetSampler sampler عند إنشاء DataLoader . على سبيل المثال:
from torchsampler import ImbalancedDatasetSampler
train_loader = torch . utils . data . DataLoader (
train_dataset ,
sampler = ImbalancedDatasetSampler ( train_dataset ),
batch_size = args . batch_size ,
** kwargs
)ثم في كل عصر ، سيقوم المحمل بتجربة مجموعة البيانات بأكملها ووزن عيناتك بشكل عكسي على احتمال ظهور فئتك.
توزيع الفصول في مجموعة البيانات غير المتوازنة:

مع عينات مجموعة البيانات غير متوازنة:
(يسار: اختبار ACC في كل عصر ؛ اليمين: مصفوفة الارتباك)
بدون عينات مجموعة بيانات غير متوازنة:
(يسار: اختبار ACC في كل عصر ؛ اليمين: مصفوفة الارتباك)
لاحظ أن هناك تحسينات كبيرة للفئات الصغيرة مثل 2 6 9 ، في حين يتم الحفاظ على دقة الطبقات الأخرى.
نحن نقدر جميع المساهمات. إذا كنت تخطط للمساهمة في إصلاح الأخطاء ، فيرجى القيام بذلك دون أي نقاش آخر. إذا كنت تخطط للمساهمة بميزات جديدة أو وظائف الأداة المساعدة أو الامتدادات ، فيرجى أولاً فتح مشكلة ومناقشة الميزة معنا.
معهد ماساتشوستس للتكنولوجيا مرخصة.