Об'єктивні дані в машинному навчанні


18

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

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

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

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

Наприклад, одним із правил може бути: "Якщо вік клієнта <18 років, то не приймайте"

Класифікатор не може навчитися поводитися з клієнтами, які були відфільтровані цими правилами. Як класифікатор повинен вивчити шаблон?

Ігнорування цієї проблеми призведе до того, що модель піддається впливу даних, яких вона ніколи не зустрічала. В основному, я хочу оцінити значення f (x), коли х тут поза [a, b].


8
Те, як це в основному обробляється при оцінці кредитного ризику, полягає в тому, щоб не фільтрувати певну частку заявників за правилами. Невелика кількість претендентів приймаються випадковим чином та позначені як такі.
Меттью Друрі

Це дійсно добре знати. Можливо, я навіть можу налаштувати речі, щоб зробити те саме.
Лаксан Натан

1
Коли я пояснюю цю проблему не експертам, я малюю хмару (реальність) та багатокутник, що наближає хмару (модель). Я показую помилкові позитивні помилки та помилкові негативні помилки. Зрозуміло, що для покращення моделі мені потрібні обидві помилки, щоб краще наблизити хмару.
MSalters

Підготовка моєї презентації зараз. Ця аналогія дійсно корисна, дякую!
Лаксан Натан

Це називається дилемою розвідки-експлуатації.
seanv507

Відповіді:


12

Ви вірно занепокоєні - навіть найкращі моделі можуть вражати невдало, якщо розподіл вибіркових даних суттєво відрізняється від розподілу даних, на яких була підготовлена ​​/ перевірена модель.

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

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


4

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

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


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

2

Ваші правила можуть дати вам можливість збільшити дані . Скопіюйте позитивний зразок, змініть вік до 17, а потім позначте його як негативний зразок.

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


Додавання шуму до даних впевнено - це спосіб вирішити цю проблему. Але лише в кількох випадках, коли дані клієнта легко класифікуються. Я б не робив цього в тій мірі, щоб це знову призвело до «упередженого» результату домену - колективного / суб'єктивного сприйняття, що призводить до ретроспективного зіткнення передбачуваних знань.
Лаксан Натан

2

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


Оскільки ці випадкові випадки пов’язані з певним фінансовим ризиком, це був би покроковий підхід, який потенційно дозволив би виявити нову закономірність у довгостроковій перспективі. В основному, це випробування-експлуатація компромісу, як ви це згадуєте. Це обов'язково буде враховано в проекті.
Лаксан Натан

2

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

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

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


Гарна довідка, дякую. Я знайду час, щоб пройти його.
Лаксан Натан

1

Класична статистична відповідь полягає в тому, що якщо процес відбору знаходиться в даних і описується моделлю або вибір є випадковим чином, параметрична модель продумає його правильно. Див. Дані Дослідження і відсутніх Дональда Рубіна (1976). Вам потрібно включити механізм вибору даних у вашу модель. Це поле, де параметричне висновок має робити краще, ніж чисте машинне навчання.


1

Це схоже на дилему після життя: яке співвідношення добрих і поганих вчинків (даних) достатньо, щоб потрапити на небо замість пекла (клас), після того, як одна помирає (фільтр!). У цьому випадку смерть служить фільтром, що призводить до відсутніх значень у напрямку контрольованої схеми навчання.

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

Якщо відсутні дані повністю не пов’язані із спостережуваними даними, то це випадок "ви не знаєте, чого не знаєте". Ви не можете використовувати ні наглядові, ні методи без нагляду. Проблема - це поза межами сфери наукових даних.

Тому, для змістовного рішення, припустимо, що відсутні дані корелюють із спостережуваними даними. Ми будемо використовувати вказану кореляцію.

Існує кілька алгоритмів виведення даних, які намагаються вирішити таку проблему. Ви можете спробувати "Ансамблеві методи", такі як алгоритми Baging-n-Boosting або "часте видобуток шаблонів", наприклад, Apriori та FP-зростання. Ви також можете вивчити методи в надійній статистиці.

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