二次连续可微复合函数二阶导数的直接推导疑问
我来梳理下这个问题的完整解决思路,你已经通过分量求和的方式顺利证明了一阶和二阶导数的表达式,但想找到从一阶导数的梯度形式直接推导二阶导数的方法,中间遇到了维度不匹配的困惑,最后借助内积求导法则成功解决了问题,咱们一步步拆解:
问题背景
设 $f: \mathbb{R}^{n}\rightarrow \mathbb{R}$ 是二次连续可微函数,定义路径函数 $\xi:[0,1]\rightarrow \mathbb{R}^{n}: t\mapsto \xi(t):=x+ty$,以及复合函数 $\rho: [0,1]\rightarrow \mathbb{R}:t\mapsto \rho(t):=f(\xi(t))$,需要证明:
$$\rho'(t)=\nabla f(\xi(t))y=\sum\limits_{i=1}^{n}\frac{\partial f}{\partial x_{i}}(\xi(t))y_{i}$$
$$\rho''(t)=y{T}H_{f}(\xi(t))y=\sum\limits_{i=1}{n}\sum\limits_{j=1}{n}\frac{\partial{2}f}{\partial x_{i} \partial x_{j}}(\xi(t))y_{i}y_{j}$$
注:梯度 $\nabla f$ 定义为行向量。
一阶导数的推导(已完成)
$$
\rho'(t)
\sum\limits_{i=1}^{n}\frac{\partial f}{\partial x_{i}}(\xi(t))y_{i}
$$
这里用到了行向量形式的梯度 $\nabla f(\xi(t)) = \left( \frac{\partial f}{\partial x_{1}}(\xi(t)), \frac{\partial f}{\partial x_{2}}(\xi(t)), \ldots, \frac{\partial f}{\partial x_{n}}(\xi(t)) \right)$,以及 $\xi'(t)=y$(列向量,和行向量梯度相乘得到标量)。
分量法推导二阶导数(已完成)
$$
\begin{align}
\rho''(t)
(\rho'(t))'
&=
\frac{\partial}{\partial t}\left(\sum\limits_{i=1}^{n}\frac{\partial f}{\partial x_{i}}(\xi(t))y_{i}\right)\
&=
\sum\limits_{i=1}^{n}\frac{\partial}{\partial t}\left(\frac{\partial f}{\partial x_{i}}(\xi(t))y_{i}\right)\
&=
\sum\limits_{i=1}^{n}\left( \nabla \frac{\partial f}{\partial x_{i}}(\xi(t))\xi'(t)\right)y_{i} \
&=
\sum\limits_{i=1}{n}\sum\limits_{j=1}{n}\frac{\partial^{2}f}{\partial x_{j}\partial x_{i}}(\xi(t))y_{i}y_{j} \
&=
y^{T}H_{f}(\xi(t))y
\end{align}
$$
这里利用了二次连续可微函数的二阶混合偏导对称的性质,最后整理成了海森矩阵的二次型形式。
直接推导时遇到的困惑
$$
\begin{align}
\rho''(t)
(\nabla f(\xi(t)))'\xi'(t)+(\nabla f(\xi(t)))\xi''(t)
\end{align}
$$
因为 $\xi''(t)=0$,所以只剩第一项 $(\nabla f(\xi(t)))'\xi'(t)$,但这里出现了维度不匹配的问题:$\nabla f$ 是行向量,它的导数如果直接按普通矩阵乘法处理,会导致运算不合法,你猜测可能需要把 $(\nabla f(\xi(t)))'$ 转化为 $\xi'(t)^{T}J(\nabla f(\xi(t)))$,但不清楚背后的原理。
借助内积求导的解决方法
后来你参考思路,引入 $\mathbb{R}^n$ 上的标准内积 $\langle x,y\rangle=x{T}y=\sum\limits_{i=1}{n}x_{i}y_{i}$,先证明了内积的求导法则:
设 $f,g:\mathbb{R}\rightarrow \mathbb{R}^{n}$,则
$$
\frac{d}{d t}\langle f(t),g(t) \rangle\left\langle \frac{d}{dt} f(t),g(t) \right\rangle+\left\langle \frac{d}{dt} g(t),f(t) \right\rangle
$$
证明过程:
$$
\begin{align}
\frac{d}{d t}\langle f(t),g(t) \rangle
&=
\frac{d}{d t}\sum\limits_{i=1}^{n}f_{i}(t)g_{i}(t)\
&=
\sum\limits_{i=1}^{n}\frac{d}{d t}(f_{i}(t)g_{i}(t))\
&=
\sum\limits_{i=1}^{n}f'{i}(t)g{i}(t)+f_{i}(t)g'_{i}(t)\
&=\left\langle \frac{d}{dt}f(t),g(t) \right\rangle+\left\langle \frac{d}{dt}g(t),f(t) \right\rangle
\end{align}
$$
利用这个内积求导法则,把 $\rho'(t)$ 看成梯度列向量和 $\xi'(t)$ 的内积(行向量 $\nabla f$ 和列向量 $y$ 的乘积等价于 $\langle \nabla f(\xi(t))^T, y\rangle$),然后求导:
$$
\begin{align}
\frac{d}{d t}\rho'(t)
&=
\frac{d}{d t}\left\langle \nabla f(\xi(t))^T, \xi'(t)\right\rangle\
&=
\left\langle \frac{d}{d t} \nabla f(\xi(t))^T, \xi'(t)\right\rangle+\left\langle \frac{d}{dt}\xi'(t), \nabla f(\xi(t))^T\right\rangle\
&=
\left\langle J(\nabla f^T)(\xi(t))\xi'(t), \xi'(t)\right\rangle+0\
&=
\left(H_{f}(\xi(t))\xi'(t)\right)^{T} \xi'(t)\
&=
\xi'(t)^{T}H_{f}(\xi(t))\xi'(t)\
&=y^{T}H_{f}(\xi(t))y
\end{align}
$$
这里注意到海森矩阵 $H_f = J(\nabla f^T)$(梯度转置是列向量,它的雅可比矩阵就是海森矩阵),而且 $\xi'(t)=y$,最后就完美得到了想要的二次型形式,解决了之前的维度问题。
备注:内容来源于stack exchange,提问作者bayes2021




