Класифікатор для міток невизначених класів


11

Скажімо, у мене набір примірників із пов’язаними мітками класів. Не важливо, як ці екземпляри були позначені, а наскільки певна їхня класність. Кожен екземпляр належить рівно одному класу. Скажімо, я можу кількісно оцінити визначеність кожного членства у класі за номінальним атрибутом, який переходить від 1 до 3 (дуже певний до невизначеного відповідно).

Чи існує якийсь класифікатор, який враховує таку міру визначеності, і якщо так, чи є вона в наборі інструментів WEKA?

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

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


1
Чи належить кожен запис точно до одного класу? Чи можливо, якийсь запис належить до класу 12 із впевненістю 1 та до класу 34 із визначеністю 2?
user31264

Кожен запис належить точно одному класу, в даному випадку.
wnstnsmth

Відповіді:


8

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

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

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

тільки приймаючи "певні" класифікації для навчання? Я побоююсь, що в цьому випадку буде більше помилок, оскільки "прикордонні" випадки не охоплені.

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

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

Посилання переходять на сторінку проекту пакету R, який я розробив для розрахунків продуктивності. Є додаткові посилання як на офіційну веб-сторінку, так і на мої рукописи статей. У той час як я не використовував Weka до сих пір, я розумію , що інтерфейс R доступний .


практичні міркування:

  • Незважаючи на те, що підхід копіювання та маркування різний, він не працює добре з усіма класифікаторами та реалізаціями на практиці. Напр., AFAIK не може сказати libSVMналаштування за допомогою перехресної перевірки, що всі копії кожної точки даних необхідно зберігати в одній і тій же перехресній валідації. Таким чином libSVM, тюнінг, ймовірно, призведе до масової надмірної моделі.
  • Також для логістичної регресії я виявив, що багато реалізацій не дозволяють отримати часткові мітки членства, які мені потрібні.
  • Реалізація, яку я використовував для вищезазначених робіт, насправді є ANN без прихованого шару, використовуючи логістичну функцію як сигмоїдальну функцію зв'язку ( nnet::multinom).

Ваш перший практичний розгляд, хоча це правда, не стосується libsvmзокрема. У libsvmавтори пропонують альтернативну версію кожного випуску , в якому екземпляр зважених по класифікації можливо, уникнути цієї проблеми в цілому. Саме такі речі спонукають мене зазвичай використовувати бібліотеки алгоритмів безпосередньо, а не обгортки типу Weka / scipy / ... csie.ntu.edu.tw/~cjlin/libsvmtools/#weights_for_data_instance
Марк Класен

@MarcClaesen: спасибі - я цього не бачив. Але чи вам не потрібно було б надати два екземпляри одного і того ж випадку: один зважений скажіть з 1/3 класом A, а другий - з 2/3 класом B? У будь-якому випадку, відсутність необхідності надавати багато копій чітких випадків зробить налаштування менш проблематичною (для моїх даних мені все одно доведеться робити настройку розбиття зовні, оскільки у мене є "ієрархічна" структура даних з декількома вимірюваннями фактичних випадків )
cbeleites незадоволений SX

@cbeiteles, коли екземпляр може належати до декількох класів, вам дійсно потрібно буде надати його кілька разів, навіть при такому зважуванні. Я не розглядав таку можливість.
Marc Claesen

6

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

Я впевнений, що у Weka є реалізація цих алгоритмів. Якщо все інше не вдається, зразком з декількома екземплярами з високою достовірністю зразок. Ви можете використовувати цей підхід для традиційного SVM або LR.

Приклад: SVM

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

minw,ξw2+CposiPξi+CnegiNξi,
wξPNCposCneg

Виходячи з вашого запитання, здається, ви в ідеалі хотіли б використовувати 6 різних ваг (2 класи 3 рівня визначеності). Цього можна досягти за багатьма підходами, з високою достовірністю дублюючи зразки точок.×

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


(+1) це все! Скопіювавши екземпляри з різними мітками та вагами екземплярів (інакше визначеність ярликів), можна також застосувати такі алгоритми, як "Випадкові ліси", "Наївні Бейс" тощо. Rapidminer (конкурент Weka) робить. Встановивши визначеність на 1, можна навіть моделювати "чіткі" проблеми з багатозазначеними ярликами.
steffen

Ви маєте рацію, WEKA підтримує LIBSVM, але не підтримує зважування екземплярів, afaik. Думаю, дублювання примірників дуже гарна, я думаю, тим більше, що кожен «традиційний» учень може з цим впоратися.
wnstnsmth

2

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


-5

У мене був короткий пробіг із розпізнаванням та класифікацією зображень.

Випадкові ліси - це проста у користуванні техніка. Я реалізував його на R, він повинен бути доступний і на Weka. Хоча простість використання козирів точності прогнозування Якщо у вас достатньо великий навчальний набір, він може класифікувати кілька міток.

Він розпізнавав рукописні цифри досить добре, але якщо ваші зображення складніші, то лише пробний процес скаже вам, чи добре це робиться.


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