В современных задачах машинного обучения обучающий датасет играет ключевую роль. От качества и разнообразия данных зависит эффективность работы моделей. Однако, часто возникает проблема ограниченности доступного датасета. Одним из решений этой проблемы является искусственное расширение датасета.
Искусственное расширение датасета – это процесс увеличения размера обучающей выборки путем создания новых данных на основе предоставленных. Оно позволяет улучшить обобщающую способность моделей, снизить эффект переобучения и повысить их устойчивость к изменениям данных, что особенно важно в условиях ограниченности датасета.
Существует множество методов искусственного расширения датасета. Один из наиболее распространенных методов – аугментация данных. Он заключается в применении различных преобразований к исходным данным. Например, для изображений это может быть изменение яркости, контрастности, поворот, сдвиг и т.д. Таким образом, из ограниченного набора данных можно получить большее количество вариаций, что позволяет «обучить» модель на более разнообразных примерах.
В данной статье мы рассмотрим различные методы искусственного расширения датасета, а также подробно остановимся на эффективных приемах для увеличения обучающей выборки. Мы рассмотрим как техники аугментации данных, так и другие методы, такие как генеративные модели и синтез новых данных. Подробно изучив эти методы, вы сможете выбрать наиболее подходящий способ для вашей задачи и улучшить качество работы моделей машинного обучения.
Методика Oversampling
Методика Oversampling представляет собой один из методов искусственного расширения датасета, который применяется для увеличения количество образцов минорного класса в обучающей выборке. Данный метод заключается в создании дополнительных копий существующих примеров минорного класса, чтобы достичь баланса между классами и избежать проблем с несбалансированной выборкой.
Методика Oversampling может использоваться во многих областях машинного обучения, включая классификацию, кластеризацию и обнаружение аномалий. Ее применение может быть особенно полезным, когда доступных данных минорного класса недостаточно для эффективного обучения моделей.
Существует несколько способов реализации методики Oversampling. Один из самых распространенных подходов — это дублирование записей из минорного класса. Другими словами, каждая запись из минорного класса может быть скопирована несколько раз и использована для обучения модели.
Однако, при использовании методики Oversampling, следует быть осторожным, чтобы избежать переобучения модели. Копии существующих записей из минорного класса должны быть внесены с определенной вариативностью, чтобы модель не выучила только конкретные экземпляры и не потеряла обобщающую способность.
Методика Oversampling является полезным и эффективным приемом для увеличения обучающей выборки и улучшения предсказательных моделей. Она позволяет учесть особенности дисбалансированных данных и повысить точность предсказаний для минорных классов.
Продублированные образцы
Продублированные образцы могут быть полезными в случаях, когда количество данных в исходной выборке недостаточно для полноценного обучения модели, и при этом применение других методов искусственного расширения, таких как аугментация данных или генерация новых образцов, нецелесообразно или невозможно по каким-либо причинам.
Продублирование образцов может быть особенно полезным в задачах с несбалансированными классами, когда один из классов представлен значительно меньшим количеством образцов, чем другие. Дублирование образцов из меньшего класса позволяет уравнять количество образцов в разных классах и, таким образом, сделать обучение модели более справедливым.
Класс | Количество образцов до дублирования | Количество образцов после дублирования |
---|---|---|
Класс 1 | 100 | 200 |
Класс 2 | 200 | 200 |
Класс 3 | 50 | 100 |
В приведенной таблице показан пример продублирования образцов для трех классов. Для каждого класса указано количество образцов до дублирования и после дублирования. Как видно из таблицы, количество образцов в классах 1 и 3 увеличилось вдвое, в то время как количество образцов в классе 2 осталось неизменным. Это позволяет более равномерно распределить данные по классам и улучшить качество обучения модели.
Метод SMOTE для искусственного расширения датасета
Проблема несбалансированных классов может возникнуть в различных задачах машинного обучения, например, при обнаружении мошенничества, медицинской диагностике или сегментации изображений. В таких случаях количество примеров положительного класса может быть значительно меньше, чем количество примеров отрицательного класса. Это может привести к несбалансированным моделям, которые недостаточно обучены для выявления положительных примеров.
SMOTE решает эту проблему, создавая новые примеры положительного класса путем линейной интерполяции между случайно выбранными примерами этого класса. Каждый новый синтетический пример создается путем выбора случайного соседа положительного класса и генерации точки на линии, соединяющей два этих примера.
Процесс генерации синтетических примеров SMOTE выглядит следующим образом:
Шаг | Описание |
---|---|
1 | Выбрать один пример положительного класса случайно |
2 | Выбрать k ближайших соседей для выбранного примера (обычно использованный параметр k равен 5) |
3 | Для каждого соседа, выбранного на предыдущем шаге, вычислить разницу в признаках между выбранным примером и соседом |
4 | Умножить разницу в признаках на случайное число из диапазона [0, 1] |
5 | Добавить полученное значение к выбранному примеру, чтобы получить новый синтетический пример |
6 | Повторить шаги 1-5 для необходимого количества синтетических примеров |
SMOTE позволяет увеличить выборку положительного класса, предоставляя модели больше данных для обучения и повышая ее способность к распознаванию положительных примеров. Это помогает достичь баланса классов и улучшить производительность модели на несбалансированных данных.
Однако следует отметить, что SMOTE может быть применен только к числовым данным и не всегда дает хороший результат, особенно если данные имеют сложную структуру или шум. Поэтому необходимо аккуратно подходить к выбору параметров искусственного создания синтетических примеров.
ADASYN
Главная идея метода ADASYN заключается в том, чтобы сгенерировать новые синтетические образцы для меньшинственного класса, на основе уже существующих примеров этого класса. Основное отличие ADASYN от других методов искусственного расширения данных, таких как SMOTE, заключается в том, что ADASYN адаптирует процесс генерации синтетических образцов с учетом трудностей разделяющей гиперплоскости.
ADASYN работает в следующей последовательности:
- Определение соотношения между классами в датасете.
- Для каждого объекта минорного класса определение его ближайших соседей из других классов.
- Вычисление весов для каждого объекта минорного класса, учитывающих количество их ближайших соседей из других классов.
- Генерация новых синтетических образцов для минорного класса с учетом вычисленных весов.
Для оптимальной работы ADASYN рекомендуется применять в сочетании с другими методами ресемплинга и применять балансировку классов перед каждой итерацией обучения модели.
ADASYN показывает хорошие результаты в задачах машинного обучения с несбалансированными данными, помогая увеличить разнообразие представленных примеров и улучшить качество работы моделей.
Пример использования ADASYN в Python-коде:
from imblearn.over_sampling import ADASYN
# Создание экземпляра ADASYN
adasyn = ADASYN()
# Применение ADASYN для расширения датасета
X_resampled, y_resampled = adasyn.fit_resample(X, y)
В результате выполнения кода переменные X_resampled
и y_resampled
будут содержать расширенный датасет, соответствующий исходным данным, но с увеличенным количеством образцов для меньшинственного класса.
Методика Undersampling
Основная идея подхода заключается в том, чтобы случайным образом удалить некоторое количество примеров из множества примеров большего класса (класса с большим числом наблюдений) таким образом, чтобы достичь баланса между классами. Удаление примеров осуществляется методами случайного отбора или с использованием различных эвристических правил.
Преимущества методики Undersampling включают:
- Упрощение задачи классификации путем сокращения размерности данных
- Возможность более эффективного использования вычислительных ресурсов
- Сокращение времени обучения моделей
Однако, следует отметить, что методика Undersampling может привести к потере информации, так как удаляются примеры из исходного датасета. Поэтому важно выбирать оптимальное количество удаленных примеров и проверять адекватность полученных результатов.