物流功能的黑森州


15

我很难在逻辑回归中得出目标函数的Hessian,其中为: l(θ)l(θ)

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

hθ(x)是逻辑函数。粗体字是。我试图通过计算来导出它,但是对于我来说,如何从转换为矩阵符号并不明显。XTDX2l(θ)θiθj2l(θ)θiθj

有人知道推导X ^ TDX的任何简便方法XTDX吗?


3
您为2lθiθj什么?
Glen_b-恢复莫妮卡

1
这是一组很好的幻灯片,它们显示了您正在寻找的精确计算:sites.stat.psu.edu/~jiali/course/stat597e/notes2/logit.pdf

我发现了一段精彩的视频,它逐步地计算了黑森州。逻辑回归(二进制)-计算黑森州
内奥米

Answers:


20

在这里,我导出了使解决方案自包含的所有必要属性和标识,但除此之外,这种推导是干净且容易的。让我们形式化我们的符号,并更紧凑地编写损失函数。考虑样本,使得和。回想一下,在二进制逻辑回归中,我们通常将假设函数作为逻辑函数。正式地m{xi,yi}xiRdyiRhθ

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

其中和。损失函数(我认为OP缺少负号)然后定义为:ωRdzi=ω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))

在这里,我们将直接使用向量(而不是分量的派生)(您可以在此处查看使用向量的派生)。损失函数的Hessian 由,但首先回想一下和。l(ω)2l(ω)zω=xTωω=xTzω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

现在证明这很简单

li(ω)=li(ω)ωT=yixi(1σ(zi))+(1yi)xiσ(zi)=xi(σ(zi)yi)

我们的最后一步是计算Hessian

2li(ω)=li(ω)ωωT=xixiTσ(zi)(1σ(zi))

对于样本,我们有。这等效于串联列向量为矩阵大小的使得。标量项组合在对角矩阵,使得。最后,我们得出结论m2l(ω)=i=1mxixiTσ(zi)(1σ(zi))xiRdXd×mi=1mxixiT=XXTDDii=σ(zi)(1σ(zi))

H(ω)=2l(ω)=XDXT

通过从一开始就一次考虑所有样本,而是使用矩阵导数,可以得出一种更快的方法。另外需要注意的是,用这种公式可以证明是凸的。令是等于任何向量。然后l(ω)δδRd

δTH(ω)δ=δT2l(ω)δ=δTXDXTδ=δTXD(δTX)T=δTDX20

因为和。这意味着是正中半定的,因此是凸的(但不是强凸的)。D>0δTX0Hl


2
在最后一个等式中,它不应该是因为 =?||δD1/2X||XDXXD1/2(XD1/2)
appletree

1
不是吗?XTDX
Chintan Shah
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.