前言

在「第一部分」中我们已经通过矩阵运算导出了一些常用的导数公式,而在此「第二部分」中我们将寻找对矩阵微分更通用的计算方式,即全微分方法。

D 矩阵(向量)微元及矩阵(向量)变元函数的全微分

在标量变元的范畴内,我们能够对 $z = x^3 + axy + y$ 展开全微分,得到:

$$ \begin{align*}

{\rm d}z &= 3x^2 {\rm d}x + a(y{\rm d}x + x{\rm d}y) + {\rm d}y \\

&= (3x^2+ay){\rm d}x + (ax + 1){\rm d}y

\end{align*} $$

然后我们就可以根据全微分公式 ${\rm d}z = \frac{\partial z}{\partial x} {\rm d} x + \frac{\partial z}{\partial y} {\rm d} y$ ,和上式一对比,得到各偏导:

$$ \frac{\partial z}{\partial x} = 3x^2 + ay, \ \ \frac{\partial z}{\partial y} = ax + 1 $$

矩阵、向量微元其实也是同理的。

D1 矩阵(向量)微元及相关全微分的定义

定义向量微元为行向量 ${\rm d}\boldsymbol x = [{\rm d} x_1, {\rm d} x_2, \cdots, {\rm d} x_N]^{\rm T}$;矩阵微元 ${\rm d}\boldsymbol X$ 同理:

$$ {\rm d}\boldsymbol X = \begin{bmatrix}

{\rm d}x_{11} & {\rm d}x_{12} & \cdots & {\rm d}x_{1M} \\ {\rm d}x_{21} & {\rm d}x_{22} & \cdots & {\rm d}x_{2M} \\ \cdots & \vdots & & \vdots \\ {\rm d}x_{N1} & {\rm d}x_{N2} & \cdots & {\rm d}x_{NM} \\

