Як формувати криву точності нагадування, коли у мене є лише одне значення для PR?


12

У мене є завдання пошуку даних, де я створюю систему пошуку зображень на основі вмісту. У мене 20 зображень 5 тварин. Так загалом 100 зображень.

Моя система повертає 10 найбільш релевантних зображень до вхідного зображення. Тепер мені потрібно оцінити працездатність моєї системи за допомогою кривої Precision-Recall. Однак я не розумію поняття кривої точності-нагадування. Скажімо, моя система повертає 10 зображень для зображення горили, але лише 4 з них - це горили. Інші 6 повернених зображень - це інші тварини. Таким чином,

  • точність є 4/10 = 0.4(відповідно повертається) / (всі повертаються)
  • відкликати є 4/20 = 0.2(відповідно повернувся) / (все рівномірно)

Тож у мене є лише точка <0.2,0.4>, а не крива. Як у мене крива (тобто набір точок)? Чи варто змінити кількість повернених зображень (у моєму випадку це встановлено на рівні 10)?


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

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

Зрозумів, я не дуже добре читав питання. Думав, у вас проблема двох класів (горила / не-горила). Це може бути корисним для інших класів: stats.stackexchange.com/questions/2151/…
charles

Відповіді:


11

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

Якщо ви розпоряджаєтесь значеннями рішення, ви визначаєте набір порогових значень для цих значень рішення. Ці пороги є різними налаштуваннями класифікатора: наприклад, ви можете контролювати рівень консерватизму. Для логістичної регресії порогом за замовчуванням буде але ви можете перейти за весь діапазон . Зазвичай пороги вибираються як унікальні значення рішення, отримані вашою моделлю для тестового набору.f(x)=0.5(0,1)

При кожному виборі порогу ваша модель дає різні прогнози (наприклад, різну кількість позитивних і негативних прогнозів). Таким чином, ви отримуєте набір кортежів з різною точністю і відкликання на кожному порозі, наприклад, набір кортежів . Крива PR малюється на основі пар .(Ti,Pi,Ri)(Pi,Ri)

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


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