Hesse de la fonction logistique


15

J'ai du mal à dériver la Hesse de la fonction objectif, l(θ) , en régression logistique où l(θ) est:

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

hθ(x) est une fonction logistique. Le Hessian estXTDX . J'ai essayé de le dériver en calculant2l(θ)θiθj , mais il n'était pas évident pour moi comment accéder à la notation matricielle à partir de2l(θ)θiθj .

Quelqu'un connaît-il un moyen propre et facile de dériver XTDX ?


3
qu'avez-vous obtenu pour ? 2lθiθj
Glen_b -Reinstate Monica

1
Voici un bon ensemble de diapositives qui montrent le calcul exact que vous recherchez: sites.stat.psu.edu/~jiali/course/stat597e/notes2/logit.pdf

J'ai trouvé une merveilleuse vidéo qui calcule pas à pas la Hesse. Régression logistique (binaire) - calcul de la Hesse
Naomi

Réponses:


20

Ici, je dérive toutes les propriétés et identités nécessaires pour que la solution soit autonome, mais à part cela, cette dérivation est propre et facile. Formalisons notre notation et écrivons la fonction de perte un peu plus compacte. Considérons m échantillons {xi,yi} de telle sorte que xiRd et yiR . Rappelons que dans la régression logistique binaire, nous avons généralement la fonction d'hypothèse hθ être la fonction logistique. Officiellement

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

ωRd et zi=ωTxi . La fonction de perte (à laquelle je pense qu'il manque un signe négatif à OP) est alors définie comme suit:

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

Il y a deux propriétés importantes de la fonction logistique que je dérive ici pour référence future. Tout d'abord, notez que 1σ(z)=11/(1+ez)=ez/(1+ez)=1/(1+ez)=σ(z) .

Notez également que

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

Au lieu de prendre des dérivées par rapport aux composants, nous travaillerons ici directement avec des vecteurs (vous pouvez revoir les dérivés avec des vecteurs ici ). La Hesse de la fonction de perte l(ω) est donnée par 2l(ω) , mais rappelons d'abord que zω=xTωω=xTetzωT=ωTxωT=x.

Soit li(ω)=yilogσ(zi)(1yi)log(1σ(zi)) . En utilisant les propriétés que nous avons dérivées ci-dessus et la règle de chaîne

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

Il est désormais trivial de montrer que

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

ouf!

Notre dernière étape consiste à calculer la Hesse

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

Pour m échantillons, nous avons 2l(ω)=i=1mxixiTσ(zi)(1σ(zi)) . Cela équivaut à concaténer des vecteurs colonnes xiRd en une matrice X de taille d×m telle que i=1mxixiT=XXT . Les termes scalaires sont combinés dans une matrice diagonaleD telle queDii=σ(zi)(1σ(zi)) . Enfin, nous concluons que

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

Une approche plus rapide peut être dérivée en considérant tous les échantillons à la fois depuis le début et en utilisant plutôt des dérivés matriciels. En plus, avec cette formulation, il est trivial de montrer que l(ω) est convexe. Soit δ tout vecteur tel que δRd . alors

δ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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.