公式
θ(t+1)=θ(t)−H−1∇θl
海森矩阵
Hij=∂2l∂θi∂θj
推导
泰勒展开式
f(x)=f(x0)+f(1)(xo)(x−x0)+...+f(n)(x0)n!(x−x0)n+f(n+1)(xo+θ(x−x0))(n+1)!(θ(x−x0))n+1
多元函数泰勒展开
f(X)=f(X0)+(X−X0)T∇f(X0)+...+1n![(X−X0)T∇]nf(X0)+1(n+1)![θ(X−X0)T∇]n+1f(X0+θ(X−X0))
取n=2
f(X)=f(X0)+(X−X0)T∇f(X0)+12(X−X0)T∇f(X0)∇Tf(X0)(X−X0)+o(∥X−X0∥2)
记 ∇f(X0)∇Tf(X0)=∇2f(X0)=H(X0) 为 Hessian 矩阵
∇X12(X−X0)T∇f(X0)∇Tf(X0)(X−X0)=∇X12(X−X0)TH(X0)(X−X0)=12∇Xtr((X−X0)TH(X0)(X−X0))=12∇Xtr(XTH(X0)X−X0TH(X0)X−XTH(X0)X0+X0TH(X0)X0)=12∇Xtr(XXTH(X0))−∇Xtr(XX0TH(X0))−∇Xtr(XX0THT(X0))=12(H(X0)X+HT(X0)X−HT(X0)X0−H(X0)X0)=12(H(X0)+HT(X0))(X−X0)=H(X0)(X−X0)
∇Xf(X)=∇X(f(X0)+(X−X0)T∇f(X0)+12(X−X0)T∇f(X0)∇Tf(X0)(X−X0))=∇f(X0)+H(X0)(X−X0)
当 f(X) 取最值时
∇Xf(X)==0
可得
(X−X0)=−H−1(X0)∇f(X0)X=X0−H−1(X0)∇f(X0)