前言

在此「第一部分」中,我们将从矩阵运算的尺度来导出一些常见的导数公式;在后续的「第二部分」中,我们将找到更加通用的全微分方法,以求更快捷地计算复杂公式的导数。

会了第二部分,第一部分就是个瘠薄。所以第一部分大概看一下就好。

A 向量变元标量函数的求导方法(导数向量)

对于以 $N$ 维列向量 $\boldsymbol x = \left[ x_1, x_2, \cdots, x_N \right]^{\rm T}$ 为变元的标量函数 $f(\boldsymbol x)$,其对变元 $\boldsymbol x$ 的导数为一个 $N$ 维的导数向量(如下为列向量):

$$ \frac{\partial f(\boldsymbol x)}{\partial \boldsymbol x} = \left[

\frac{\partial f(\boldsymbol x)}{\partial x_1}, \frac{\partial f(\boldsymbol x)}{\partial x_2}, \cdots, \frac{\partial f(\boldsymbol x)}{\partial x_N}

\right]^{\rm T} $$

A0 向量变元标量函数的导数的性质

运算性质如下:

  1. 对常量的求导结果为零向量 $\frac{\partial c}{\partial \boldsymbol x} = \boldsymbol 0$;
  2. 线性性质 $\frac{\partial}{\partial \boldsymbol x}(k_1f(\boldsymbol x)+k_2g(\boldsymbol x)) = k_1\frac{\partial f(\boldsymbol x)}{\partial \boldsymbol x} + k_2\frac{\partial g(\boldsymbol x)}{\partial \boldsymbol x}$;
  3. 乘法法则 $\frac{\partial}{\partial \boldsymbol x}f(\boldsymbol x)g(\boldsymbol x) = \frac{\partial f(\boldsymbol x)}{\partial \boldsymbol x} g(\boldsymbol x) + \frac{\partial g(\boldsymbol x)}{\partial \boldsymbol x} f(\boldsymbol x)$;
  4. 除法法则 $\frac{\partial}{\partial \boldsymbol x} \frac{f(\boldsymbol x)}{g(\boldsymbol x)} = \frac{1}{g^2(\boldsymbol x)} \left( \frac{\partial f(\boldsymbol x)}{\partial \boldsymbol x}g(\boldsymbol x) - \frac{\partial g(\boldsymbol x)}{\partial \boldsymbol x}f(\boldsymbol x)\right)$。
  5. 与标量变元标量函数的复合求导公式 $\frac{\partial}{\partial \boldsymbol x} h(f(\boldsymbol x)) = \frac{\partial h(f)}{\partial f} \cdot \frac{\partial f(\boldsymbol x)}{\partial \boldsymbol x}$(导数标量 × 导数向量)。

下面列出几种特殊的 $f(\boldsymbol x)$ 下的导数公式,并在后文详细证明。

  1. $\frac{\partial (\boldsymbol a ^{\rm T} \boldsymbol x)}{\partial \boldsymbol x} = \frac{\partial (\boldsymbol x ^{\rm T} \boldsymbol a)}{\partial \boldsymbol x} = \boldsymbol a$。
  2. $\frac{\partial (\boldsymbol x ^{\rm T} \boldsymbol x)}{\partial \boldsymbol x} = 2 \boldsymbol x$;$\frac{\partial \|\boldsymbol x\|}{\partial \boldsymbol x} = \frac{\boldsymbol x}{\|\boldsymbol x\|}$。
  3. $\frac{\partial (\boldsymbol x ^{\rm T}\boldsymbol A \boldsymbol x)}{\partial \boldsymbol x} = (\boldsymbol A + \boldsymbol A^{\rm T}) \boldsymbol x$。
  4. $\frac{\partial (\boldsymbol a^{\rm T} \boldsymbol x \boldsymbol x^{\rm T}\boldsymbol b)}{\partial \boldsymbol x} = (\boldsymbol a \boldsymbol b^{\rm T} + \boldsymbol b \boldsymbol a^{\rm T}) \boldsymbol x$。

A1 向量与常向量的内积($\boldsymbol a^{\rm T}\boldsymbol x = \boldsymbol x^{\rm T} \boldsymbol a$)的导数

向量 $\boldsymbol x$ 与同为行向量、同样长度的常向量 $\boldsymbol a$ 做内积的结果,是该常向量。

$$ \frac{\partial (\boldsymbol a ^{\rm T} \boldsymbol x)}{\partial \boldsymbol x} = \frac{\partial (\boldsymbol x ^{\rm T} \boldsymbol a)}{\partial \boldsymbol x} = \boldsymbol a $$

证明

记 $f(\boldsymbol x) = \boldsymbol a^{\rm T}\boldsymbol x = \sum_{n=1}^N a_nx_n$,有 $\frac{\partial f(\boldsymbol x)}{\partial x_n} = a_n$,故 $\frac{\partial (\boldsymbol a ^{\rm T} \boldsymbol x)}{\partial \boldsymbol x} = \boldsymbol a$,另一式因 $\boldsymbol a^{\rm T}\boldsymbol x = \boldsymbol x^{\rm T} \boldsymbol a$ 同理。

A2 向量与自身的内积($\boldsymbol x ^{\rm T} \boldsymbol x$)的导数

$$ \frac{\partial (\boldsymbol x ^{\rm T} \boldsymbol x)}{\partial \boldsymbol x} = 2 \boldsymbol x $$

证明

记 $f(\boldsymbol x) = \boldsymbol x ^{\rm T} \boldsymbol x = \| \boldsymbol x \|^2 = \sum_{n=1}^N x_n^2$,有 $\frac{\partial f(\boldsymbol x)}{\partial x_n} = 2 x_n$,故 $\frac{\partial f(\boldsymbol x)}{\partial \boldsymbol x} =2\boldsymbol x$。

A3 向量的二次型($\boldsymbol x^{\rm T} \boldsymbol A \boldsymbol x$)的导数

$$ \frac{\partial (\boldsymbol x ^{\rm T}\boldsymbol A \boldsymbol x)}{\partial \boldsymbol x} = (\boldsymbol A + \boldsymbol A^{\rm T}) \boldsymbol x $$