Яку функцію втрати слід використовувати для отримання високої точності або високого виклику бінарного класифікатора?


11

Я намагаюся зробити детектор об'єктів, які трапляються дуже рідко (на зображеннях), планую використовувати двійковий класифікатор CNN, застосований у розсувному / зміненому вікні. Я сконструював збалансований набір для позитивних і негативних тренувань 1: 1 (чи правильно це робити в такому випадку btw?), І класифікатор добре працює на тестовому наборі з точки зору точності. Тепер я хочу контролювати відкликання / точність мого класифікатора, так, наприклад, він не буде помилково позначити занадто багато подій класів більшості.

Очевидним (для мене) рішенням є використання тих же логістичних втрат, які використовуються зараз, але помилки типу I та II типу по-різному помножуються шляхом множення втрат в одному з двох випадків на деяку постійну, яку можна настроїти. Це право?

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


ви коли-небудь вирішували це? У мене схожа мета. Я хотів би оптимізувати для точності (тип 1) і менше піклуватися про помилки типу 2, тому я розглядав, що можна зробити стосовно функції втрат.
Джонатан Шор

Відповіді:


6

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

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

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

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

3

Ви робите кілька припущень. Найкраще продумати кінцеву мету в загальних рисах, а потім сформулювати стратегію, яка відповідає цій цілі. Наприклад, чи дійсно вам потрібна класифікація примусового вибору і чи достатньо велике співвідношення сигнал: шум, щоб підтримати це (хороші приклади: розпізнавання звуку та зображення)? Або рівень сигналу: шум низький, або вас цікавлять тенденції ? Для останнього, оцінка ризику саме для вас. Вибір є ключовим і диктує вибраний вами показник точності прогнозування. Докладніше про все це див. У розділі http://www.fharrell.com/2017/01/classification-vs-prediction.html та http://www.fharrell.com/2017/03/damage-caused-by-classification .html .

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

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


1

j=1Jжурнал{1+досвід[-f(хj)]}+к=1Кжурнал{1+досвід[f(хк)]}
jкf()х
j=1Jжурнал{1+досвід[-f(хj)]}+к=1Кшжурнал{1+досвід[f(хк)]}
ш>1шш=2

Але це вже не буде максимальною оцінкою ймовірності - статистична ні-ні
Френк Харрелл

1
Погодьтеся, але я не переконаний, що це має значення, якщо статистичний висновок щодо параметрів логістичної регресії не є бажаною метою (згадка ОП про використання CNN також не заснована на ML). Дійсно, більшість / усілякі наслідки від цього зваженого підходу найкраще ігнорувати, але модель та отримані результати ризиків все ж можуть бути застосовані до набору валідацій із бажаними результатами, наприклад, доброї дискримінації / калібрування.
Тревіс Герке

1
Ні, ви порушите калібрування моделі та отримаєте більш шумні оцінки параметрів при наведеному вище підході. MLE існує з дуже поважних причин.
Френк Харрелл

Розглянемо тривіальний випадок, коли він дуже стурбований помилковою класифікацією одним із способів, а не іншим - тобто нульовою втратою за одним із напрямків. Найкраща модель для цієї втрати передбачала б лише стурбованість. Хоча це було б жахливою моделлю, мета досягнута. Важливо зрозуміти ціль і не вкладати сліпу віру в теоретичну концепцію (MLE), не розуміючи її мети. Як зауважив ТревісГерке, якщо акцент робиться на прогнозуванні, а не на моделюванні, то його підхід є досить корисним. Це, звичайно, краще, ніж приниження стилю мажоритарного класу.
Statseeker
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.