\end{bmatrix} $$

  1. 标量函数的全微分

    那么,对于以向量或矩阵为变元的标量函数的全微分,会像 ${\rm d}z = \frac{\partial z}{\partial x} {\rm d} x + \frac{\partial z}{\partial y} {\rm d} y$ 一样展开为各变量项之和,有全微分与导数的关系:

    $$ {\rm d}f(\boldsymbol x) = \sum_{n=1}^N \frac{\partial f(\boldsymbol x)}{\partial x_n} {\rm d} x_n, \ \

    {\rm d}f(\boldsymbol X) = \sum_{n=1}^N \sum_{m=1}^M \frac{\partial f(\boldsymbol X)}{\partial x_{nm}} {\rm d} x_{nm} $$

    相当于同维数行向量 $\frac{\partial f(\boldsymbol x)}{\partial \boldsymbol x}$ 与 ${\rm d} \boldsymbol x$ 对位相乘求和、同大小矩阵 $\frac{\partial f(\boldsymbol X)}{\partial \boldsymbol X}$ 与 ${\rm d} \boldsymbol X$ 对位相乘求和。

    1. 向量变元函数的全微分 ${\rm d}f(\boldsymbol x)$ 中,对位相乘求和可以用两向量的内积表示:

      $$ {\rm d}f(\boldsymbol x) = \left(\frac{\partial f(\boldsymbol x)}{\partial \boldsymbol x} \right)^{\rm T} {\rm d} \boldsymbol x $$

    2. 矩阵变元函数的全微分 ${\rm d}f(\boldsymbol X)$ 中,对位相乘求和可以用两矩阵内积的迹来表示(迹是方阵才有的,指的是主对角线上的元素之和):

      $$ {\rm d}f(\boldsymbol X) = {\rm tr} \left( \left(\frac{\partial f(\boldsymbol X)}{\partial \boldsymbol X} \right)^{\rm T} {\rm d} \boldsymbol X\right) $$

      证明

      $$ \begin{align*}

      & \ \ {\rm tr} \left( \left(\frac{\partial f(\boldsymbol X)}{\partial \boldsymbol X} \right)^{\rm T} {\rm d} \boldsymbol X \right) \\

      &= {\rm tr} \left( \begin{bmatrix}

      \frac{\partial f(\boldsymbol X)}{\partial x_{11}} & \frac{\partial f(\boldsymbol X)}{\partial x_{21}} & \cdots & \frac{\partial f(\boldsymbol X)}{\partial x_{N1}} \\

      \frac{\partial f(\boldsymbol X)}{\partial x_{12}} & \frac{\partial f(\boldsymbol X)}{\partial x_{22}} & \cdots & \frac{\partial f(\boldsymbol X)}{\partial x_{N2}} \\

      \vdots & \vdots & & \vdots \\

      \frac{\partial f(\boldsymbol X)}{\partial x_{1M}} & \frac{\partial f(\boldsymbol X)}{\partial x_{2M}} & \cdots & \frac{\partial f(\boldsymbol X)}{\partial x_{NM}} \\

      \end{bmatrix} \begin{bmatrix}

      {\rm d}x_{11} & {\rm d}x_{12} & \cdots & {\rm d}x_{1M} \\ {\rm d}x_{21} & {\rm d}x_{22} & \cdots & {\rm d}x_{2M} \\ \cdots & \vdots & & \vdots \\ {\rm d}x_{N1} & {\rm d}x_{N2} & \cdots & {\rm d}x_{NM} \\

      \end{bmatrix} \right) \\

      &= \sum_{m=1}^M \sum_{n=1}^N \frac{\partial f(\boldsymbol X)}{\partial x_{nm}} {\rm d} x_{nm}

      = {\rm d}f(\boldsymbol X)

      \end{align*} $$

    另,鉴于向量变元全微分中的内积结果也可以看作一个 $1\times1$ 的矩阵,这里也统一套上一个迹来表示(其好处在「D3」部分说明)。因而无论对矩阵还是向量 $\boldsymbol X$,都有 ${\rm d}f(\boldsymbol X) = {\rm tr} \left( \left(\frac{\partial f(\boldsymbol X)}{\partial \boldsymbol X} \right)^{\rm T} {\rm d} \boldsymbol X\right)$ 成立。

  2. 向量函数、矩阵函数的全微分

    函数的输出从一个标量转为多个标量构成的向量乃至矩阵,即函数 $\boldsymbol v(\cdot)$、$\boldsymbol F(\cdot)$,就是每一个项目处出一个全微分,称函数的变元为 $\boldsymbol X$(可以是向量或者矩阵,甚至标量),那么:

    $$ {\rm d} \boldsymbol v (\boldsymbol X) = [ {\rm d} v_1(\boldsymbol X), {\rm d} v_2(\boldsymbol X), \cdots, {\rm d} v_R(\boldsymbol X) ]^{\rm T} \\

    {\rm d} \boldsymbol F (\boldsymbol X) = \begin{bmatrix}

    {\rm d} f_{11}(\boldsymbol X) & {\rm d} f_{12}(\boldsymbol X) & \cdots & {\rm d} f_{1C}(\boldsymbol X) \\

    {\rm d} f_{21}(\boldsymbol X) & {\rm d} f_{22}(\boldsymbol X) & \cdots & {\rm d} f_{2C}(\boldsymbol X) \\

    \vdots & \vdots && \vdots \\

    {\rm d} f_{R1}(\boldsymbol X) & {\rm d} f_{R2}(\boldsymbol X) & \cdots & {\rm d} f_{RC}(\boldsymbol X) \\

    \end{bmatrix} $$

    下面只考虑以 $N$ 维行向量 $\boldsymbol x$ 为变元、输出 $M$ 维行向量 $\boldsymbol v$ 的函数 $\boldsymbol v(\boldsymbol x)$,它的分母布局导数矩阵如下,每一列是一个标量函数 $v_m(\boldsymbol x)$ 求导的结果(详见「C」部分)。

    $$ \frac{\partial \boldsymbol v^{\rm T}(\boldsymbol x)}{\partial \boldsymbol x} = \begin{bmatrix}

    \frac{\partial v_1(\boldsymbol x)}{\partial x_1} & \frac{\partial v_2(\boldsymbol x)}{\partial x_1} & \cdots & \frac{\partial v_M(\boldsymbol x)}{\partial x_1} \\

    \frac{\partial v_1(\boldsymbol x)}{\partial x_2} & \frac{\partial v_2(\boldsymbol x)}{\partial x_2} & \cdots & \frac{\partial v_M(\boldsymbol x)}{\partial x_2} \\

    \vdots & \vdots & & \vdots \\

    \frac{\partial v_1(\boldsymbol x)}{\partial x_N} & \frac{\partial v_2(\boldsymbol x)}{\partial x_N} & \cdots & \frac{\partial v_M(\boldsymbol x)}{\partial x_N} \\

    \end{bmatrix} $$

    称其 $(n, m)$ 位置的元素为 $\frac{\partial v_m^{\rm T}(\boldsymbol x)}{\partial x_n}$ 。

    其全微分 ${\rm d} \boldsymbol v(\boldsymbol x)$ 是一个与 $\boldsymbol v$ 同大小的行向量,其中第 $m$ 个位置是向量变元标量函数 $v_m(\boldsymbol x)$ 的全微分 ${\rm d} v_m(\boldsymbol x)$,可以展开如下:

    $$ \begin{align*}

    {\rm d} \boldsymbol v (\boldsymbol x) &= [ {\rm d} v_1(\boldsymbol x), {\rm d} v_2(\boldsymbol x), \cdots, {\rm d} v_M(\boldsymbol x) ]^{\rm T} \\

    &= \begin{bmatrix}

    \sum_{n=1}^N \frac{\partial v_1(\boldsymbol x)}{\partial x_n} {\rm d} x_n \\ \sum_{n=1}^N \frac{\partial v_2(\boldsymbol x)}{\partial x_n} {\rm d} x_n \\ \vdots \\ \sum_{n=1}^N \frac{\partial v_M(\boldsymbol x)}{\partial x_n} {\rm d} x_n \\

    \end{bmatrix} \\

    &= \begin{bmatrix}

    \frac{\partial v_1(\boldsymbol x)}{\partial x_1} & \frac{\partial v_1(\boldsymbol x)}{\partial x_2} & \cdots & \frac{\partial v_1(\boldsymbol x)}{\partial x_N} \\

    \frac{\partial v_2(\boldsymbol x)}{\partial x_1} & \frac{\partial v_2(\boldsymbol x)}{\partial x_2} & \cdots & \frac{\partial v_2(\boldsymbol x)}{\partial x_N} \\

    \vdots & \vdots && \vdots \\

    \frac{\partial v_M(\boldsymbol x)}{\partial x_1} & \frac{\partial v_M(\boldsymbol x)}{\partial x_2} & \cdots & \frac{\partial v_M(\boldsymbol x)}{\partial x_N}

    \end{bmatrix} \begin{bmatrix}

    {\rm d} x_1 \\ {\rm d} x_2 \\ \vdots \\ {\rm d} x_N \\

    \end{bmatrix} \\

    &= \left(\frac{\partial \boldsymbol v^{\rm T}(\boldsymbol x)}{\partial \boldsymbol x} \right)^{\rm T}\cdot {\rm d} \boldsymbol x

    \end{align*} $$

    故全微分 ${\rm d} \boldsymbol v (\boldsymbol x)$ 与导数矩阵 $\frac{\partial \boldsymbol v^{\rm T}(\boldsymbol x)}{\partial \boldsymbol x}$ 的关系为 ${\rm d} \boldsymbol v (\boldsymbol x) = \left(\frac{\partial \boldsymbol v^{\rm T}(\boldsymbol x)}{\partial \boldsymbol x} \right)^{\rm T}\cdot {\rm d} \boldsymbol x$。

