Оптимізація кривих точності пригадування при дисбалансі класу


30

У мене є завдання класифікації, де у мене є ряд предикторів (один з яких є найбільш інформативним), і я використовую модель MARS для побудови свого класифікатора (мене цікавить будь-яка проста модель, і використання glms для ілюстративних цілей було б теж добре). Зараз у мене є величезний класовий дисбаланс у навчальних даних (близько 2700 негативних зразків для кожної позитивної вибірки). Подібно до завдань з пошуку інформації, мене більше хвилює прогнозування позитивних тестових зразків вищого рейтингу. З цієї причини для мене важлива продуктивність на кривих Precision Recall.

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

Навчання незбалансованим даним, оцінка неврівноважених даних :

PR для незбалансованого навчання РПЦ для незбалансованого навчання

Думаючи, що дисбаланс класу викидає модель, оскільки вивчення позитивних зразків вищого рейтингу є несуттєвою частиною всього набору даних, я збільшив вибір позитивних балів для навчання, щоб отримати збалансований набір навчальних даних. Коли я будую виставу на збалансованому навчальному наборі, я отримую хороші показники. І в кривих PR, і в ROC, моя навчена модель робить краще, ніж вхідні.

Тренінг щодо (збірних) збалансованих даних, оцінювання також (збірних) збалансованих даних:

PR для збалансованого навчання, візуалізований на збалансованому наборі даних ROC для збалансованого навчання, візуалізується на збалансованому наборі даних

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

Тренінг щодо (збірних) збалансованих даних, оцінка вихідних незбалансованих даних:

PR для збалансованого навчання, візуалізується на оригінальному, незбалансованому наборі даних ROC для збалансованого навчання, візуалізується на оригінальному, незбалансованому наборі даних

Тому мої запитання:

  1. Чи є причиною того, що візуалізація кривої PR показує менші показники моєї підготовленої моделі (червона), тоді як крива ROC показує поліпшення через дисбаланс класу?
  2. Чи може підходи до перекомпонування / відбору проб / відбору проб вирішити це, щоб змусити навчання зосередитись на регіоні високої точності / низького відкликання?
  3. Чи є якийсь інший спосіб зосередити навчання на регіоні з високою точністю та низьким рівнем нагадування?

Чи можете ви відредагувати своє запитання, щоб уточнити, які заходи обчислюються на навчальному наборі, а які - за витриманими даними?
Джек Таннер

@JackTanner, наразі все обчислюється на наборі тренувань. Оскільки в моделі не так багато параметрів, а кількість зразків у навчальному наборі величезна, я не переживаю надто багато. Крім того, я хочу бути впевненим, що я отримую хороші результати на тренувальному наборі, перш ніж я можу розраховувати на тестовий набір.
highBandWidth

Якою ручкою ви керуєте у своєму алгоритмі навчання для оцінки точності на різних рівнях виклику? Чи намагалися ви розширити свій набір функцій, наприклад, за допомогою комбінацій функцій та перетворень?
Джек Таннер

@JackTanner, Моя модель (MARS з функцією logit) дає результати у діапазоні від 0 до 1, аналогічно логістичній регресії. Це в основному те саме, але включає в себе ще кілька функцій. Щоб отримати точність при різних відкликаннях, я просто встановлюю пороги в різних точках. Я просто використовую стандартний спосіб обчислення PR або ROC зі списку рейтингу.
highBandWidth

Відповіді:


15
  1. Крива ROC не чутлива до змін дисбалансу класів; див. Фокетт (2004) "Графіки ROC: Примітки та практичні міркування для дослідників".
  2. Підбір вибір низькочастотного класу є розумним підходом.
  3. Існує багато інших способів вирішити дисбаланс класів. Стимуляція та розфасовка - це дві техніки, які приходять в голову. Це виглядає як відповідне нещодавнє дослідження: Порівняння методів прискорення та перешкоджання із шумними та незбалансованими даними

PS Обережна проблема; Я хотів би знати, як це виходить.


1

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

  • Вибірка даних (як запропоновано у запитанні)
  • Модифікація алгоритму
  • Навчання з урахуванням витрат

1

Я хотів би звернути увагу на той факт, що останні два експерименти насправді використовують модель SAME на базі даних ALMOST THE SAME. Різниця в продуктивності не є різницею моделей, вона пояснюється різними розподілами набору даних перевірки та властивостями конкретних використовуваних МЕТРІКС - точністю і відкликанням, які сильно залежать від цього розподілу. Щоб детальніше розібратися в цьому пункті, якщо ви взяли X різних записів із початкового набору даних перевірки та копіювали клас міноритарності для набору даних про масштаб, то ваша модель зробить ті самі прогнози для цих записів X, правильні чи неправильні, як у масштабі, так і в неврівноваженому стані. валідизація наборів даних Єдина відмінність полягає в тому, що для кожного помилкового позитиву буде менше правдивих позитивів у початковому наборі даних (отже, менша точність) та більше справжніх позитивів у збалансованому наборі даних (просто через те, що в наборі даних загалом є більше позитивних прикладів) . Ось чому, як кажуть, точність та відкликання чутливі до перекосу. З іншого боку, як ілюструють ваші експерименти, ROC не змінюється. Це можна спостерігати, дивлячись також на його визначення. Тому, як кажуть, ROC не чутливий до перекосу.

У мене ще немає гарних відповідей на пункти 2 і 3, як я сам їх шукаю :)


0

Якщо припустити, що збільшені позитивні зразки мають "те саме розподіл", що і в "оригінальному наборі". Зі збільшенням кількості позитивних зразків відбувається мало змін

1) кількість TruePositive (TP) збільшується для "всіх порогів" і, як результат, відношення TP / (TP + FP) і TP / (TP + FN) збільшуються для всіх порогів. Так що площа під КНР збільшується.

2) очікувана точність, яка також називається точністю "німої" моделі, збільшується від ~ 1/2700 (в оригінальному наборі) до ~ 1/2 (у випадку "ідеального" балансу). Якщо припустити, що ваша модель працює краще, ніж "німа" модель означає, що площа під кривою буде більше 0,00037 в "оригінальному наборі" і більше 0,5 в ідеально збалансованому наборі.

3) під час навчання моделі на масштабному наборі даних деякі моделі можуть "перевищити" позитивні вибірки.

Що стосується кривих ROC, то, як відомо, криві ROC демонструють незначний ефект від варіацій розподілу класів (підвищення масштабу має дуже незначний вплив на FPR, тоді як можна побачити деякий вплив на TPR).

Що стосується зосередження уваги на області високої точності / низького виклику, ви можете оптимізувати функцію витрат, коли помилкові позитивні санкції більше, ніж помилкові негативи.

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