Яка функція втрати є правильною для логістичної регресії?


31

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

  1. З машинного навчання Чжоу Ч. (китайською), з :β=(w,b) and βTx=wTx+b

    (1)l(β)=i=1m(yiβTxi+ln(1+eβTxi))

  2. З мого курсу коледжу, з :zi=yif(xi)=yi(wTxi+b)

    (2)L(zi)=log(1+ezi)


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

Відповіді:


31

Зв’язок такий: .l(β)=iL(zi)

Визначте логістичну функцію як . Вони володіють властивістю, що . Або іншими словами:f(z)=ez1+ez=11+ezf(z)=1f(z)

11+ez=ez1+ez.

Якщо ви приймаєте зворотну з обох сторін, то візьміть отриманий вами журнал:

ln(1+ez)=ln(1+ez)+z.

Відніміть з обох сторін, і ви повинні побачити це:z

yiβTxi+ln(1+eyiβTxi)=L(zi).

Редагувати:

На даний момент я перечитую цю відповідь і розгублений, як я отримав рівним . Можливо, в оригінальному питанні є помилка друку.- y i β T x i + l n ( 1 + e y i β T x i )yiβTxi+ln(1+eβTxi)yiβTxi+ln(1+eyiβTxi)

Редагувати 2:

У випадку, якщо в оригінальному запитанні не було помилки, @ManelMorales виявляється правильним, щоб звернути увагу на той факт, що коли функцію маси ймовірностей можна записати як , завдяки властивості, що . Я переписую це інакше тут, тому що він вносить нове еквівокацію на позначення . Решта випливає, приймаючи негативну ймовірність журналу для кожного кодування. Дивіться його відповідь нижче для отримання більш детальної інформації.P ( Y i = y i ) = f ( y i β T x i ) f ( - z ) = 1 - f ( z ) z i yy{1,1}P(Yi=yi)=f(yiβTxi)f(z)=1f(z)ziy


42

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

У разі двійкової класифікації ми можемо призначити мітки або .y=±1y=0,1

Як уже було зазначено, логістична функція є хорошим вибором, оскільки вона має форму ймовірності, тобто та як . Якщо виберемо мітки ми можемо призначити їх σ(z)σ(z)=1σ(z)σ(z)(0,1)z±y=0,1

P(y=1|z)=σ(z)=11+ezP(y=0|z)=1σ(z)=11+ez

який можна записати більш компактно як .P(y|z)=σ(z)y(1σ(z))1y

Простіше максимально підвищити ймовірність журналу. Максимізація ймовірності журналу - це те саме, що мінімізувати негативну ймовірність журналу. Для зразків , взявши природний логарифм та деяке спрощення, ми з'ясуємо:m{xi,yi}

l(z)=log(imP(yi|zi))=imlog(P(yi|zi))=imyizi+log(1+ezi)

Повну інформацію та додаткову інформацію можна знайти в цьому зошиті з юпітером . З іншого боку, ми, можливо, використали мітки . Тоді досить очевидно, що ми можемо призначитиy=±1

P(y|z)=σ(yz).

Очевидно також, що . Дотримуючись тих же кроків, що і раніше, ми мінімізуємо в цьому випадку функцію втратP(y=0|z)=P(y=1|z)=σ(z)

L(z)=log(jmP(yj|zj))=jmlog(P(yj|zj))=jmlog(1+eyzj)

Де останній крок слідує після того, як ми беремо зворотну реакцію, яку індукує негативний знак. Хоча ми не повинні рівняти ці дві форми, враховуючи, що в кожній формі приймає різні значення, проте ці дві рівносильні:y

yizi+log(1+ezi)log(1+eyzj)

Випадок є тривіальним для показу. Якщо , то з лівої сторони, а в правій частині.yi=1yi1yi=0yi=1

Хоча можуть бути принципові причини, чому ми маємо дві різні форми (див. Чому існують дві різні логістичні формулювання збитків / позначення? ), Одна причина вибору першої - це з практичних міркувань. У першому ми можемо використовувати властивість для тривіального обчислення та , обидва вони необхідні для аналізу конвергенції (тобто для визначення опуклості функції втрат шляхом обчислення Гессі ).σ(z)/z=σ(z)(1σ(z))l(z)2l(z)


Чи логістична функція втрат опукла?
користувач85361

