Assia di funzione logistica


15

Ho difficoltà a derivare l'Assia della funzione oggettiva, l(θ) , nella regressione logistica dove l(θ) è:

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

hθ(x) è una funzione logistica. Dell'Hessiana èXTDX . Ho provato a ricavarlo calcolando∂2l(θ)∂θi∂θj , ma poi non era ovvio per me come raggiungere la notazione matriciale da∂2l(θ)∂θi∂θj .

Qualcuno conosce un modo semplice e pulito di derivare XTDX ?


3
che cosa si ottiene per ? ∂2l∂θi∂θj
— Glen_b -Restate Monica il

1
Ecco una buona serie di diapositive che mostrano il calcolo esatto che stai cercando: sites.stat.psu.edu/~jiali/course/stat597e/notes2/logit.pdf

Ho trovato un video meraviglioso che calcola l'Assia passo dopo passo. Regressione logistica (binaria) - calcolo dell'Assia
— Naomi il

Risposte:


19

Qui traggo tutte le proprietà e le identità necessarie affinché la soluzione sia autonoma, ma a parte ciò questa derivazione è semplice e pulita. Cerchiamo di formalizzare la nostra notazione e di scrivere la funzione di perdita in modo un po 'più compatto. Considera m campioni {xi,yi} tali che xi∈Rd e yi∈R . Ricordiamo che nella regressione logistica binaria in genere abbiamo la funzione di ipotesi hθ essere la funzione logistica. formalmente

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

dove ω∈Rd e zi=ωTxi . La funzione di perdita (che a mio avviso manca di un segno negativo) è quindi definita come:

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

Esistono due importanti proprietà della funzione logistica che desidero qui per riferimento futuro. Innanzitutto, nota che 1−σ(z)=1−1/(1+e−z)=e−z/(1+e−z)=1/(1+ez)=σ(−z) .

Si noti anche che

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

Invece di prendere derivati ​​rispetto ai componenti, qui lavoreremo direttamente con i vettori (puoi rivedere i derivati ​​con i vettori qui ). L'assia della funzione di perdita l(ω) è data da ∇→2l(ω) , ma prima ricorda che ∂z∂ω=xTω∂ω=xTe∂z∂ωT=∂ωTx∂ωT=x.

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

∂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

It's now trivial to show that

∇→li(ω)=∂li(ω)∂ωT=−yixi(1−σ(zi))+(1−yi)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 xi∈Rd 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→(ω)δ=δT∇→2l(ω)δ=δTXDXTδ=δTXD(δTX)T=‖δTDX‖2≥0

since D>0 and ‖δTX‖≥0. 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.