Останнім часом я багато думав про "проблему дисбалансу класів" у машино-статистичному навчанні, і все глибше втягуюсь у відчуття, що просто не розумію, що відбувається.
Спершу дозвольте мені визначити (або спробувати) визначити свої умови:
Проблема дисбалансу класів у машинному / статистичному навчанні полягає в тому, що деякі алгоритми бінарної класифікації (*) не спрацьовують добре, коли частка 0 класів до 1 класу дуже перекошена.
Так, у вищенаведеному, наприклад, якби було сто класів для кожного класу, я б сказав, що дисбаланс класів становить від до , або .
Більшість тверджень про проблему, яку я бачив, бракує того, що я вважав би достатньою кваліфікацією (які моделі борються, наскільки неврівноваженою є проблема), і це є одним із джерел моєї плутанини.
Огляд стандартних текстів машинного / статистичного навчання виявляється мало:
- Елементи статистичного нахилу та вступ до статистичного навчання не містять "класового дисбалансу" в індексі.
Машинне навчання для прогнозних даних Analytics також не містить "дисбаланс класів" в індексі.
Мерфі Machine Learning: Вероятностная перспектива робить містить «клас дисбаланс * в індексі Йдеться розділ про SVM, де я знайшов наступний дражливий коментар .:
Варто пам’ятати, що всі ці труднощі та безліч евристик, які були запропоновані для їх виправлення, принципово виникають через те, що SVM не моделює невизначеність, використовуючи ймовірності, тому результати їх результатів не можна порівняти по класах.
Цей коментар відповідає моїй інтуїції та досвіду: на моїй попередній роботі ми звичайно підходили до логістичних регресій та моделей дерев, що підсилювали градієнт (щоб мінімізувати ймовірність біноміального журналу) до незбалансованих даних (на порядок дисбалансу класу ), без очевидні проблеми у виконанні.
Я читав (десь), що класифікаційні моделі на основі дерев (самі дерева та випадковий ліс) також страждають від проблеми дисбалансу класів. Це трохи замулює води, дерева в деякому сенсі повертають ймовірності: запис голосування для цільового класу у кожному кінцевому вузлі дерева.
Отже, щоб закінчити, я дійсно шукаю концептуальне розуміння сил, які призводять до проблеми класового дисбалансу (якщо він існує).
- Це щось, що ми робимо для себе із погано підібраними алгоритмами та ледачими порогами класифікації за замовчуванням?
- Чи зникає це, якщо ми завжди підходимо до моделей вірогідності, які оптимізують належні критерії оцінювання? Сказано інакше, чи є причиною просто поганий вибір функції втрат, тобто оцінка прогнозованої сили моделі на основі жорстких правил класифікації та загальної точності?
- Якщо так, то чи марні (або принаймні менш корисні) моделі, які не оптимізують правильні правила балу?
(*) Під класифікацією я маю на увазі будь-яку статистичну модель, що підходить до даних двійкових відповідей. Я не припускаю, що моя мета - важке завдання для одного чи іншого класу, хоча це може бути.
poor choice of loss function
до свого списку. Отже, чи вважаєте ви, що це справедливо навіть для правильних правил скорингу як функцій втрат?