Бинарная классификация с сильно несбалансированными классами

52

У меня есть набор данных в виде (функции, двоичный вывод 0 или 1), но 1 случается довольно редко, поэтому, всегда прогнозируя 0, я получаю точность от 70% до 90% (в зависимости от конкретных данных, на которые я смотрю ). Методы ML дают мне примерно одинаковую точность, и я считаю, что в этой ситуации должны быть некоторые стандартные методы, которые позволили бы повысить точность по сравнению с очевидным правилом прогнозирования.

Ленивый кот
источник
3
Я нашел эту статью очень полезной на эту тему: svds.com/learning-imbalanced-classes
J. O'Brien Antognini
@ J.O'BrienAntognini Это действительно хорошая статья!
Цзиньхуа Ван

Ответы:

30

Оба hxd1011 и Фрэнк правы (+1). По сути, повторная выборка и / или обучение с учетом затрат являются двумя основными способами решения проблемы несбалансированных данных; третье - использовать методы ядра, которые иногда могут быть менее подвержены дисбалансу классов. Позвольте мне подчеркнуть, что не существует решения для серебряной пули. По определению у вас есть один класс, который неадекватно представлен в ваших выборках.

Сказав выше, я считаю, что вы найдете алгоритмы SMOTE и ROSE очень полезными. SMOTE эффективно использует подход ближайших соседей, чтобы исключить членов класса большинства, аналогичным образом создавая синтетические примеры класса меньшинства. ROSE пытается создать оценки базовых распределений двух классов, используя сглаженный метод начальной загрузки, и сэмплировать их для синтетических примеров. Оба легко доступны в R, SMOTE в пакете DMwR и ROSE в пакете с тем же именем . И SMOTE, и ROSE приводят к тому, что обучающий набор данных меньше исходного.k

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

Вероятно, самая популярная недавняя статья по этому вопросу - « Изучение несбалансированных данных » Хэ и Гарсиа. Это дает очень хороший обзор вопросов, поднятых мной и другими ответами. Кроме того, я считаю, что пошаговое руководство по субсэмплингу для дисбалансов классов , представленное Максом Куном как часть пакета каретки , является отличным ресурсом, чтобы получить структурный пример того, как недостаточная / избыточная выборка, а также создание синтетических данных могут измерять друг против друга.

usεr11852 говорит восстановить Monic
источник
Третий довольно популярный (и опять же не слишком подходящий) показатель - это площадь под кривой кривой точного восстановления. Статья Дэвиса и Джеймса 2006 года считается классикой по этому вопросу; CV имеет хорошую нить тоже . Недавно я увидел статью с несколько нелепым названием « График точного отзыва более информативен, чем график ROC, при оценке двоичных классификаторов на несбалансированных наборах данных », так что, возможно, вы захотите это проверить.
usεr11852 говорит восстановить Monic
1
Для реализации на Python различных методов повторной выборки данных я рекомендую пакет
Вадим Смоляков
Для сильно несбалансированных распределений классов AUPRC более информативен, чем AUROC. Подробности не включены здесь, так как это комментарий. Среди многих источников один здесь .
Жубарб
15

Во-первых, метрика оценки для несбалансированных данных не будет точной. Предположим, вы обнаруживаете мошенничество, и 99,9% ваших данных не являются мошенничеством. Мы можем легко сделать фиктивную модель с точностью 99,9%. (просто предсказать все данные без мошенничества).

Вы хотите изменить метрику оценки с точности на что-то другое, например, на оценку F1 или точность и отзыв . Во второй ссылке я предоставил. Есть детали и интуиция о том, почему точный отзыв будет работать.

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

Haitao Du
источник
2
F1
ссылка на «точность и отзыв» мертва?
Джейсон
13

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


{1} дает список преимуществ и недостатков чувствительного к стоимости обучения по сравнению с выборкой:

2.2 Выборка

Избыточная выборка и недостаточная выборка могут использоваться для изменения распределения учебных данных по классам, и оба метода использовались для устранения дисбаланса классов [1, 2, 3, 6, 10, 11]. Причина, по которой изменение распределения классов учебных данных помогает обучению с сильно искаженными наборами данных, заключается в том, что оно эффективно накладывает неоднородные затраты на неправильную классификацию. Например, если кто-то изменяет распределение классов в обучающем наборе так, чтобы соотношение положительных и отрицательных примеров изменялось от 1: 1 до 2: 1, тогда фактически присваивается соотношение стоимости ошибочной классификации 2: 1. Эта эквивалентность между изменением распределения классов обучающих данных и изменением соотношения стоимости ошибочной классификации хорошо известна и была формально описана Элканом [9].

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

