Яку проблему вирішують надмірне зондування, недооцінка та SMOTE?


25

У недавньому, добре сприйнятому питанні, Тім запитує, коли незбалансовані дані насправді є проблемою в машинному навчанні ? Передумова питання полягає в тому, що існує багато машинної літератури, яка обговорює баланс класів та проблему незбалансованих класів . Ідея полягає в тому, що набори даних з дисбалансом між позитивним та негативним класом викликають проблеми в деяких класифікаціях машинного навчання (я включаю тут ймовірнісні моделі) алгоритмів, і методи слід шукати, щоб "збалансувати" набір даних, відновивши ідеальні 50/50 розподіл між позитивними та негативними класами.

Загальний сенс відповідей, що підкріплюються, полягає в тому, що "це не так, принаймні, якщо ти продуманий у своєму моделюванні". М. Генрі Л. у коментарі до прийнятої відповіді заявляє

[...] немає проблем низького рівня з використанням незбалансованих даних. На мій досвід, порада "уникати незбалансованих даних" є або алгоритмом, або успадкованою мудрістю. Я погоджуюся з AdamO, що в цілому незбалансовані дані не становлять концептуальної проблеми для чітко визначеної моделі.

AdamO стверджує, що «проблема» з класовим балансом справді є рідкістю класу

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

Якщо це справжнє питання, воно залишає відкритим питання: яка мета всіх методів перекомпонування, призначених для врівноваження набору даних: пересимплінг, піддискретизація, SMOTE тощо? Очевидно, що вони не вирішують проблему неявного малого розміру вибірки, ви не можете створити інформацію з нічого!


Саме це я змінив би на ... дякую. Він не охоплює весь обсяг вашого запитання, але заголовок не повинен - ​​він чітко розуміє, про яку саме справу ви запитуєте.
Glen_b -Встановити Моніку

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

@MichaelChernick Я не говорю про завантажувальну машину, саме про це коментував Глен. Я говорю про підходи до "балансування класів", як над і під вибіркою, так що позитивний та негативний клас ase однаково представлений у наборі даних.
Метью Друрі

Чи включаєте ви піддиагностику? Ви маєте на увазі лише неоднаковий розмір вибірки? Яку загальну заяву ви робите?
Майкл Р. Черник

@MichaelChernick Я додав кілька уточнюючих зауважень у перший та останній абзаци, я сподіваюся, що це допомагає.
Меттью Друрі

Відповіді:


0

Деякі методи відбору проб полягають у коригуванні упередженості (якщо рівень населення відомий і різний), але я погоджуюся з думкою, що неврівноважений клас - це не сама проблема. Одна з головних причин зводиться до продуктивності обробки. Якщо наш цільовий клас, наприклад, є надзвичайно рідкісним випадком у 1: 100000, наш набір моделей буде масовим, і обчислення буде важким. Вибірка, незалежно від стратегії, завжди викидає деякі дані, щоб зменшити загальний розмір набору даних. Я гадаю, що різниця між усіма різними стратегіями вибірки - це лише розумність, навколо якої ми викидаємо дані, не жертвуючи втратою можливостей прогнозування.


4
Це все правда, але багато методів, про які я обговорюю, створюють більші набори даних. Upsampling створює більше екземплярів позитивного класу шляхом копіювання існуючих точок даних, а SMOTE створює "синтетичні" точки даних рідкісного класу. Це, звичайно, не допоможе в ефективності обчислень.
Меттью Друрі


0

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


2
я не розумію вашої відповіді.
Майкл Р. Черник

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

0

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

Ще один підхід, який не стосується вибірки, - це коригування функції витрат для надання більшої ваги точкам даних з міткою меншості. Наприклад, якщо ви використовуєте втрати NLL у наборі даних, де 1-х завищено, порівняно з 0 серед міток, ви можете скорегувати функцію втрати таким чином:

L(хi~,уi)=-α(уi)ln(хi~)-β(1-уi)ln(1-хi~)

де β>α. Величина різниці β-α залежить від ступеня перевиконання / недооцінки.


0

I'm going to disagree with the premise that unbalanced data isn't a problem in machine learning. Perhaps less so in regression, but it certainly is in classification.

Imbalanced Data is relevant in Machine Learning applications because of decreased performance of algorithms (the research I am thinking of is specifically on classifiers) in the setting of class imbalance.

Візьміть просту задачу бінарної класифікації із співвідношенням 25: 1 навчальних прикладів класу A 'проти' класу B '. Дослідження показали, що точність, що стосується класифікації класу В, вражає лише через зменшення співвідношення даних про навчання. Має сенс, оскільки чим менше ваших прикладів навчання, тим бідніший ваш класифікатор буде тренуватись на цих даних. Як заявив один із коментаторів, ви нічого не можете зробити з нічого. З матеріалів, які я бачив, у проблемах класифікації класичних класів, здається, вам потрібно дійти до співвідношення 10: 1, щоб почати суттєво впливати на точність класу меншин. Можливо, люди, які читають іншу літературу, ніж я бачив, мають різні думки.

Таким чином, пропоновані рішення: перенасилення класу меншин, недооцінка мажоритарного класу або використання SMOTE для класу меншин. Так, ви не можете реально створювати дані з нізвідки (SMOTE-роду, але не зовсім так), якщо ви не вступаєте в створення синтетичних даних для класу меншин (не простий метод). Інші методи, такі як MixUp тощо, потенційно потрапляють у цю концепцію, але я думаю, що вони є більш регуляризаторами, ніж рішення класового дисбалансу. У документах, які я прочитав, Перегляд> SMOTE> Підкреслення.

Незалежно від вашої методики, ви змінюєте відносини між класами більшості та меншин, що може вплинути на рівень захворюваності. Іншими словами, якщо ви створюєте класифікатор для виявлення надрідкісних захворювань мозку X, що має частоту 1 на 100 000, а ваш класифікатор - 1: 1, ви можете бути більш чутливими та менш конкретними з більшою кількістю помилкових позитивних результатів . Якщо важливо, щоб ви виявили ці справи і арбітр пізніше, ви все в порядку. Якщо ні, то ви витратили багато чужих часу та грошей. З цією проблемою врешті-решт потрібно буде вирішити.

Отже, щоб відповісти на питання:

tl / dr: Операції з балансування класів, такі як Over / Undersampling і SMOTE (і синтетичні дані) існують для поліпшення продуктивності алгоритму машинного навчання (класифікатора) шляхом вирішення притаманного хіта ефективності в алгоритмі, викликаному самим дисбалансом .

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