D2 矩阵(向量)微元的性质

对于矩阵微元 ${\rm d}\boldsymbol X$(向量微元 ${\rm d}\boldsymbol x$ 同理),可以从标量微元 ${\rm d}x$ 拓展得到如下性质:

  1. 常量的微分 ${\rm d}\boldsymbol A=\boldsymbol O$。

  2. 线性法则 ${\rm d}(k_1 \boldsymbol U + k_2 \boldsymbol V) = k_1{\rm d}\boldsymbol U + k_2{\rm d}\boldsymbol V$。

  3. 乘法法则 ${\rm d}(\boldsymbol U\boldsymbol V) = {\rm d} \boldsymbol U \cdot \boldsymbol V + \boldsymbol U \cdot {\rm d}\boldsymbol V$(谨记矩阵乘法不能调换顺序)。

    {\rm d}(\boldsymbol U) \boldsymbol V \boldsymbol W +

    \boldsymbol U {\rm d}(\boldsymbol V) \boldsymbol W +

    \boldsymbol U \boldsymbol V {\rm d}(\boldsymbol W)$ 。

  4. 除法法则 ${\rm d}\left( \frac{\boldsymbol U}{\boldsymbol V} \right) = \frac {{\rm d} \boldsymbol U \cdot \boldsymbol V - \boldsymbol U \cdot {\rm d}\boldsymbol V} {\boldsymbol V^2}$(谨记矩阵乘法不能调换顺序)。

  5. 复合函数微分法则和链式法则

    如 $\boldsymbol Z = \boldsymbol F(\boldsymbol U), \ \ \boldsymbol U = \boldsymbol \Phi(\boldsymbol X, \boldsymbol Y)$,那么 ${\rm d} \boldsymbol Z$ 的展开为:

    $$ \begin{align*}

    {\rm d} \boldsymbol Z

    &= \frac{{\rm d} \boldsymbol Z}{{\rm d} \boldsymbol U} {\rm d} \boldsymbol U

    = \frac{{\rm d} \boldsymbol Z}{{\rm d} \boldsymbol U} \left(\frac{\partial \boldsymbol U}{\partial \boldsymbol X} {\rm d} \boldsymbol X + \frac{\partial \boldsymbol U}{\partial \boldsymbol Y} {\rm d} \boldsymbol Y \right) \\

    &=\frac{{\rm d} \boldsymbol F(\boldsymbol U)}{{\rm d} \boldsymbol U} \left( \frac{\partial \boldsymbol \Phi(\boldsymbol X, \boldsymbol Y)}{\partial \boldsymbol X} {\rm d} \boldsymbol X + \frac{\partial \boldsymbol \Phi(\boldsymbol X, \boldsymbol Y)}{\partial \boldsymbol Y} {\rm d} \boldsymbol Y \right)

    \end{align*} $$

  6. 转置:$({\rm d} \boldsymbol X)^{\rm T} = {\rm d} (\boldsymbol X^{\rm T})$。

