Di sini saya mendapatkan semua sifat dan identitas yang diperlukan agar solusi dapat berdiri sendiri, tetapi selain itu derivasi ini bersih dan mudah. Mari kita meresmikan notasi kita dan menulis fungsi kerugian sedikit lebih kompak. Pertimbangkan m sampel {xi,yi} sehingga xi∈Rd dan yi∈R . Ingatlah bahwa dalam regresi logistik biner kita biasanya memiliki fungsi hipotesis hθ menjadi fungsi logistik. Secara formal
hθ(xi)=σ(ωTxi)=σ(zi)=11+e−zi,
dimana ω∈Rd dan zi=ωTxi . Fungsi kerugian (yang saya percaya OP kehilangan tanda negatif) kemudian didefinisikan sebagai:
l(ω)=∑i=1m−(yilogσ(zi)+(1−yi)log(1−σ(zi)))
Ada dua sifat penting dari fungsi logistik yang saya peroleh di sini untuk referensi di masa mendatang. Pertama, perhatikan bahwa 1−σ(z)=1−1/(1+e−z)=e−z/(1+e−z)=1/(1+ez)=σ(−z) .
Perhatikan juga itu
∂∂zσ(z)=∂∂z(1+e−z)−1=e−z(1+e−z)−2=11+e−ze−z1+e−z=σ(z)(1−σ(z))
Alih-alih mengambil turunan sehubungan dengan komponen, di sini kami akan bekerja langsung dengan vektor (Anda dapat meninjau turunan dengan vektor di sini ). Hessian dari fungsi kerugian l(ω) diberikan oleh ∇⃗ 2l(ω) , tetapi pertama-tama ingat bahwa∂z∂ω=xTω∂ω=xTdan∂z∂ωT=∂ωTx∂ωT=x .
Mari li(ω)=−yilogσ(zi)−(1−yi)log(1−σ(zi)) . Menggunakan properti yang kami peroleh di atas dan aturan rantai
∂logσ(zi)∂ωT∂log(1−σ(zi))∂ωT=1σ(zi)∂σ(zi)∂ωT=1σ(zi)∂σ(zi)∂zi∂zi∂ωT=(1−σ(zi))xi=11−σ(zi)∂(1−σ(zi))∂ωT=−σ(zi)xi
Sekarang sepele untuk menunjukkan itu
∇⃗ li(ω)=∂li(ω)∂ωT=−yixi(1−σ(zi))+(1−yi)xiσ(zi)=xi(σ(zi)−yi)
Wah!
Langkah terakhir kami adalah menghitung Hessian
∇⃗ 2li(ω)=∂li(ω)∂ω∂ωT=xixTiσ(zi)(1−σ(zi))
For m samples we have ∇⃗ 2l(ω)=∑mi=1xixTiσ(zi)(1−σ(zi)). This is equivalent to concatenating column vectors xi∈Rd into a matrix X of size d×m such that ∑mi=1xixTi=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).