Який правильний спосіб перевірити значення результатів класифікації


21

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

Який метод слід використовувати для визначення статистичної значущості? В основі цього питання лежить таке: Які припущення слід зробити щодо розподілу класифікаційних балів?


2
Чи можете ви опублікувати прикладні документи із: "Я бачив багато різних підходів до цього - за допомогою тестів Chi-квадрата, t-тесту, ANOVA з пост-хок-тестуванням тощо"? Мені це дуже цікаво.
jb.

Відповіді:


9

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


Що щодо сценарію, коли класифікатор може пройти? Як в ньому сказано, він не знає. Ви все ще можете використовувати тест МакНемара?
S0rin

5

Оскільки розподіл помилок класифікації є двійковим розподілом (або є помилкова класифікація, або її немає) --- я б сказав, що використовувати Chi-квадрат не є розумним.

Доцільним є також лише порівняння ефективності класифікаторів, які працюють на одних наборах даних --- "Без теореми про безкоштовний обід" зазначено, що всі моделі мають однакову середню ефективність для всіх наборів даних, так що яка модель буде здаватися кращою буде залежати лише від того, які набори даних були вибрали для навчання їх http://en.wikipedia.org/wiki/No_free_lunch_in_search_and_optimization .

Якщо ви порівнюєте ефективність моделей A і B над набором даних D, я думаю, що середнього ККД + середнього значення достатньо, щоб зробити вибір.

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


Але для одного класифікатора ви отримуєте набір балів (наприклад, MSE понад 100 розщеплень), які можуть бути, наприклад, у діапазоні [0,1]. Я думаю, було б надто дорого брати результати кожного прогону та аналізувати їх.
tdc

Так. Але в цьому випадку середнього значення + stddev достатньо, щоб перевірити, чи є один значно кращий за інший, як і при будь-якому іншому вимірюванні.
jb.

2
Я не такий впевнений. Mean & stddev припускає гауссіанство для початку, по-друге, це не враховує скільки порівнянь робиться (наприклад, може знадобитися корекція Бонферроні )
tdc

1
Це те саме в базовій теорії вимірювання. Припустимо, у нас є мікрометр, і ми хочемо перевірити, чи мають два стрижні однаковий діаметр, ми зробимо 100 вимірювань обох стрижнів і перевіримо, чи середнє значення + stddev перекривається. В обох випадках (стрижневе вимірювання та модель метики) ми просто припускаємо гауссова розподіл результатів, єдиним розумним аргументом є центральна межа теореми .
jb.

3

Я рекомендую статтю Тома Діттериха під назвою "Орієнтовні статистичні випробування для порівняння алгоритмів навчання класифікованої класифікації". Ось профіль статті на CiteSeer: http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.3325 . З реферату: "У цій роботі розглядається п'ять приблизних статистичних тестів для визначення того, чи один алгоритм навчання виконує інший у певному навчальному завданні. Ці тести експериментально порівнюються, щоб визначити ймовірність неправильного виявлення різниці, коли різниці немає (помилка I типу) Показано, що тест МакНемара має низьку помилку типу I ... "


2

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


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

@tdc: у такому випадку розподіл функції (кількість неправильних класифікацій) -> (кількість моделей із цим числом помилок) часто би був IMHO подібним пуассоном-десертифікацією.
jb.

@Dov: Тестування, яка модель значно краща (це питання щодо ОП) і тестін, якщо вони різні, - зовсім інша річ.
jb.

@jb. Спасибі. але я сказав суттєво інше, не краще ...
Dov

@Dov ваше перше посилання розірвано - я не можу сказати, куди він повинен вказувати.
Tamzin Blake

2

Не існує єдиного тесту, який підходить для всіх ситуацій; Я можу порекомендувати книгу "Оцінка алгоритмів навчання" Наталі Япковіч та Мохака Шаха, Cambridge University Press, 2011. Факт, що на цю тему може бути написана майже 400 сторінок, говорить про це не простою проблемою. Я часто виявляв, що не існує тесту, який би реально відповідав потребам мого дослідження, тому важливо добре зрозуміти переваги та недоліки будь-якого методу, який в кінцевому підсумку застосовується.

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

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