[Навыки развития] · Метод обработки дисбаланса данных в глубоком обучении

искусственный интеллект Python

[Навыки развития] · Метод обработки дисбаланса данных в глубоком обучении

 

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/…