考虑函数 f(x)=(aTx)(bTx ) 其中a、b和x是n维向量a. 计算∇f(x);b.计算黑塞矩阵Hf(x)
a. 计算梯度 ∇f(x)∇f(x)
首先,我们可以将 f(x) 视为两个函数的乘积:
f(x)=g(x)h(x)
其中 g(x)=aTx 和 h(x)=bTx。
应用乘积法则,我们可以得到梯度:
∇f(x)=∇g(x)h(x)+g(x)∇h(x)
接下来,我们需要计算 ∇g(x) 和 ∇h(x)。
- 对于 g(x)=aTx:
∇g(x)=a∇g(x)=a
- 对于 h(x)=bTx:
∇h(x)=b
将这些代入乘积法则:
∇f(x)=a(bTx)+(aTx)b
那么,最终的梯度为:
∇f(x)=(bTx)a+(aTx)b
b. 计算黑塞矩阵 Hf(x)
黑塞矩阵 Hf(x) 是梯度向量对 x 的导数。我们可以分别计算两个项的雅可比矩阵。
- 对于第一个项 (bTx)a,梯度的每个分量分别对 x 进行偏导:
H1(x)=∇((bTx)a)=∇(bTx)⊗a=b⋅aT
这里 ∇(bTx)=b,而 a 是常量向量,形成外积。
- 对于第二个项 (aTx)b:
H2(x)=∇((aTx)b)=∇(aTx)⊗b=a⋅bT
将两个部分结合起来,黑塞矩阵为:
Hf(x)=baT+abT
总结
- 梯度 ∇f(x) 为:
∇f(x)=(bTx)a+(aTx)b
- 黑塞矩阵 Hf(x) 为:
Hf(x)=baT+abTHf(x)=baT+abT