Чи краще побудувати класифікатор багатокласового рівня, ніж кілька двійкових?


18

Мені потрібно класифікувати URL-адреси на категорії. Скажімо, у мене є 15 категорій, на які я планую занулювати кожну URL-адресу.

Чи краще 15-ти класичний класифікатор? Де я маю 15 міток і генерую функції для кожної точки даних.

Або створити 15 двійкових класифікаторів, скажімо: Movie чи Non-Movie, і використати цифри, які я отримую з цих класифікацій, щоб скласти рейтинг, вибрати кращу категорію, яка буде кращою?

Відповіді:


12

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

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

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


моя заява про проблему розглядає колишнє припущення @mbq. Я знаю, що є багатознаки. і так, як ви сказали, я вирішив піти на 15 двійкових класифікаторів, але знову ж таки, мені потрібно класифікувати їх, щоб вибрати одну найкращу категорію. Отже, я спробую виконати ще одну класифікацію верхнього рівня, використовуючи числа, отримані з батареї двійкових класифікаторів. Ви бачите якусь проблему?
madCode

SVM можуть виконувати класифікацію в багатьох класах. Метод дуже схожий на регресію softmax (див. "Про алгоритмічну реалізацію векторних машин на основі ядра").
користувач1149913

4

Це залежатиме від способу розповсюдження ваших даних. Є прекрасний приклад, який нещодавно наводився у подібному питанні, де ОП хотіла дізнатись, чи є одна лінійна дискримінантна функція кращим класифікатором для вирішення сукупності A проти B або C або одна, заснована на неоднозначних лінійних дискримінантних функцій, що розділяють A, B і C. Хтось дав дуже приємний кольоровий розсіювач, щоб показати, як використання двох дискримінантів було б краще, ніж одного в цьому випадку. Я спробую зв’язатись із цим.


Зачекайся. У мене виникають проблеми з її пошуку, але я буду продовжувати шукати.
Майкл Р. Черник

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

1
@MichaelChernick Це посилання, яке ви шукаєте?

Я думаю, я розумію, що ви говорите: bit.ly/M1NydS - картина, яку ви визначили, я натрапила на цю презентацію. 4-х або тристороння класифікація ... може бути прямою. Але .. мені цікаво, чи не буде поставлено під загрозу точність / відкликання, якщо зробити класифікацію в 15 напрямках, доктор Черник.
madCode

@Procrastinator Дякую, що знайшли це. у мене було так багато проблем з його розміщенням, і я дуже довго шукав! Це був нещодавній пост, тому я хоч синицю було б легко знайти.
Майкл Р. Черник

1

Деякі методи добре справляються, наприклад, з багатокласовими, випадковими лісами, MLP.

Якщо ви не хочете йти цим шляхом, то, можливо, ECOC цілком може виконати функцію 1 vs-all для вашої проблеми, покаже лише тестування.

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