Машинне навчання для прогнозування ймовірностей класу


20

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

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

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

Відповіді:


5

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

Окрім SVM, ви можете використовувати відповідну функцію втрат для будь-якого методу, до якого можна підходити, використовуючи градієнтні методи, наприклад, глибокі мережі.

Прогнозування ймовірностей не є тим, що враховується в наші дні при розробці класифікаторів. Це додаткове значення, яке відволікає від ефективності класифікації, тому його відкидають. Однак ви можете використовувати будь-який двійковий класифікатор для вивчення фіксованого набору ймовірностей класифікації (наприклад, "p в [0, 1/4] або [1/4, 1/2] або ...") за допомогою " зондування "скорочення Лангфорда та Задрозного.


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

9

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

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

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

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


2

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

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

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

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

Це ж питання в контексті неможливості отримати точний класифікатор цікавіше, але я не впевнений, що хтось вивчав / порівнював у такому сценарії.

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