Двійкова класифікація з сильно незбалансованими класами


52

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


3
Я вважаю цю статтю дуже корисною на тему: svds.com/learning-imbalanced-classes
Дж. О'Брайен Антогніні

@ J.O'BrienAntognini Це дуже приємна стаття!
Джиньхуа Ван

Відповіді:


30

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

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

Я б , ймовірно , стверджую , що краще (або менш погані) метрики для випадку незбалансованих даних використовують Коенk і / або приймач , що працюють в характерній Площі під кривими . Каппа Коена безпосередньо контролює очікувану точність, AUC, оскільки це функція чутливості та специфічності, крива нечутлива до відмінностей у пропорціях класу. Ще раз зауважте, що це лише показники, які слід використовувати з великим зерном солі. Вам слід в ідеалі пристосувати їх до вашої конкретної проблеми, враховуючи правильну вигоду та витрати, які у вашому випадку передають правильні та неправильні класифікації. Я виявив, що дивлюся на криві підйомунасправді є досить інформативним щодо цього питання. Незалежно від метрики вам слід спробувати використовувати окремий тест для оцінки ефективності вашого алгоритму; саме через неврівноваженість класу надмірне розміщення є навіть імовірнішим, тому тестування поза вибіркою є вирішальним.

Напевно, найпопулярніший останній документ з цього питання - « Навчання з незбалансованих даних » він та Гарсія. Це дає дуже приємний огляд питань, поставлених мною, та інших відповідей. Крім того, я вважаю, що посібник з підгрупування для дисбалансів класів , представлений Максом Куном у складі пакету карет, є чудовим ресурсом, щоб отримати структурний приклад того, як можна виміряти недостатню / вибірну вибірку та синтетичні дані. один проти одного.


Третя дещо популярна (і знову не надто доцільна) метрика - це крива Площа під кривою точності-нагадування. Документ « Девіс і Джеймс», 2006 р. Вважається класикою цього питання; CV має хорошу нитка теж . Нещодавно я побачив статтю з дещо молодшою ​​назвою " Графік точності відкликання є більш інформативним, ніж графік ROC при оцінці бінарних класифікаторів на незбалансованих наборах даних ", тому можна також перевірити це.
usεr11852 повідомляє Відновити Монік

1
Для реалізації пітоном
Вадим Смоляков

Що стосується сильно незбалансованих розподілів класів, AUPRC є більш інформативним, ніж AUROC. Деталі не включені сюди, оскільки це коментар. Серед багатьох джерел тут є одне .
Жубарб

15

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

Ви хочете змінити свою оціночну метрику з точності на щось інше, наприклад, показник F1 або точність та відкликання . У другому посиланні я надав. є деталі та інтуїція того, наскільки спрацює точність відкликання.

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


2
+1. Хороший приклад і хороша згадка на однокласному SVM. Я думаю , однак , що -score трохи занадто великоваговий ігноруючи істинний негативний все разом. F1
usεr11852 повідомляє Відновити Монік

посилання на "точність і згадування" мертва?
Джейсон

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=uk&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

4
Це хороший папір, я читав його не раз! (+1) Я думаю, хоча ви повинні зазначити, що документ також зацікавлений у висновку. Ось чому ГБМ буде менш корисним для політолога порівняно з ГЛМ. Наприклад, якщо використовуються дерева-методології: " ... два алгоритми рекурсивного розподілу можуть досягати однакової точності прогнозування, але, в той же час, представляють структурно різні регресійні відносини, тобто різні моделі, і, таким чином, можуть призвести до різних висновків про вплив певних коваріатів у відповідь. "(Hothorn et al. 2006)
usεr11852 повідомляє Відновити Монік

2

Розробка класифікаторів для наборів даних з незбалансованими класами є поширеною проблемою в машинному навчанні. Методи, що ґрунтуються на щільності, можуть мати значні переваги перед "традиційними класифікаторами" в такій ситуації.

Метод на основі щільності оцінює невідому щільність , де є найбільш домінуючим класом (У вашому прикладі ).ЗЗ={х:уя=0}p^(x|yC)CC={x:yi=0}

Після того, як оцінюється щільність, ви зможете передбачити ймовірність того, що до цієї оцінки щільності належить невидимий запис тесту чи ні. Якщо ймовірність достатньо мала, менша за визначений поріг (зазвичай отриманий через фазу перевірки), то , інакше* у ( х * ) З у ( х * ) Cxy^(x)Cy^(x)C

Ви можете посилатися на наступний документ:

"Обчислювальний плагін-оцінювач наборів мінімальних обсягів для виявлення новизни", К. Парк, Дж. Хуанг та Ю. Дінг, Операційні дослідження, 58 (5), 2013.


2

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.