[Навыки развития] · Метод обработки дисбаланса данных в глубоком обучении
0. Введение проблемы
Дисбаланс классов означает, что в алгоритме обучения классификации пропорции выборок разных классов сильно различаются, что вызовет значительные помехи в процессе обучения алгоритма. Например, в задаче с двумя классами имеется 1000 отсчетов, из которых 5 положительных отсчетов и 995 отрицательных, В этом случае алгоритму нужно всего лишь предсказать все отсчеты как отрицательные отсчеты, тогда его точность также может достигать 99,5. %, хотя точность результата высока, он все равно ничего не стоит, потому что такой алгоритм обучения не может предсказать положительные выборки. Здесь мы можем знать, что проблема дисбаланса приведет к высокой степени ошибочной классификации класса с меньшим количеством выборок, то есть большая доля выборок меньшего класса будет предсказана как класс с большим количеством выборок.
1. Решение
1. Недостаточная выборка, уменьшение количества выборок большего числа, чтобы пропорция положительных и отрицательных выборок была сбалансирована.
2. Передискретизация, увеличение количества выборок меньшего числа, чтобы пропорция положительных и отрицательных выборок была сбалансирована.
3. Образец не обрабатывается, а порог классификации образца перемещается.
1.1 Недостаточная выборка
случайная недостаточная выборка
Случайная недостаточная выборка относится к случайному извлечению части данных из выборок большинства классов для удаления.Случайная недостаточная выборка имеет большой недостаток, заключающийся в том, что распределение выборок не учитывается, а процесс выборки имеет большую случайность, что может привести к удалению большинства по ошибке. , Некоторая важная информация в образце класса.
Ниже представлена подборка продвинутых методов
EasyEnsemble и BalanceCascade
EasyEnsemble генерирует несколько наборов подданных путем многократного случайного извлечения части выборок из выборок большинства классов, объединяет каждое подмножество с данными класса меньшинства для обучения для создания нескольких моделей, а затем объединяет результаты нескольких моделей для оценки. Этот метод очень похож на принцип случайного леса.
BalanceCascade генерирует обучающую выборку путем случайной выборки с недостаточной выборкой, обучает классификатор, не заменяет правильно классифицированные выборки большинства классов, а затем снова выполняет неполную выборку оставшихся выборок большинства классов, чтобы сгенерировать вторую обучающую выборку.Два классификатора также не возвращают правильно классифицированные выборки и так далее, пока не будет выполнено определенное условие остановки, и окончательная модель также будет комбинацией нескольких классификаторов.
Недостаточная выборка на основе knn
Существует четыре метода недостаточной выборки KNN:
- NearMiss-1: выберите те образцы класса большинства с наименьшим средним расстоянием до ближайших трех образцов класса меньшинства.
- NearMiss-2 : выберите те образцы класса большинства с наименьшим средним расстоянием до трех самых дальних образцов класса меньшинства.
- NearMiss-3: выбирает заданное количество ближайших образцов класса большинства для каждого образца класса меньшинства, цель состоит в том, чтобы гарантировать, что каждый образец класса меньшинства окружен некоторыми образцами класса большинства.
- Самое дальнее расстояние: выберите те выборки класса большинства с наибольшим средним расстоянием до ближайших трех выборок класса меньшинства.
1.2. Передискретизация
случайная передискретизация
Случайная неполная выборка относится к выборке данных, которые случайным образом заменяются из выборок класса меньшинства много раз.Число выборки больше, чем исходное число выборки класса меньшинств.Некоторые данные будут повторяться, и появление повторяющихся данных будет увеличиваться. дисперсию и привести к переоснащению модели.
Ниже представлена подборка продвинутых методов
Алгоритм SMOTE
Полное название SMOTE — Synthetic Minority Oversampling Technique, который представляет собой синтетический метод передискретизации класса меньшинства.Это улучшенная схема, основанная на алгоритме случайной передискретизации.Основная идея алгоритма SMOTE заключается в анализе образцов меньшинства и искусственном синтезе новых образцов. в соответствии с образцами класса меньшинства в набор данных.
Алгоритм SMOTE использует сходство между существующими образцами класса меньшинства в пространстве признаков для установления искусственных данных.Также можно считать, что алгоритм SMOTE предполагает, что образцы между образцами класса меньшинства, которые близки друг к другу, по-прежнему являются классом меньшинства. .
Конкретный процесс выглядит следующим образом:
- Случайным образом выберите образец класса меньшинства, рассчитайте его расстояние до всех образцов в наборе образцов класса меньшинства и получите k его ближайших соседей.
- Установите коэффициент выборки в соответствии с коэффициентом дисбаланса выборки, чтобы определить коэффициент выборки n, для каждой выборки класса меньшинств x случайным образом выберите несколько выборок из k ближайших соседей.
- Для каждого случайно выбранного соседа выберите случайное число между [0,1] разностью между случайным соседом и собственным вектором x, затем добавьте x,
Выражается формулой:
Алгоритм SMOTE отказывается от практики случайной передискретизации и дублирования выборок, что может предотвратить проблему легкой переобучения из-за случайной передискретизации, а сами эти лишние выборки не несут информации, и алгоритм SMOTE выдает одинаковое количество выборок для каждого исходного меньшинства Синтезируйте выборки данных, что увеличивает вероятность дублирования между классами.
Алгоритм Borderline-SMOTE
Улучшение алгоритма Borderline-SMOTE по сравнению с алгоритмом SMOTE заключается в том, что новые выборки генерируются только для выборок класса меньшинства с более чем половиной выборок класса большинства в K ближайших соседей, потому что эти выборки легко неправильно классифицировать, а искусственные синтетические образцы выживают рядом с этими образцами класса меньшинства, что помогает правильно классифицировать образцы класса меньшинства. И если все образцы класса меньшинства окружены образцами класса большинства, в этом случае этот образец будет рассматриваться как образец шума.
Формула алгоритма Borderline-SMOTE для фильтрации образцов выглядит следующим образом:
Процесс его выбора выглядит следующим образом:
- Для каждого xi⊂Smin определите серию наборов ближайших соседей, назовите набор данных Si:k−nn и Si:k−nn⊂S
- Для каждой выборки xi определите количество выборок, принадлежащих мажоритарному классу в наборе ближайших соседей, а именно: |Si:k−nn⋂Smaj|
- Выберите xi, удовлетворяющий приведенному выше неравенству
Передискретизация на основе k-средних
Метод передискретизации, основанный на кластеризации k-средних, обычно делится на два этапа:
- Сначала выполните кластеризацию K-средних на положительных и отрицательных примерах соответственно.
- После кластеризации выполните описанный выше метод передискретизации на меньших кластерах, чтобы увеличить количество выборок.
- Затем выполните сбалансированное расширение положительных и отрицательных образцов.
Алгоритм может не только решить проблему дисбаланса между классами, но и решить проблему дисбаланса внутри класса.
1.3, движение порога классификации
Обычно в задаче с двумя классами мы часто используем 0,5 в качестве стандарта классификации для результата прогнозирования.Например, если прогнозируемая вероятность больше 0,5, она будет отнесена к классу А, а если прогнозируемая вероятность меньше 0,5 , он будет отнесен к классу B, где 0,5 — порог классификации.
В задаче бинарной классификации, если вероятность предсказания того, что образец будет A, равна p, то вероятность того, что он будет B, равна 1-p, а p/(1-p) представляет собой отношение двух типов возможностей, что есть шансы (шансы) или отношение шансов. Если p/(1-p)>1, мы считаем, что выборка скорее относится к классу A, чем к B. Однако, когда доля положительных и отрицательных выборок в наборе данных не одинакова, в это время будет вероятность наблюдения.Предполагая, что в наборе данных есть m выборок A и n выборок B, тогда вероятность наблюдения равна m/n (в случае баланса выборки) Вероятность наблюдения равна 1).
В процессе классификации алгоритма, если прогнозируемая вероятность p/(1-p) больше фактической наблюдаемой вероятности m/n, тогда мы классифицируем выборку как A вместо использования 0,5 в качестве порога классификации (0,5 в случае выборки баланс).порог)
Выражается формулой: p/(1-p)>m/n
Результат расчета: p>m/(m+n)
В настоящее время, только когда p больше, чем m/(m+n), результатом прогнозирования является класс A, где m/(m+n) заменяет 0,5 в качестве нового порога классификации.
С помощью приведенных выше принципов, столкнувшись с несбалансированными образцами при обучении классификации, мы можем использовать исходные несбалансированные образцы для обучения, а затем провести классификацию, изменив правила принятия решений.Например, когда образцы сбалансированы, мы используем 0,5 как порог классификации, в то время как в случае несбалансированных выборок мы можем указать, что прогнозируемая вероятность должна достигать 0,8, чтобы быть предсказанным как класс большинства.
2. Ссылка
1,woo woo woo.cn blog on.com/art student student/…