Oversampling — техника увеличения числа примеров редкого класса для устранения дисбаланса в данных и повышения устойчивости модели при обучении.
Определение
Oversampling — это метод балансировки датасетов, в котором количество примеров для недостаточно представленных классов искусственно увеличивается. Он решает проблему дисбаланса, когда модель обучается на наборе данных, где один или несколько классов представлены значительно меньше остальных. Без балансировки модель склонна игнорировать редкие классы, оптимизируясь под доминирующие распределения. Oversampling уменьшает смещение и повышает качество классификации редких случаев.
Как работает
Основные механизмы oversampling:
- Простое дублирование (naive oversampling) — увеличение числа примеров редкого класса повторением существующих записей.
- Стохастическое дублирование — случайный выбор экземпляров с разными вероятностями.
- Синтетическое расширение — создание новых примеров на основе существующих. Используются алгоритмы:
- SMOTE — генерирует новые образцы с помощью интерполяции между ближайшими соседями.
- Borderline-SMOTE — генерирует данные около границы классов.
- KMeans-SMOTE — комбинирует кластеризацию и интерполяцию.
- Model-based oversampling — генерация новых примеров через LLM или другие модели.
Oversampling работает только на уровне обучающего корпуса; метрики на тестовых данных не искажаются, поскольку тестовый набор не модифицируется.
Где применяется
- Классификация текстов, изображений, аудио.
- Fraud detection — компенсация редких мошеннических транзакций.
- Медицинские датасеты — редкие патологии.
- Обучение моделей корпоративных систем поддержки.
- Предиктивная аналитика с экстремально несбалансированными событиями.
Практические примеры использования
В NLP oversampling применяется для задач классификации токсичности, приоритизации обращений и анализа тональности, где некоторые классы встречаются крайне редко. В CV используется для увеличения примеров редких категорий объектов (например, аварийных ситуаций на дороге). В финансовых системах — для балансировки данных о мошенничестве.
Для обучения LLM oversampling используется при работе с доменными датасетами: редкие паттерны, юридические формулировки, специфические технические форматы могут быть переупакованы или дублированы для повышения влияния на модель.
Ключевые свойства
- Повышает чувствительность модели к редким классам.
- Уменьшает смещение, вызванное дисбалансом.
- Совместим с любыми представлениями данных: сырые тексты, токены, embeddings.
- Поддерживает синтетическую генерацию примеров.
- Улучшает итоговые метрики recall/F1 на редких классах.
Проблемы и ограничения
- Дублирование примеров увеличивает риск переобучения.
- SMOTE и производные методы могут создавать семантически некорректные примеры.
- Перебалансировка может нарушить реальные распределения.
- Синтетика низкого качества ухудшает обучение.
- Oversampling не работает при отсутствии достаточного разнообразия в исходных данных.
Преимущества и ограничения
- Плюс: улучшает работу модели с редкими классами и повышает стабильность обучения.
- Минус: при неправильной настройке приводит к переобучению и шуму в данных.
Связанные термины
- Undersampling
- Data augmentation
- SMOTE
- Class imbalance
- Dataset curation