Толковый словарь по нейросетям и искусственному интеллекту
Передискретизация, увеличение выборки
Oversampling
Категория термина
Oversampling — это метод обработки данных в машинном обучении, направленный на решение проблемы дисбаланса классов (Data Imbalance). Суть заключается в том, что количество примеров в «меньшинстве» (minority class) искусственно увеличивается, чтобы сбалансировать его с «большинством» (majority class). Это помогает модели лучше обучаться на редких примерах и не игнорировать важные классы.
🧠 Основная идея:
- При сильном дисбалансе (например, 95% здоровых пациентов и 5% больных) модель склонна предсказывать только «здоров».
- Oversampling добавляет больше данных для класса «больной» — либо за счёт копирования, либо за счёт генерации новых примеров.
- Таким образом, вероятность встретить редкие примеры в обучении увеличивается, и модель учится различать классы лучше.
⚙️ Основные методы oversampling:
- Random Oversampling
- Простое дублирование случайных примеров из minority-класса.
- Плюсы: простота реализации.
- Минусы: повышает риск переобучения, так как модель видит одни и те же данные.
- SMOTE (Synthetic Minority Over-sampling Technique)
- Один из самых популярных методов.
- Создаёт синтетические примеры, интерполируя существующие данные меньшинства.
- Уменьшает риск переобучения и добавляет больше разнообразия.
- ADASYN (Adaptive Synthetic Sampling)
- Улучшение SMOTE.
- Генерирует больше синтетических примеров там, где данные сложнее классифицировать (рядом с границей классов).
- Borderline-SMOTE
- Сосредоточен на создании примеров именно на границе раздела классов, что помогает лучше обучить модель различать сложные случаи.
- GAN-based Oversampling
- Использование генеративных моделей (например, GAN) для создания новых, реалистичных примеров данных.
- Особенно актуально для изображений, аудио и текста.
📌 Пример:
В задаче классификации кредитных транзакций есть 99% легальных операций и 1% мошеннических.- Без oversampling модель почти всегда будет предсказывать «легальная».
- С применением SMOTE количество мошеннических операций увеличивается, и модель учится распознавать их.
📌 Применение:
- Финансовая сфера: обнаружение мошенничества.
- Медицина: выявление редких заболеваний.
- Кибербезопасность: детекция атак в сетевом трафике.
- Компьютерное зрение: распознавание редких объектов.
⚖️ Преимущества и недостатки:
Преимущества:- Улучшает обучение на редких классах.
- Уменьшает смещение модели в сторону majority-класса.
- Работает даже при очень сильном дисбалансе.
- Random Oversampling повышает риск переобучения.
- SMOTE и его варианты могут генерировать «нереалистичные» примеры.
- Может усложнить вычисления при работе с большими датасетами.
🧠 Связанные понятия:
- Undersampling — противоположный метод (уменьшение числа примеров majority-класса).
- Data Imbalance — проблема, для решения которой применяется oversampling.
- Class Weights — альтернатива oversampling: учёт весов классов в функции потерь.