Навіщо використовувати масштаб Платта?


17

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

В основному використовується логістична регресія для відображення на . Залежна змінна є справжньою міткою, а провісник - впевненістю від некаліброваної моделі. Що я не розумію, це використання цільової змінної, відмінної від 1 або 0. Метод вимагає створення нової "мітки":[;][0;1]

Щоб уникнути переналагодження сигмоподібного набору поїздів, використовується позамодельна модель. Якщо в наборі поїздів є позитивні приклади та негативні приклади, для кожного прикладу тренування Платт Калібрування використовуються цільові значення та (замість 1 та 0 відповідно), де N+Ny+y

y+=N++1N++2;y=1N+2

Я не розумію, наскільки ця нова ціль корисна. Чи не буде логістична регресія просто розглядати залежну змінну як бінарну мітку (незалежно від того, яка мітка задана)?

ОНОВЛЕННЯ:

Я виявив, що в SAS зміна залежного від на щось інше повертається назад до тієї ж моделі (за допомогою ). Можливо, моя помилка чи, можливо, відсутність універсальності SAS. Я зміг змінити модель в Р. Як приклад:1/0PROC GENMOD

data(ToothGrowth) 
attach(ToothGrowth) 

  # 1/0 coding 
dep          <- ifelse(supp == "VC", 1, 0) 
OneZeroModel <- glm(dep~len, family=binomial) 
OneZeroModel 
predict(OneZeroModel) 

  # Platt coding 
dep2           <- ifelse(supp == "VC", 31/32, 1/32) 
plattCodeModel <- glm(dep2~len, family=binomial) 
plattCodeModel 
predict(plattCodeModel) 

compare        <- cbind(predict(OneZeroModel), predict(plattCodeModel)) 

plot(predict(OneZeroModel), predict(plattCodeModel))

Відповіді:


13

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

Отже: Замість використання абсолютних значень 1 для позитивного класу та 0 для негативного класу при встановленні pi=1(1+exp(Afi+B))fiy+y


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

передача даних (ToothGrowth) (ToothGrowth) # 1/0 кодування dep <-ifelse (supp == "VC", 1,0) OneZeroModel <-glm (dep ~ len, family = binomial) Прогноз OneZeroModel (OneZeroModel) #Platt кодування dep2 <-ifelse (supp == "VC", 31/32, 1/32) plattCodeModel <-glm (dep2 ~ len, сімейство = двочлен) plattCodeModel predict (plattCodeModel) порівняти <-cbind (прогнозувати (OneZeroModel)), прогнозувати ( plattCodeModel)) сюжет (прогнозувати (OneZeroModel), прогнозувати (plattCodeModel))
B_Miner

@ user2040: 1. Так ... є питання чи це лише зауваження :)? 2. чому ви не додасте код до питання? Жодне форматування не є жахливим.
steffen

2

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

Однак, якщо ви хочете, щоб класифікатор, який виробляє оцінки ймовірності членства в класі, то вам краще використовувати логістичну регресію ядра, яка спрямована на це безпосередньо. Вихід SVM розроблений для дискретної класифікації і не обов'язково містить інформацію, необхідну для точної оцінки ймовірностей подалі від контуру p = 0,5.

Класифікатори процесів Гаусса - ще один хороший варіант, якщо ви хочете, щоб імовірнісний класифікатор на основі ядра.

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