Изследване на способността на синтетичните данни да подобрят производителността на модела върху небалансирани набори от данни

Предистория — небалансирани набори от данни

Проблеми с небалансираната класификация често възникват в случаи на използване на комерсиално машинно обучение. Може да ги срещнете при предвиждане на отлив, откриване на измами, медицинска диагностика или откриване на спам. Във всички тези сценарии това, което се стремим да открием, принадлежи към малцинствения клас, който може да бъде силно недостатъчно представен в нашите данни. Предлагат се няколко подхода за подобряване на производителността на модели върху небалансирани набори от данни:

  • Недостатъчно вземане на проби: Постигнете по-балансиран набор от данни за обучение чрез произволно намаляване на извадката от мнозинствения клас.
  • Свръхсемплиране: Получете балансиран набор от данни за обучение чрез произволно свръхсемплиране на малцинствения клас.
  • Претеглени загуби: Присвоете тегла на функцията на загубата по отношение на малцинствения клас.
  • Синтетични данни: Използвайте генериращ AI, за да създадете висококачествени проби от синтетични данни от малцинствения клас.

В тази статия демонстрирам как обучението на модел върху синтетични данни надминава другите подходи за подобряване на производителността на класификатора.

Наборът от данни

Данните са получени от Kaggle, състоящи се от 284 807 транзакции с кредитни карти, 492 (0,172%) от които са обозначени като измамни. Данните са достъпни както за търговска, така и за нетърговска употреба под Open Data Commons лиценз.

За заинтересованите читатели Kaggle предлага по-подробна информация и основна описателна статистика за данните.

От този набор от данни на Kaggle създавам две подмножества: набор за обучение и набор за задържане. Наборът за обучение включва 80% от общите данни, заедно със синтетично генерирани проби при изследване на този подход. Наборът за задържане представлява 20% от оригиналните данни, с изключение на всички синтетични проби.

Моделът