รัฐของฟังก์ชั่นโลจิสติก


15

ฉันมีความยากลำบากในการได้มาซึ่งรัฐของฟังก์ชันวัตถุประสงค์l(θ)ในการถดถอยโลจิสติกที่l(θ)คือ:

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

hθ(x)เป็นฟังก์ชันลอจิสติก แคว้นเฮ็ซเป็นXTDX X ฉันพยายามหามาโดยการคำนวณ2l(θ)θiθjแต่แล้วมันก็ไม่ชัดเจนกับผมว่าจะได้รับสัญกรณ์เมทริกซ์จาก2l(θ)θiθjเจ

ไม่มีใครรู้วิธีการใด ๆ ที่สะอาดและง่ายต่อการสืบมาXTDX ?


3
คุณได้อะไรมาเพื่อ ? 2lθiθj
Glen_b -Reinstate Monica

1
นี่คือชุดสไลด์ที่แสดงการคำนวณที่แน่นอนที่คุณกำลังมองหา: sites.stat.psu.edu/~jiali/course/stat597e/notes2/logit.pdf

ฉันพบวิดีโอที่ยอดเยี่ยมซึ่งคำนวณขั้นตอนของ Hessian ทีละขั้นตอน การถดถอยโลจิสติก (เลขฐานสอง) - คำนวณ Hessian
Naomi

คำตอบ:


20

ที่นี่ฉันได้รับคุณสมบัติและตัวตนที่จำเป็นทั้งหมดสำหรับการแก้ปัญหาในตัวเอง แต่นอกเหนือจากที่มานี้สะอาดและง่าย ให้เราทำสัญลักษณ์ของเราให้เป็นระเบียบและเขียนฟังก์ชันการสูญเสียให้แน่นขึ้นอีกหน่อย พิจารณาmตัวอย่าง{xi,yi}เช่นว่าxiRdและyiR R จำได้ว่าในการถดถอยโลจิสติกไบนารีเรามักจะมีฟังก์ชั่นสมมติฐานhθเป็นฟังก์ชั่นโลจิสติก เป็นทางการ

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

ที่ωRdและzi=ωTxiฉัน ฟังก์ชั่นการสูญเสีย (ซึ่งฉันเชื่อว่า OP ไม่มีเครื่องหมายลบ) จะถูกกำหนดเป็น:

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=xx

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.