Гессіан логістичної функції


15

Мені важко вивести гессіаном цільової функції, l(θ) , в логістичної регресії , де l(θ) становить:

l(θ)=i=1m[yilog(hθ(xi))+(1yi)log(1hθ(xi))]

hθ(x) - логістична функція. ГессіанXTDX . Я спробував це отримати, обчисливши2l(θ)θiθj , але тоді мені не було очевидно, як дістатися до матричного позначення з2l(θ)θiθj .

Хтось знає чистий і простий спосіб отримання XTDX ?


3
що ти отримав за ? 2lθiθj
Glen_b -Встановіть Моніку

1
Ось гарний набір слайдів, які показують точний розрахунок, який ви шукаєте: sites.stat.psu.edu/~jiali/course/stat597e/notes2/logit.pdf

Я знайшов чудове відео, яке обчислює Гессі поетапно. Логістична регресія (двійкова) - обчислення Гессі
Наомі

Відповіді:


20

Тут я отримую всі необхідні властивості та тотожності, щоб рішення було самостійним, але крім цього, це виведення є чистим і простим. Давайте формалізуємо своє позначення і запишемо функцію втрати трохи більш компактно. Розглянемо m зразки {xi,yi} таке , що xiRd і yiR . Нагадаємо, що в двійковій логістичній регресії у нас зазвичай функція гіпотези hθ є логістичною функцією. Формально

hθ(xi)=σ(ωTxi)=σ(zi)=11+ezi,

де ωRd і zi=ωTxi . Функція втрат (на яку я вважаю, що в ОП відсутній негативний знак) визначається як:

l(ω)=i=1m(yilogσ(zi)+(1yi)log(1σ(zi)))

Є дві важливі властивості логістичної функції, які я отримую тут для подальшого ознайомлення. Спочатку зазначимо, що 1σ(z)=11/(1+ez)=ez/(1+ez)=1/(1+ez)=σ(z) .

Також зауважте, що

zσ(z)=z(1+ez)1=ez(1+ez)2=11+ezez1+ez=σ(z)(1σ(z))

Instead of taking derivatives with respect to components, here we will work directly with vectors (you can review derivatives with vectors here). The Hessian of the loss function l(ω) is given by 2l(ω), but first recall that zω=xTωω=xT and zωT=ωTxωT=x.

Let li(ω)=yilogσ(zi)(1yi)log(1σ(zi)). Using the properties we derived above and the chain rule

logσ(zi)ωT=1σ(zi)σ(zi)ωT=1σ(zi)σ(zi)ziziωT=(1σ(zi))xilog(1σ(zi))ωT=11σ(zi)(1σ(zi))ωT=σ(zi)xi

It's now trivial to show that

li(ω)=li(ω)ωT=yixi(1σ(zi))+(1yi)xiσ(zi)=xi(σ(zi)yi)

whew!

Our last step is to compute the Hessian

2li(ω)=li(ω)ωωT=xixiTσ(zi)(1σ(zi))

For m samples we have 2l(ω)=i=1mxixiTσ(zi)(1σ(zi)). This is equivalent to concatenating column vectors xiRd into a matrix X of size d×m such that i=1mxixiT=XXT. The scalar terms are combined in a diagonal matrix D such that Dii=σ(zi)(1σ(zi)). Finally, we conclude that

H(ω)=2l(ω)=XDXT

A faster approach can be derived by considering all samples at once from the beginning and instead work with matrix derivatives. As an extra note, with this formulation it's trivial to show that l(ω) is convex. Let δ be any vector such that δRd. Then

δTH(ω)δ=δT2l(ω)δ=δTXDXTδ=δTXD(δTX)T=δTDX20

since D>0 and δTX0. This implies H is positive-semidefinite and therefore l is convex (but not strongly convex).


2
In the last equation, shouldn't it be ||δD1/2X|| since XDX = XD1/2(XD1/2)?
appletree

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