Исследование возможностей синтетических данных для повышения производительности модели на несбалансированных наборах данных
Фон — несбалансированные наборы данных
Проблемы с несбалансированной классификацией часто возникают в случаях коммерческого использования машинного обучения. Вы можете столкнуться с ними при прогнозировании оттока, обнаружении мошенничества, медицинской диагностике или обнаружении спама. Во всех этих сценариях то, что мы стремимся обнаружить, принадлежит классу меньшинства, который может быть крайне недопредставлен в наших данных. Предлагается несколько подходов для повышения производительности моделей на несбалансированных наборах данных:
- Недостаточная выборка. Получите более сбалансированный набор обучающих данных, случайно занижая выборку большинства классов.
- Избыточная выборка. Получите сбалансированный набор обучающих данных путем случайной избыточной выборки класса меньшинства.
- Взвешенные потери. Назначьте веса функции потерь по отношению к классу меньшинства.
- Синтетические данные. Используйте генеративный ИИ для создания высококачественных образцов синтетических данных класса меньшинства.
В этой статье я показываю, как обучение модели на синтетических данных превосходит другие подходы в повышении производительности классификатора.
Набор данных
Данные получены из Kaggle, состоящего из 284 807 транзакций по кредитным картам, 492 (0,172%) из которых помечены как мошеннические. Данные доступны как для коммерческого, так и для некоммерческого использования по открытой лицензии Data Commons.
Для заинтересованных читателей Kaggle предлагает более подробную информацию и базовую описательную статистику о данных.
Из этого набора данных Kaggle я создаю два подмножества: обучающий набор и набор задержек. Обучающий набор включает 80% всех данных, а также синтетически сгенерированные образцы при изучении этого подхода. Набор задержек составляет 20% исходных данных, исключая любые синтетические образцы.