2
Регістр журналу IS опуклий, але не випуклий. Таким чином, ми не можемо встановити обмеження на те, як довго спускається градієнт, щоб сходитися. Ми можемо відкоригувати форму щоб вона була сильно опуклою, додавши термін регуляризації: з позитивною константою визначимо нашу нову функцію, щоб бути ст. є сильно опуклий, і тепер ми можемо довести межу збіжності . На жаль, ми зараз мінімізуємо іншу функцію! На щастя, ми можемо показати, що значення оптимуму регульованої функції близьке до значення оптимуму оригіналу. α l λ l ( z ) = l ( z ) + λ z 2 l ( z ) λ l l(z)αlλl(z)=l(z)+λz2l(z)λl
Мануель Моралес

Блокнот, про який ви згадали, пішов, я отримав ще один доказ: statlect.com/fundamentals-of-statistics/…
Domi.Zhang

2
Я вважаю це найбільш корисною відповіддю.
mohit6up

@ManuelMorales Чи є у вас посилання на оптимальне значення регульованої функції, близьке до вихідного?
Марк

19

Я засвоїв функцію втрат для логістичної регресії наступним чином.

Логістична регресія виконує двійкову класифікацію, і тому виводи мітки є двійковими, 0 або 1. Нехай є ймовірністю того, що двійковий вихід дорівнює 1, заданий векторним вхідним ознакою . Коефіцієнти - ваги, які алгоритм намагається вивчити.y x wP(y=1|x)yxw

P(y=1|x)=11+ewTx

Оскільки логістична регресія є двійковою, ймовірність є просто 1 мінусом вищевказаного терміна.P(y=0|x)

P(y=0|x)=111+ewTx

Функція втрат - це сума (A) виходу помножена на і (B) вихід помножений на для одного прикладу навчання, підсумований понад прикладів навчання.y = 1 P ( y = 1 ) y = 0 P ( y = 0 ) mJ(w)y=1P(y=1)y=0P(y=0)m

J(w)=i=1my(i)logP(y=1)+(1y(i))logP(y=0)

де вказує ярлик у ваших навчальних даних. Якщо навчальний екземпляр має мітку , то , залишивши ліву підсумку на місці, але зробивши праву підсумку з станьте . З іншого боку, якщо навчальний екземпляр має , правий підсумок з терміном залишається на місці, але лівий підсумок стає . Вірогідність журналу використовується для зручності обчислення. i t h 1 y ( i ) = 1 1 - y ( i ) 0 y = 0 1 - y ( i ) 0y(i)ith1y(i)=11y(i)0y=01y(i)0

Якщо тоді замінимо і на більш ранні вирази, то отримаємо:P ( y = 0 )P(y=1)P(y=0)

J(w)=i=1my(i)log(11+ewTx)+(1y(i))log(111+ewTx)

Детальніше про цю форму ви можете прочитати в цих конспектах лекцій Стенфорда .


Ця відповідь також надає тут певну актуальну точку зору.
GeoMatt22

6
Вираз, який ви маєте, - це не втрата (звести до мінімуму), а швидше схожа на журнал (щоб бути максимальною).
ксеноцион

2
@xenocyon true - ця сама формулювання зазвичай пишеться з негативним знаком, застосованим до повного підсумовування.
Олексій Клибіш

1

Замість середньої квадратичної помилки ми використовуємо функцію витрат під назвою Cross-Entropy, також відому як Log Loss. Перехресні ентропійні втрати можна розділити на дві окремі функції витрат: одну для у = 1 і одну для у = 0.

j(θ)=1mi=1mCost(hθ(x(i)),y(i))Cost(hθ(x),y)=log(hθ(x))if y=1Cost(hθ(x),y)=log(1hθ(x))if y=0

Коли ми збираємо їх, ми маємо:

j(θ)=1mi=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x)(i))]

Помноження на і у наведеному рівнянні - підлий трюк, який давайте використаємо те саме рівняння для розв’язання для випадків та . Якщо , перша сторона скасовується. Якщо , друга сторона скасовується. В обох випадках ми виконуємо лише ту операцію, яку нам потрібно виконати.y(1y)y=1y=0y=0y=1

Якщо ви не хочете використовувати forцикл, ви можете спробувати векторну форму рівняння вище

h=g(Xθ)J(θ)=1m(yTlog(h)(1y)Tlog(1h))

Все пояснення можна переглянути на шпаргах машинного навчання .

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