ここでは、ソリューションが自己完結型であるために必要なすべてのプロパティとIDを導出しますが、それ以外はこの導出はクリーンで簡単です。記法を形式化し、損失関数をもう少しコンパクトに書きましょう。検討してサンプルをようと。バイナリロジスティック回帰では、通常、仮説関数がロジスティック関数であることを思い出してください。正式にm{xi,yi}xi∈Rdyi∈Rhθ
hθ(xi)=σ(ωTxi)=σ(zi)=11+e−zi,
ここで、およびです。損失関数(OPには負の符号が欠落していると思われます)は、次のように定義されます。ω∈Rdzi=ωTxi
l(ω)=∑i=1m−(yilogσ(zi)+(1−yi)log(1−σ(zi)))
ロジスティック関数には2つの重要なプロパティがあり、将来の参照のためにここで導き出します。まず、。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=x
してみましょう。上記で導出したプロパティとチェーンルールを使用してli(ω)=−yilogσ(zi)−(1−yi)log(1−σ(zi))
∂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
今ではそれを示すのは簡単です
∇⃗ li(ω)=∂li(ω)∂ωT=−yixi(1−σ(zi))+(1−yi)xiσ(zi)=xi(σ(zi)−yi)
なんて!
最後のステップは、ヘッセ行列を計算することです
∇⃗ 2li(ω)=∂li(ω)∂ω∂ωT=xixTiσ(zi)(1−σ(zi))
ためのサンプル我々は。これは、列ベクトルをようなサイズ行列に連結することと同等です。スカラー項は、ように対角行列結合されます。最後に、m∇⃗ 2l(ω)=∑mi=1xixTiσ(zi)(1−σ(zi))xi∈RdXd×m∑mi=1xixTi=XXTDDii=σ(zi)(1−σ(zi))
H⃗ (ω)=∇⃗ 2l(ω)=XDXT
最初からすべてのサンプルを一度に検討し、代わりに行列微分を使用することにより、より高速なアプローチを導き出すことができます。補足説明として、この定式化では、が凸であることを示すのは簡単です。ましょう任意のベクターであり、その結果。それからl(ω)δδ∈Rd
δTH⃗ (ω)δ=δT∇⃗ 2l(ω)δ=δTXDXTδ=δTXD(δTX)T=∥δTDX∥2≥0
以来、と。これは、が正半無限であり、したがってが凸である(ただし、強く凸ではない)ことを意味します。D>0∥δTX∥≥0Hl