2.3 Зачем использовать выборку?

Учитывая недостатки выборки, стоит спросить, почему кто-то использует его, а не алгоритм обучения, чувствительный к затратам, для работы с данными с искаженным распределением классов и неравномерной ошибочной классификацией. На это есть несколько причин. Наиболее очевидная причина заключается в том, что не существует чувствительных к затратам реализаций всех алгоритмов обучения, и, следовательно, подход на основе обертки с использованием выборки является единственным вариантом. Хотя сегодня это, безусловно, менее верно, чем в прошлом, многие алгоритмы обучения (например, C4.5) по-прежнему напрямую не управляют затратами в процессе обучения.

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

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

Они также провели серию экспериментов, которые не дали результатов:

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

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

Они также отмечают, что SMOTE может принести некоторые улучшения:

Есть множество улучшений, которые люди сделали, чтобы повысить эффективность отбора проб. Некоторые из этих улучшений включают в себя введение новых «синтетических» примеров при передискретизации [5 -> SMOTE], удаление менее полезных примеров из класса большинства при недостаточной выборке [11] и использование нескольких подвыборок при недостаточной выборке, например, каждый пример используется как минимум в одном подвыборка [3]. Хотя эти методы сравнивались с передискретизацией и недостаточной выборкой, они, как правило, не сравнивались с чувствительными к затратам алгоритмами обучения. Это стоило бы изучить в будущем.


{1} Вайс, Гари М., Кейт Маккарти и Биби Забар. «Чувствительное к затратам обучение по сравнению с выборкой: что лучше всего подходит для обработки несбалансированных классов с неравной стоимостью ошибок?». DMIN 7 (2007): 35-41. https://scholar.google.com/scholar?cluster=10779872536070567255&hl=en&as_sdt=0,22 ; https://pdfs.semanticscholar.org/9908/404807bf6b63e05e5345f02bcb23cc739ebd.pdf

Франк Дернонкур
источник
1
Итак, подведем итоги по ссылке: результаты о том, какой метод лучше, неубедительны, и легче использовать недостаточную / избыточную выборку. Правильно?
LazyCat
1
@LazyCat верно.
Франк Дернонкур
Да, платформа имеет ограничения. Но многие из них также являются особенностями. Например, я бы предположил, что если один длинный подробный ответ, подобный этому, может адекватно ответить на два вопроса, то эти вопросы должны быть дубликатами. И если они не являются дубликатами, то должна быть возможность варьировать ответы осмысленно, чтобы они не просто копировались. Какие действия следует предпринять в этом случае? (cc @gung)
whuber
@whuber Другой вопрос уже закрыт :-)
Франк Дернонкур
1
Хорошо, это убедительный аргумент!
whuber
6

Несколько ответов на этот запрос уже предоставили несколько разных подходов, все они действительны. Это предложение взято из статьи и связанного с ней программного обеспечения Гэри Кинга, известного политолога из Гарварда. Он является соавтором статьи под названием « Логистическая регрессия в данных о редких событиях», в которой представлены некоторые довольно убедительные решения.

Вот тезисы:

