Чи є поріг рішення гіперпараметром при логістичній регресії?


13

Прогнозовані класи від (бінарної) логістичної регресії визначаються за допомогою порогу щодо ймовірностей членства в класі, породжених моделлю. Як я розумію, типово 0,5 використовується за замовчуванням.

Але зміна порогу змінить передбачувані класифікації. Чи означає це поріг - гіперпараметр? Якщо так, то чому (наприклад) неможливо легко здійснити пошук по сітці порогів за допомогою GridSearchCVметоду scikit-learn (як це було б зроблено для параметра регуляризації C).


1
"Як я розумію, типово 0,5 використовується за замовчуванням." Залежить від значення слова "типовий". На практиці цього ніхто не повинен робити.
Метью Друрі


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

Відповіді:


12

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

Поріг рішення не є гіпер-параметром у сенсі настройки моделі, оскільки він не змінює гнучкість моделі.

C(наприклад, коефіцієнти логістичної регресії будуть різними), а коригування порогу може робити лише дві речі: торгувати TP для FN і FP для TN. Однак модель залишається такою ж, оскільки це не змінює коефіцієнтів. (Те ж саме стосується моделей, які не мають коефіцієнтів, наприклад, випадкових лісів: зміна порогу нічого не змінює щодо дерев.) Отже, у вузькому сенсі ви правильні, що знаходите найкращий компроміс серед помилок "налаштування", але ви помиляєтесь, думаючи, що зміна порогу пов'язана з іншими параметрами моделі так, як оптимізовано GridSearchCV.

Заявлений іншим способом, зміна порогу прийняття рішення відображає вибір з вашого боку про те, скільки помилкових позитивів та помилкових негативів ви хочете мати. Подумайте про гіпотетичне, що ви встановлюєте поріг рішення абсолютно неправдоподібним значенням, як -1. Усі ймовірності невід'ємні, тому з цим порогом ви передбачите "позитивне" для кожного спостереження. З певної точки зору, це чудово, адже ваш хибний негативний показник - 0,0. Однак ваш хибний позитивний показник також знаходиться на границі 1,0, тому в цьому сенсі ваш вибір порогу в -1 жахливий.

Ідеально, звичайно, мати TPR 1,0 та FPR 0,0 та FNR 0,0. Але це зазвичай неможливо в реальних програмах, тому питання стає тоді "скільки FPR я готовий прийняти за скільки TPR?" І це мотивація кривих .


Дякую за відповідь @Sycorax. Ви мене майже переконали. Але чи не можемо ми формалізувати ідею "скільки FPR я готовий прийняти за скільки TPR"? наприклад, використання матриці витрат. Якщо у нас є матриця витрат, то чи не бажано було б знайти оптимальний поріг за допомогою налаштування, як би ви налаштували гіперпараметр? Або є кращий спосіб знайти оптимальний поріг?
Нік

1
CGridSearchCV

@Sycorax Чи не поріг і перехоплення (термін відхилення) роблять в основному те саме? Тобто ви можете тримати поріг фіксованим на рівні 0,5, але відповідно змінювати перехоплення; це "змінить модель" (відповідно до вашого останнього коментаря), але матиме однаковий ефект з точки зору бінарних прогнозів. Це правильно? Якщо це так, я не впевнений, що в цьому випадку настільки важливе суворе розмежування між "зміною моделі" та "зміною правила прийняття рішення".
амеба каже

@amoeba Це зауваження, що хоча провокує. Мені доведеться це врахувати. Я припускаю, що ваша пропозиція означає "дотримуватися поріг у 0,5 і розцінювати перехоплення як гіперпараметр, який ви налаштовуєте". Математично нічого не заважає вам це робити, крім зауваження, що модель більше не збільшує свою ймовірність. Але досягнення МЛВ може бути не пріоритетним завданням у певному конкретному контексті.
Sycorax повідомляє про відновлення Моніки

10

Але зміна порогу змінить передбачувані класифікації. Чи означає це поріг - гіперпараметр?

Так, так, сорта. Це гіперпараметр вашого правила прийняття рішення , але не основний регрес.

Якщо так, то чому (наприклад) неможливо легко здійснити пошук по сітці порогів, використовуючи метод GridSearchCV-схеми scikit-learn (як це було б зроблено для параметра регуляризації C).

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

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


Я також поділяю ваш скептицизм щодо predictвибору методу за замовчуванням 0,5 як обмеження, але GridSearchCVприймаю scorerоб'єкти, які можуть налаштовувати моделі відносно втрати між зразком перехресної ентропії. Я пропускаю вашу думку?
Sycorax каже, що

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

Готча. Я розумію, що ти маєш на увазі!
Sycorax каже, що

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