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


15

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

l(θ)=∑i=1m[yilog⁡(hθ(xi))+(1−yi)log⁡(1−hθ(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}เช่นว่าxi∈Rdและyi∈R R จำได้ว่าในการถดถอยโลจิสติกไบนารีเรามักจะมีฟังก์ชั่นสมมติฐานhθเป็นฟังก์ชั่นโลจิสติก เป็นทางการ

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

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

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

มีคุณสมบัติที่สำคัญสองประการของฟังก์ชันลอจิสติกซึ่งฉันได้รับมาที่นี่เพื่อใช้อ้างอิงในอนาคต ครั้งแรกที่ทราบว่า1−σ(z)=1−1/(1+e−z)=e−z/(1+e−z)=1/(1+ez)=σ(−z) )

ยังทราบด้วยว่า

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

แทนที่จะใช้อนุพันธ์ที่เกี่ยวกับส่วนประกอบตรงนี้เราจะทำงานกับเวกเตอร์โดยตรง (คุณสามารถตรวจสอบอนุพันธ์กับเวกเตอร์ได้ที่นี่ ) แคว้นเฮ็ซของฟังก์ชั่นการสูญเสียl(ω)จะได้รับโดย∇→2l(ω)แต่การเรียกคืนแรกที่∂z∂ω=xTω∂ω=xTและ∂z∂ωT=∂ωTx∂ωT=xx

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