Мы изучаем данные о редких событиях, бинарных зависимых переменных, которые в десятки и тысячи раз меньше (такие события, как войны, вето, случаи политической активности или эпидемиологические инфекции), чем нули («события»). Во многих литературах эти переменные оказалось трудно объяснить и предсказать, проблема, по-видимому, имеет по крайней мере два источника. Во-первых, популярные статистические процедуры, такие как логистическая регрессия, могут резко недооценивать вероятность редких событий. Мы рекомендуем исправления, которые превосходят существующие методы и изменяют оценки абсолютных и относительных рисков настолько, насколько некоторые оценочные эффекты сообщаются в литературе. Во-вторых, обычно используемые стратегии сбора данных крайне неэффективны для данных редких событий. Боязнь сбора данных с использованием слишком небольшого числа событий привела к сбору данных с огромным количеством наблюдений, но относительно небольшим количеством плохо объясненных переменных, таких как данные о международных конфликтах с более чем четвертью миллиона диад, из которых лишь немногие на войне. Как выясняется, существуют более эффективные схемы выборки для обоснованных выводов, таких как выборка всех переменных событий (например, войн) и крошечной доли незапланированных событий (мир). Это позволяет ученым сэкономить до 99% своих (нефиксированных) затрат на сбор данных или собрать гораздо более значимые пояснительные переменные. Мы предоставляем методы, которые связывают эти два результата, позволяя одновременно работать обоим типам исправлений, и программное обеспечение, которое реализует разработанные методы. и плохо измеренные объяснительные переменные, такие как данные о международных конфликтах с более четверти миллиона диад, лишь немногие из которых находятся в состоянии войны. Как выясняется, существуют более эффективные схемы выборки для обоснованных выводов, таких как выборка всех переменных событий (например, войн) и крошечной доли незапланированных событий (мир). Это позволяет ученым сэкономить до 99% своих (нефиксированных) затрат на сбор данных или собрать гораздо более значимые пояснительные переменные. Мы предоставляем методы, которые связывают эти два результата, позволяя одновременно работать обоим типам исправлений, и программное обеспечение, которое реализует разработанные методы. и плохо измеренные объяснительные переменные, такие как данные о международных конфликтах с более четверти миллиона диад, лишь немногие из которых находятся в состоянии войны. Как выясняется, существуют более эффективные схемы выборки для обоснованных выводов, таких как выборка всех переменных событий (например, войн) и крошечной доли незапланированных событий (мир). Это позволяет ученым сэкономить до 99% своих (нефиксированных) затрат на сбор данных или собрать гораздо более значимые пояснительные переменные. Мы предоставляем методы, которые связывают эти два результата, позволяя одновременно работать обоим типам исправлений, и программное обеспечение, которое реализует разработанные методы. Существуют более эффективные схемы выборки для правильных выводов, таких как выборка всех переменных событий (например, войн) и крошечной доли событий (мир). Это позволяет ученым сэкономить до 99% своих (нефиксированных) затрат на сбор данных или собрать гораздо более значимые пояснительные переменные. Мы предоставляем методы, которые связывают эти два результата, позволяя одновременно работать обоим типам исправлений, и программное обеспечение, которое реализует разработанные методы. Существуют более эффективные схемы выборки для правильных выводов, таких как выборка всех переменных событий (например, войн) и крошечной доли событий (мир). Это позволяет ученым сэкономить до 99% своих (нефиксированных) затрат на сбор данных или собрать гораздо более значимые пояснительные переменные. Мы предоставляем методы, которые связывают эти два результата, позволяя одновременно работать обоим типам исправлений, и программное обеспечение, которое реализует разработанные методы.

Вот ссылка на статью ... http://gking.harvard.edu/files/abs/0s-abs.shtml

Майк Хантер
источник
Спасибо, - если вы читаете газету, они предлагают что-то важное, помимо недостаточной выборки, предложенной выше?
LazyCat 19.09.16
4
Это хорошая статья, я прочитал ее не раз! (+1) Я думаю, что вы должны указать, что статья также заинтересована в выводе. Вот почему GBM будет менее полезным для политолога по сравнению с GLM. Например, если используются древовидные методологии: « ... два рекурсивных алгоритма разделения могут достигать одинаковой точности прогнозирования, но в то же время представлять структурно разные регрессионные отношения, т. Е. Разные модели и, следовательно, могут приводить к различным выводам о влиянии некоторых ковариат на ответ. "(Hothorn et al. 2006)
usεr11852 говорит восстановить Monic
2

Разработка классификаторов для наборов данных с несбалансированными классами является распространенной проблемой в машинном обучении. Методы, основанные на плотности, могут иметь существенные преимущества перед «традиционными классификаторами» в такой ситуации.

p^(x|yC)CC={x:yi=0}

xy^(x)Cy^(x)C

Вы можете обратиться к следующей статье:

«Вычисляемый оценщик подключаемых модулей минимальных наборов громкости для обнаружения новизны», C. Park, J. Huang and Y. Ding, Operations Research, 58 (5), 2013.

Rodrigo
источник
2

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

DrMcCleod
источник