लॉजिस्टिक फ़ंक्शन का हेसियन


15

मुझे लॉजिस्टिक रिग्रेशन में ऑब्जेक्टिव फंक्शन, l ( ive ) का Hessian प्राप्त करने में कठिनाई होती है l(θ), जहाँ the : l(θ)

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

hθ(x) एक लॉजिस्टिक फ़ंक्शन है। हेसियन । मैंने इसे गणना करके प्राप्त करने का प्रयास किया , लेकिन तब मुझे यह स्पष्ट नहीं था कि मैं के मैट्रिक्स नोटेशन को कैसे प्राप्त ।XTDX2l(θ)θiθj2l(θ)θiθj

किसी को भी प्राप्त करने का कोई भी साफ और आसान तरीका पता है ?XTDX


3
आप के लिए क्या मिला 2lθiθj ?
Glen_b -Reinstate मोनिका

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))

घटकों के संबंध में डेरिवेटिव लेने के बजाय, यहां हम सीधे वैक्टर के साथ काम करेंगे (आप यहां वैक्टर के साथ डेरिवेटिव की समीक्षा कर सकते हैं )। नुकसान समारोह के हेस्सियन l(ω) द्वारा दिया जाता है 2l(ω) , लेकिन पहले याद है कि zω=xTωω=xTऔरzωT=ωTxωT=x

चलो li(ω)=yilogσ(zi)(1yi)log(1σ(zi)) । ऊपर और श्रृंखला नियम से प्राप्त गुणों का उपयोग करना

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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.