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

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

Обработка проблемы дисбаланса классов данных

Перепечатать адрес

1. В чем проблема дисбаланса классов

Если количество обучающих примеров разных категорий немного отличается, обычно это малоэффективно, но если разница велика, это вызовет проблемы в процессе обучения. Например, если есть 998 отрицательных примеров, но только 2 положительных примера, метод обучения должен вернуть только обучающийся, который всегда предсказывает новые образцы как отрицательные примеры, чтобы достичь точности 99,8%; однако такой обучающий часто бесполезен, потому что он не можно привести положительные примеры.

Дисбаланс классов относится к ситуации, в которой количество обучающих примеров разных категорий в задаче классификации сильно различается. В реальных задачах обучения классификации мы часто сталкиваемся с дисбалансом классов, например, при решении задач мультиклассификации путем разбиения, даже если количество обучающих примеров разных классов в исходной задаче равно, при использовании OvR (пара оставшихся , One vs. Rest, именуемые OvR), MvM (многие ко многим, Many vs. Many, именуемые MvM) Две задачи классификации, созданные стратегией, могут иметь несбалансированность категорий, поэтому необходимо понимать основные методы обработки дисбаланса категорий.

 

2. Решить проблему дисбаланса классов

2.1 Метод недостаточной выборки

(1) Что такое метод недостаточной выборки?

Непосредственно выполнить «недостаточную выборку» на образцах мажоритарного класса в обучающем наборе, то есть удалить некоторые образцы в мажоритарном классе, чтобы количество положительных и отрицательных примеров было близким, а затем изучить.

(2) Метод случайной недостаточной выборки

случайная недостаточная выборкаКак следует из названиято есть из класса большинстваПроизвольно выберите несколько образцов, чтобы сформировать набор образцов. Затем набор образцовотудалено в. новый набор данных.

недостаток:

Метод случайной недостаточной выборки позволяет изменить распределение выборки путем изменения доли выборок большинства классов, чтобы сделать распределение выборки более сбалансированным, но есть и некоторые проблемы. Для случайной недостаточной выборки, поскольку выбранный набор выборок меньше, чем исходный набор выборок, некоторая информация будет потеряна, то есть удаление выборок большинства классов может привести к тому, что классификатор потеряет важную информацию о большинстве классов.

Чтобы преодолеть проблему потери информации, вызванную методом случайной выборки с недостаточной выборкой, и гарантировать, что алгоритм демонстрирует лучшую производительность классификации несбалансированных данных, появились репрезентативные алгоритмы метода с недостаточной выборкой, EasyEnsemble и BalanceCascade.

(3) Репрезентативный алгоритм недостаточной выборки — EasyEnsemble

Шаги алгоритма:

1) Производится n случайных выборок с заменой из класса большинства, и каждый раз, когда выбирается количество выборок, аналогичное количеству классов меньшинства, можно получить n наборов выборок, которые обозначаются как.

2) Затем объедините каждое подмножество образцов класса большинства с образцами класса меньшинства и обучите модель, чтобы получить n моделей.

3) Наконец, эти модели объединяются, чтобы сформировать интегрированную систему обучения, и окончательный результат модели представляет собой среднее значение этих n моделей.

Рисунок 1: Алгоритм EasyEnsemble

(4) Репрезентативный алгоритм недостаточной выборки – BalanceCascade

Алгоритм BalanceCascade основан на Adaboost и использует Adaboost в качестве базового классификатора.Основная идея:

1) В каждом раунде обучения базовый классификатор Adaboost обучается с использованием обучающего набора с равным количеством классов большинства и меньшинства.

2) Затем используйте классификатор, чтобы предсказать все классы большинства, контролировать уровень ложных срабатываний, контролируя порог классификации, и удалять все правильно оцененные классы.

3) Наконец, войдите в следующий раунд итерации и продолжайте сокращать количество классов большинства.

Рисунок 2: Алгоритм BalanceCascade

Расширенное чтение:

Liu X Y, Wu J, Zhou Z H. Exploratory undersampling for class-imbalance learning[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2009, 39(2): 539-550.

В этой статье предлагаются два метода недостаточной выборки: EasyEnsemble и BalanceCascade.

 

2.2 Метод передискретизации

(1) Что такое метод передискретизации

«Перевыборка» класса меньшинства в обучающем наборе, то есть добавление некоторых образцов класса меньшинства, чтобы количество положительных и отрицательных примеров было близким, а затем обучение.

(2) Метод случайной передискретизации

Случайная передискретизация относится к классу меньшинстваслучайным образом выбрать несколько образцов из, добавить их вZhonglai расширяет исходный набор данных, чтобы получить новый набор классов меньшинств.. новый набор данных.

недостаток:

При случайной избыточной выборке сложность обучения модели увеличивается из-за необходимости тиражировать выборки класса меньшинства для расширения набора данных. С другой стороны, также легко вызвать проблему переобучения модели, потому что случайная передискретизация заключается в простом копировании исходной выборки, что делает правила, изученные учащимся, слишком специфичными, что не способствует обобщению производительности модели. ученика, что приводит к проблеме переобучения.

Чтобы решить проблему переобучения модели, вызванную случайной передискретизацией, и обеспечить цель достижения баланса набора данных, появляются репрезентативные алгоритмы метода передискретизации SMOTE и алгоритмы Borderline-SMOTE.

(3) Репрезентативный алгоритм передискретизации — SMOTE

Полное название SMOTE — Synthetic Minority Oversampling, то есть технология синтетической передискретизации меньшинства. Алгоритм SMOTE является улучшенным алгоритмом метода случайной передискретизации.Поскольку метод случайной передискретизации напрямую повторно использует класс меньшинства, в обучающем наборе будет много повторяющихся выборок, что легко приведет к проблеме переобучения модели. Основная идея алгоритма SOMT заключается в анализе каждой выборки класса меньшинства., случайным образом выбирает выборку из ближайших соседей(является образцом в классе меньшинства), то виНа линии, соединяющей их, случайным образом выбирается точка в качестве вновь синтезированного образца класса меньшинства.

Алгоритм алгоритма SMOTE для синтеза новых выборок меньшинства описывается следующим образом:

1) Для каждой выборки в классе меньшинства, используя евклидово расстояние в качестве стандарта для расчета его для выборки класса меньшинстваРасстояние всех выборок в , получить k-ближайших соседей.

2) Установите коэффициент выборки в соответствии с коэффициентом несбалансированности выборки, чтобы определить коэффициент выборки N для каждой выборки класса меньшинства., случайным образом выбрать несколько выборок из k-ближайших соседей, предполагая, что выборка.

3) Для каждого случайно выбранного соседа, соответственно сПостройте новую выборку по следующей формуле.

Опишем алгоритм SMOTE в виде графического выражения.

1) Сначала случайным образом выберите образец класса меньшинства..

2). Найти этот образец класса меньшинствx_{i}K сосед (при условии, что k = 5), 5 соседей были выведены.

3) Произвольно выбрать выборку из K ближайших соседей\hat{x_{i}}(обведено зеленым).

4) Образцы в классе меньшинстваx_{i}и выбранный образец ближайшего соседа\hat{x_{i}}Найдите случайную точку на линии соединения между ними. Эта точка является искусственно синтезированной новой точкой отсчета (отмечена зеленым положительным знаком).

Алгоритм SMOTE отказывается от практики случайной передискретизации и дублирования выборок, что может предотвратить проблему легкой переобучения при случайной передискретизации.Практика доказала, что этот метод может повысить производительность классификатора. Однако алгоритм SMOTE также имеет следующие два недостатка:

1) Поскольку для каждой выборки класса меньшинств создается новая выборка, может возникнуть проблема перекрытия сгенерированных выборок.

2) В алгоритме SMOTE возникает проблема сверхобобщения, в основном из-за метода генерации синтетических выборок. В частности, алгоритм SMOTE генерирует одинаковое количество синтетических выборок данных для каждой исходной выборки класса меньшинства без учета характеристик распределения соседних выборок, что увеличивает вероятность повторения между классами.

Объясните причину недостатка 2): В сочетании с описанным выше принципом алгоритма SMOTE алгоритм SMOTE в процессе генерации новых выборок искусственного меньшинства просто выполняет интерполяцию между похожими соседями и не учитывает большинство выборок вокруг выборок меньшинства. , Распространение. Как показано на рисунке 3, зеленые положительные знаки 1 и 2 распределены вокруг выборок мажоритарного класса, и они ближе всего к выборкам мажоритарного класса, что делает их вероятными для разделения на выборки мажоритарного класса. Поэтому из рисунка 3 видно, что механизм генерации выборки алгоритма SMOTE обладает определенной слепотой.

Рисунок 3: Результаты алгоритма SOMTE

Чтобы преодолеть ограничения двух вышеуказанных пунктов, один за другим было предложено множество различных методов адаптивной выборки, среди которых репрезентативный алгоритм включает алгоритм Borderline-SMOTE.

Дальнейшее чтение:

Chawla N V, Bowyer K W, Hall L O, et al. SMOTE: synthetic minority over-sampling technique[J]. Journal of artificial intelligence research, 2002, 16: 321-357.

В этой статье представлен алгоритм SMOTE.

(4) Введение в алгоритм Borderline-SMOTE

Наибольший интерес для алгоритма Borderline-SMOTE представляет метод, используемый для идентификации исходных образцов меньшинства. В алгоритме Borderline-SMOTE процесс идентификации исходных образцов меньшинства выглядит следующим образом:

1) Во-первых, для каждого, определить ряд наборов выборок ближайших соседей, и набор данных.

2) Тогда для каждой выборки, чтобы определить количество отсчетов, принадлежащих мажоритарному классу в наборе отсчетов ближайших соседей, а именно:.

3) Наконец, выберите тот, который удовлетворяет следующему неравенству.

Приведенная выше формула показывает, что только те из набора ближайших соседей, у которых класс большинства выше, чем класс меньшинствабудут выбраны для формирования «Опасного набора» (ОПАСНО). Таким образом, выборки в наборе DANGER представляют собой границы выборок класса меньшинства (самые легко классифицируемые выборки). Затем используйте алгоритм SMOTE для набора DANGER, чтобы сгенерировать синтетические выборки меньшинства вблизи границы.

Мы можем видеть, что если. который:Все k ближайших соседей выборки , принадлежат мультиклассу. Как показано в точке выборки C на рисунке 4, мы рассматриваем точку выборки C как шум, и она не может генерировать синтетические выборки.

Рис. 4. Сбор данных на основе выборок на границе

Благодаря приведенному выше введению у нас есть определенное понимание алгоритма Borderline-SMOTE. Для того, чтобы каждый мог лучше понять этот алгоритм, я нарисую для вас блок-схему и представлю ее подробно.

Рисунок 5: Блок-схема алгоритма Borderline-SMOTE

На блок-схеме 5 набор обучающей выборки — F, а выборки класса меньшинства.

1) Шаг 1:

(i) Рассчитайте выборку класса меньшинстваk ближайших соседей каждой выборки в обучающем наборе F.

(ii) Тогда по k пар ближайших соседейОбразцы в подразделяются на:

  • Предполагая, что все k ближайших соседей являются выборками мажоритарного класса, мы определяем выборку как выборку шума и помещаем ее вв коллекции.
  • Так или иначе, все k ближайших соседей являются выборками класса меньшинства, тогда выборка находится далеко от границы классификации и помещается в набор S.
  • Наконец, если K ближайших соседей имеют как выборки класса большинства, так и выборки класса меньшинства, они рассматриваются как граничные выборки и помещаются в набор B.

2) Шаг 2:

(i) Установить граничный набор выборок, вычислить каждую выборку в наборе B, в выборке класса меньшинстваK ближайших соседей в , составляют множество.

(ii) Случайным образом выбрать s (1

(iii) Рассчитайте разницу всех атрибутов между каждым из них и выборкой...

(iv) затем умножить на случайное число. еслидаобразцы в наборе или S-наборе, затем.

(v) Окончательно сгенерированные выборки класса искусственного меньшинства:.

3) Шаг третий:

Процесс шага 2 повторяется до тех пор, пока количество сгенерированных выборок искусственного меньшинства не будет соответствовать требованиям и не будет достигнута цель балансировки набора выборок, после чего алгоритм завершает работу.

Дальнейшее чтение:

Han H, Wang W Y, Mao B H. Borderline-SMOTE: a new over-sampling method in imbalanced data sets learning[C]//International Conference on Intelligent Computing. Springer, Berlin, Heidelberg, 2005: 878-887.

В этой статье предлагается алгоритм Borderline-SMOTE.

2.3 Обучение с учетом затрат

(1) Матрица затрат

Алгоритм выборки решает проблему обучения несбалансированных данных с уровня данных; метод решения проблемы обучения несбалансированных данных на уровне алгоритма в основном основан на алгоритме обучения с учетом затрат (Cost-Sensitive Learning).

В реальных задачах часто встречается, что разные типы ошибок имеют разные последствия. Например, в медицинской диагностике ошибочный диагноз больного как здорового человека и ошибочный диагноз здорового человека как больного кажутся «одноразовыми ошибками», но эффект последнего заключается в том, чтобы увеличить трудность дальнейшего обследования. последствиями может быть потеря наилучшей возможности для спасения жизней; другой пример, система контроля доступа по ошибке блокирует проходимых людей из двери, что ухудшит работу пользователя, но по ошибке помещает незнакомцев в дверь, это нанесет серьезный ущерб , При проверке мошенничества с кредитными картами ошибочное принятие нормального использования за незаконное присвоение может привести к ухудшению пользовательского опыта, но ошибочное принятие незаконного присвоения за обычное использование приведет к огромным потерям пользователей. Чтобы взвесить различные потери, вызванные различными типами ошибок, ошибкам можно присвоить «неравную стоимость».

Основным элементом методов обучения с учетом затрат является матрица затрат, как показано в таблице 1. возначает, чтоПредполагается, что образец класса будет первымСтоимость образцов класса. Вообще говоря,; Если потери, вызванные оценкой класса 0 как класса 1, больше, то; чем больше разница в потерях, темЧем больше разница в стоимости. когдаРавное время — это нечувствительная к затратам проблема обучения.

Таблица 1: Матрица затрат

(2) Метод обучения с учетом затрат

Основываясь на приведенном выше анализе чувствительной к стоимости матрицы, метод обучения с учетом затрат в основном имеет следующие три метода реализации, а именно:

1) Начиная с модели обучения, преобразование конкретного метода обучения, чтобы сделать его пригодным для обучения в условиях несбалансированных данных.Исследователи нацелены на различные модели обучения, такие как персептроны, машины опорных векторов, деревья решений, нейронные сети и т. д. Их стоимость -чувствительные версии представлены отдельно. Взяв в качестве примера дерево решений, чувствительное к стоимости, его можно преобразовать из трех аспектов, чтобы адаптировать к изучению несбалансированных данных.Эти три аспекта: выбор порогов принятия решений, выбор критериев разделения и сокращение.Матрица затрат могут быть представлены во всех аспектах.

2) Начиная с байесовской теории риска, ценозависимое обучение рассматривается как постобработка результата классификации: модель обучается по традиционному методу, а результат корректируется с целью достижения минимальных потерь Формула оптимизации выглядит следующим образом. Преимущество этого метода в том, что он может быть независимым от конкретного используемого классификатора, но недостаток также очевиден, он требует, чтобы выходное значение классификатора было вероятностью.

3) С точки зрения предварительной обработки стоимость используется для корректировки веса, чтобы классификатор соответствовал характеристикам, чувствительным к стоимости. Ниже объясняется алгоритм стратегии обновления веса AdaCost, основанный на Adaboost.

(3) Алгоритм AdaCost

Чтобы понять алгоритм AdaCost, мы должны сначала узнать алгоритм Adaboost, как показано на рисунке 6. Алгоритм Adaboost изучает классификатор с помощью повторяющихся итераций и обновляет вес выборки в соответствии с производительностью текущего классификатора, как показано в красной рамке на рисунке Стратегия обновления заключается в уменьшении веса правильно классифицированной выборки и вес неправильно классифицированной выборки увеличивается, окончательная модель представляет собой взвешенную линейную комбинацию нескольких итерационных моделей. Чем точнее классификатор получит больший вес.

Рисунок 6: Алгоритм Adaboost

Алгоритм AdaCost изменяет стратегию обновления веса алгоритма Adaboost.Основная идея состоит в том, чтобы значительно увеличить вес ошибочно классифицированных образцов с высокой стоимостью и соответствующим образом уменьшить вес правильно классифицированных образцов с высокой стоимостью, так что снижение веса относительно маленький. Общая идея состоит в том, что вес дорогих образцов сильно увеличивается и медленно уменьшается. Вес образца обновляется в соответствии со следующей формулой. в\beta_{-}和\beta_{+}представляют правильную и неправильную классификацию выборки соответственно\betaзначение .

 

2.4 Методы оценки несбалансированного обучения

(1) Мера F1

Эта часть включает в себя метод оценки модели, если вы еще не изучили его, вы можете прочитать статью об этой части, которую я размещал ранее на моем официальном аккаунте. В то же время я также разместил адрес ссылки, чтобы все могли быстро узнать.

[Частота ошибок, точность, точность, отзыв и метрика F1] подробное введение

Кривая ROC и понимание площади AUC

Таблица 2: Матрица путаницы результатов классификации

Например, в сценарии прогнозирования рака предполагается, что образцы без рака являются положительными примерами, а образцы с раком - отрицательными примерами.Доля отрицательных примеров очень мала (около 0,1%).Если классификатор прямо установлен на предсказать все положительные примеры, то значения точности и точности равны 99,9%. Можно видеть, что точность, частота ошибок и коэффициент точности не свидетельствуют о производительности модели при несбалансированных данных. Значение F1 учитывает как точность, так и полноту миноритарного класса, поэтому оно может измерять производительность модели при несбалансированных данных.

 

(2)G-Mean

G-Mean — еще один индикатор, который также может оценивать производительность модели несбалансированных данных.Его формула расчета выглядит следующим образом.

 

(3) Кривая ROC и площадь AUC

В этой моей статье всесторонне анализируется кривая ROC и площадь AUC. Кривая ROC и площадь AUC могут быть хорошей оценкой производительности модели несбалансированных данных.

Кривая ROC и понимание площади AUC

3. Как выбрать

(1) В случае очень небольшого количества положительных и отрицательных образцов следует использовать методы синтеза данных, такие как алгоритм SMOTE и алгоритм Borderline-SMOTE.

(2) Когда имеется достаточное количество положительных и отрицательных образцов и соотношение не особенно различается, следует рассмотреть метод выборки или метод взвешивания.

Суммировать:

В этой статье в основном представлены алгоритмы и индикаторы оценки, обычно используемые при обучении, когда категории не сбалансированы в классификации.Алгоритмы в основном вводятся на уровне данных и модели.Алгоритмы уровня данных в основном касаются передискретизации и недостаточной выборки и улучшенных алгоритмов. Модель в основном объясняется экономическим обучением. Показатели оценки в основном объясняют метрику F1, G-Mean и площадь AUC кривой ROC.

 

Reference:

(1) Liu XY, Wu J, Zhou Z H. Исследовательская недостаточная выборка для изучения дисбаланса классов [J], IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2009, 39(2): 539-550 .

(2) Чавла Н.В., Бойер К.В., Холл Л.О. и др. SMOTE: синтетический метод избыточной выборки меньшинств[J], Журнал исследований искусственного интеллекта, 2002, 16: 321-357.

(3) Han H, Wang WY, Mao B H. Borderline-SMOTE: новый метод избыточной выборки в изучении несбалансированных наборов данных[C]//Международная конференция по интеллектуальным вычислениям, Springer, Берлин, Гейдельберг, 2005: 878-887 .

(4) Адрес загрузки документов EasyEnsemble и BalanceCascade:В это время. Это предложение. Квота. Способность/оборот/неделя...

(5) Страница журнала алгоритма SMOTE:Ууууууууууууууууууууу как .org/index.PHP/просто…

(6) Адрес загрузки бумаги алгоритма SMOTE:Ууууууууууууууууууууу как .org/index.PHP/просто…

(7) Адрес загрузки бумаги алгоритма Borderline-SMOTE:В прошлый раз 2 был .uppersonal.starved/keel/keel- of…

(8) Метод выборки для несбалансированного обучения — блог CSDN https://blog.csdn.net/u011414200/article/details/50664266

(9) Введение в методы машинного обучения при несбалансированных данных https://www.jianshu.com/p/3e8b9f2764c8

(10) Проблема несбалансированной классификации | Метод BalanceCascade и его реализация на Python https://zhuanlan.zhihu.com/p/36093594