如果要是一般的数学运算,到这就能结束了。但是因为矩阵乘法有个要命的问题——没有交换律,让运算还不能止步于此。

比如,你想用上述规律来证明 $\frac{\partial (\boldsymbol x ^{\rm T}\boldsymbol A \boldsymbol x)}{\partial \boldsymbol x} =(\boldsymbol A + \boldsymbol A^{\rm T}) \boldsymbol x$(「A3」部分的结论),展开全微分就会发现:

$$ \begin{align*}

{\rm d}(\boldsymbol x ^{\rm T}\boldsymbol A \boldsymbol x)

&= {\rm d}(\boldsymbol x^{\rm T})\boldsymbol A \boldsymbol x

&= {\rm d}(\boldsymbol x^{\rm T})\boldsymbol A \boldsymbol x

\end{align*} $$

同时出现了 ${\rm d}(\boldsymbol x^{\rm T})$ 和 ${\rm d}(\boldsymbol x)$,一个在左边、一个在右边,压根没法合并,因为没有乘法交换律!

因此,我们需要借助「迹」的性质进行运算。

D3 方阵的迹的定义和性质

对于 $N$ 阶方阵 $\boldsymbol A$,其迹定义为 ${\rm tr} \ \boldsymbol A = \sum_{i=1}^{N}a_{ii}$。据此引出性质:

  1. 标量可看作 $1\times 1$ 矩阵,有 $a = {\rm tr} \ a$。
  2. 线性性质:${\rm tr} (k_1 \boldsymbol U + k_2 \boldsymbol V) = k_1 \ {\rm tr} \ \boldsymbol U + k_2 \ {\rm tr} \ \boldsymbol V$。
  3. 转置不变性:${\rm tr} (\boldsymbol A) = {\rm tr} (\boldsymbol A^{\rm T})$。

另,先前已经证明过,两个相同大小的矩阵(或向量)对应位置相乘求和的结果(可以视作一种数量积,与向量的数量积统一记为 $\langle \boldsymbol A, \boldsymbol B \rangle$),可以用二者相乘(其中一者需转置)后取迹的形式表示。

根据下表可以发现,何者取转置并不重要,又因 $\langle \boldsymbol A, \boldsymbol B \rangle=\langle \boldsymbol B, \boldsymbol A \rangle$ 也可以知道甚至二者交换也没问题。

$$ {\rm tr}(\boldsymbol \alpha^{\rm T} \boldsymbol \beta) = {\rm tr}(\boldsymbol \alpha \boldsymbol \beta^{\rm T}) = \sum_{n=1}^N \alpha_{n} \beta_{n} = \langle \boldsymbol \alpha, \boldsymbol \beta \rangle\\

{\rm tr}(\boldsymbol A^{\rm T} \boldsymbol B) = {\rm tr}(\boldsymbol A \boldsymbol B^{\rm T}) = \sum_{n=1}^N \sum_{m=1}^M a_{nm} b_{nm} = \langle \boldsymbol A, \boldsymbol B \rangle $$

Untitled

据此能引出在迹下矩阵乘法的交换律(性质 4),前提是 $\boldsymbol U^{\rm T}$ 与 $\boldsymbol V$ 大小相同: