导数

导数

设函数 f:RnRmf: \mathbf{R}^{n} \rightarrow \mathbf{R}^{m}xintdomfx \in \operatorname{int} \operatorname{dom} f。如果存在矩阵 Df(x)Rm×nDf(x) \in \mathbf{R}^{m \times n},满足

limzdomf,zx,zxf(z)f(x)Df(x)(zx)2zx2=0 \begin{aligned} \lim _{z \in \operatorname{dom} f, z \neq x, z \rightarrow x} \frac{\|f(z)-f(x)-D f(x)(z-x)\| _{2}}{\|z-x\| _{2}}=0 \end{aligned}

则称函数 ff 可微,并称 Df(x)Df(x)ffxx 处的导数(或 Jacobian 矩阵)。

我们将 zz 的仿射函数

f(x)+Df(x)(zx) \begin{aligned} f(x) + Df(x)(z-x) \end{aligned}

称为 ffxx 处(或附近)的一次逼近。当 zz 接近 xx 时,该仿射函数非常接近 ff

Df(x)Df(x) 可以通过计算偏导数的方式求得:

Df(x)ij=fi(x)xj,i=1,,m,j=1,,n \begin{aligned} D f(x) _{ij}=\frac{\partial f _{i}(x)}{\partial x _{j}}, \quad i=1, \cdots, m, \quad j=1, \cdots, n \end{aligned}

梯度

f(x)=Df(x) \begin{aligned} \nabla f(x)=D f(x)^{\top} \end{aligned}

梯度是一个列向量,它的分量是 ff 的偏导数。

f(x)i=f(x)xi,i=1,,n \begin{aligned} \nabla f(x) _{i}=\frac{\partial f(x)}{\partial x _{i}}, \quad i=1, \cdots, n \end{aligned}

链式规则

设复合函数 h(x)=g(f(x))h(x) = g(f(x)),则

h(x)=g(f(x))f(x)=g(f(x))f(x) \begin{aligned} \nabla h(x) &= g'(f(x))f(x) \\ &= \nabla g(f(x))^{\top} f(x) \end{aligned}

仿射函数

设仿射函数 g(x)=f(Ax+b)g(x) = f(Ax+b),其中 f:RnRmf: \mathbf{R}^{n} \rightarrow \mathbf{R}^{m}ARn×pA \in \mathbf{R}^{n \times p}bRnb \in \mathbf{R}^{n},则 g:RpRmg: \mathbf{R}^{p} \rightarrow \mathbf{R}^{m}。当 ff 是实函数时(即 m=1m=1),仿射函数 gg 的梯度公式为:

g(x)=Af(Ax+b) \begin{aligned} \nabla g(x) = A^{\top} \nabla f(Ax+b) \end{aligned}

仿射

Rn\mathbf{R}^{n}Rm\mathbf{R}^{m} 的映射 xAx+bx \rightarrow Ax+b 称为仿射变换。当 m=1m=1 时,称上述仿射变换为仿射函数。若仿射函数的 b=0b=0,则称之为线性函数

方向导数

f:RnRmf: \mathbf{R}^{n} \rightarrow \mathbf{R}^{m}x,vRnx, v \in \mathbf{R}^{n}。定义函数 f~=f(x+tv)\tilde{f} = f(x+tv)。(粗略地说,f~\tilde{f} 是将 ff 限制在直线 {x+tvtR}\{x+tv \mid t \in \mathbf{R}\} 上的函数。)则

Df~(t)=f~(t)=f(x+tv)v \begin{aligned} D \tilde{f}(t)=\tilde{f}^{\prime}(t)=\nabla f(x+t v)^{\top} v \end{aligned}

并称标量 f~(0)\tilde{f}^{\prime}(0) 为函数 ffxx 处沿方向 vv方向导数

二阶导数

设函数 f:RnRf: \mathbf{R}^{n} \rightarrow \mathbf{R}xintdomfx \in \operatorname{int} \operatorname{dom} f。那么 ffxx 处的二阶导数(或 Hessian 矩阵)为

2f(x)ij=2f(x)xixj,i=1,,n,j=1,,n \begin{aligned} \nabla^{2} f(x) _{ij}=\frac{\partial^{2} f(x)}{\partial x _{i} \partial x _{j}}, \quad i=1, \cdots, n, \quad j=1, \cdots, n \end{aligned}

函数 ff 在(或接近)xx 处以 zz 为变量的二次逼近

f^(z)=f(x)+f(x)(zx)+12(zx)2f(x)(zx) \begin{aligned} \widehat{f}(z)=f(x)+\nabla f(x)^{\top}(z-x)+\frac{1}{2}(z-x)^{\top} \nabla^{2} f(x)(z-x) \end{aligned}

二阶导数的链式规则

标量复合函数

f:RnRf: \mathbf{R}^{n} \rightarrow \mathbf{R}g:RRg: \mathbf{R} \rightarrow \mathbf{R}h(x)=g(f(x))h(x)=g(f(x))。我们有

2h(x)=g(f(x))2f(x)+g(f(x))f(x)f(x) \begin{aligned} \nabla^{2} h(x)=g^{\prime}(f(x)) \nabla^{2} f(x)+g^{\prime \prime}(f(x)) \nabla f(x) \nabla f(x)^{\top} \end{aligned}

复合仿射函数

f:RnRf: \mathbf{R}^{n} \rightarrow \mathbf{R}ARn×mA \in \mathbf{R}^{n \times m}bRnb \in \mathbf{R}^{n},定义 g:RmRg: \mathbf{R}^{m} \rightarrow \mathbf{R}g(x)=f(Ax+b)g(x) = f(Ax+b)。我们有

2g(x)=A2f(Ax+b)A \begin{aligned} \nabla^{2} g(x)=A^{\top} \nabla^{2} f(Ax+b) A \end{aligned}