Hessen lojistik fonksiyon


15

Nesnel fonksiyonun Hessian türetmek için zorluk lojistik regresyon, olan: l(θ)l(θ)

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

X T D X ∂ 2 l ( θ )hθ(x) bir lojistik işlevdir. Hessian . I hesaplayarak bunu elde etmek için güvenilir , ama o zaman, matris gösterimi krokisi bana belirgin değildi .XTDX ∂2l(θ)∂2l(θ)∂θi∂θj∂2l(θ)∂θi∂θj

Herkes türetmek için temiz ve kolay bir yol biliyor mu ?XTDX


3
sizin için ne aldın ? ∂2l∂θi∂θj
— Glen_b-Monica'yı geri yükle

2
Tam aradığınız hesaplamayı gösteren iyi bir slayt kümesi: sites.stat.psu.edu/~jiali/course/stat597e/notes2/logit.pdf

1
Hessian'ı adım adım hesaplayan harika bir video buldum. Lojistik regresyon (ikili) - Hessian'ın hesaplanması
— Naomi

Yanıtlar:


20

Burada, çözümün kendi kendine yetmesi için gerekli tüm özellikleri ve kimlikleri türetiyorum, ancak bunun dışında bu türetme temiz ve kolaydır. Notasyonumuzu resmileştirelim ve kayıp fonksiyonunu biraz daha kompakt yazalım. Göz önünde m örnekleri {xi,yi} , öyle ki xi∈Rd ve yi∈R . İkili lojistik regresyon biz genellikle hipotez işlevi olduğunu hatırlayın hθ lojistik fonksiyon olsun. resmen

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

burada ω∈Rd ve zi=ωTxi . Kayıp fonksiyonu (ki OP'lerin negatif bir işaretin eksik olduğuna inanıyorum) daha sonra şöyle tanımlanır:

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

Gelecekte başvurmak üzere burada türediğim lojistik fonksiyonun iki önemli özelliği vardır. İlk olarak, 1−σ(z)=1−1/(1+e−z)=e−z/(1+e−z)=1/(1+ez)=σ(−z) olduğuna dikkat edin .

Ayrıca şunu da unutmayın

∂∂zσ(z)=∂∂z(1+e−z)−1=e−z(1+e−z)−2=11+e−ze−z1+e−z=σ(z)(1−σ(z))

Bileşenlere göre türev almak yerine, burada doğrudan vektörlerle çalışacağız ( burada vektörlerle türevleri inceleyebilirsiniz ). Kayıp fonksiyonu Hessian l(ω) ile verilir ∇→2l(ω) ama ilk geri çekme ∂z∂ω=xTω∂ω=xTve∂z∂ωT=∂ωTx∂ωT=x.

Let li(ω)=−yilog⁡σ(zi)−(1−yi)log⁡(1−σ(zi)) . Yukarıda elde ettiğimiz özellikleri ve zincir kuralını kullanma

∂log⁡σ(zi)∂ωT=1σ(zi)∂σ(zi)∂ωT=1σ(zi)∂σ(zi)∂zi∂zi∂ωT=(1−σ(zi))xi∂log⁡(1−σ(zi))∂ωT=11−σ(zi)∂(1−σ(zi))∂ωT=−σ(zi)xi

Bunu göstermek artık önemsiz

∇→li(ω)=∂li(ω)∂ωT=−yixi(1−σ(zi))+(1−yi)xiσ(zi)=xi(σ(zi)−yi)

vay!

Son adımımız Hessian'ı hesaplamak

∇→2li(ω)=∂li(ω)∂ω∂ωT=xixiTσ(zi)(1−σ(zi))

İçin m örnekler elimizdeki ∇→2l(ω)=∑i=1mxixiTσ(zi)(1−σ(zi)) . Bu sütun vektörleri bitiştirme eşdeğerdir xi∈Rd bir matris içine X boyutu d×m , öyle ki ∑i=1mxixiT=XXT . Skalar terimler diyagonal matris içinde bir araya getirilmiştirD şekildeDii=σ(zi)(1−σ(zi)) . Sonunda,

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

Daha hızlı bir yaklaşım, başlangıçtan itibaren tüm numuneler bir kerede düşünülerek ve bunun yerine matris türevleri ile çalışılarak elde edilebilir. Ek bir not olarak, bu formülasyonla l(ω) nin dışbükey olduğunu göstermek önemsizdir . Let δ herhangi bir vektör öyle ki δ∈Rd . Sonra

δTH→(ω)δ=δT∇→2l(ω)δ=δTXDXTδ=δTXD(δTX)T=‖δTDX‖2≥0

D>0‖δTX‖≥0Hl


2
||δD1/2X||XDX⊤XD1/2(XD1/2)⊤

1
XTDX
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.