矩阵微积分(一):标量对矩阵求导

阵微积分是多元函数微积分在矩阵空间中进行表达时采用的一种简化形式,常用于机器学习中,可通过将多个变量记为向量或矩阵的形式来简化运算。但目前矩阵微积分的相关概念定义尚未统一,运算方式亦繁乱无绪;若按许多人之习惯做法,显式依照定义进行计算,则又因为对向量/矩阵进行逐元素运算而破坏整体性,计算难度颇高,多须借助查表方能完成运算。本文通过引入矩阵微分算子的方式重新维护了整体性,大幅降低了运算难度,同时亦使得其定义更契合已有的标量微积分运算。

本文是矩阵求导术(上)的笔记,对全文缺漏处进行了部分完善,同时在证明与例题处亦重新进行了推导,十分感谢作者长躯鬼侠

符号约定

在引入矩阵微积分进行计算的公式中,往往混杂标量、向量、矩阵,若按传统习惯使用同一风格字体进行表述,公式复杂时难以进行分辨;为简化辨认,约定如下符号使用规范:

  • 用拉丁字母表示的数学常量($\mathrm{e}, \mathrm{i}$, e.g.)、函数/算子名称($\dfrac{\mathrm{d}f}{\mathrm{d}x},\sin{x}$ , e.g.)、其他相关记号($\textrm{argmin}$, e.g.),用 Roman 正体表示。
  • 用拉丁字母表示的标量($x,y,z$, e.g.)、用希腊字母表示的数学常量或标量($\pi, \alpha$, e.g.),用 Italic 斜体表示。
  • 向量($\mathbf{x}, \mathbf{y},{\boldsymbol \pi},{\boldsymbol \alpha}$, e.g.),用小写 Bold 粗体表示。
  • 矩阵($\mathbf{A}, \mathbf{B}, {\bf \Pi, \Sigma}$, e.g.),用大写 Bold 粗体表示。
  • 域($\mathfrak{R,C}$, e.g.),用 Fraktur 哥特体表示。
  • 若非特殊注明,计算过程均采用分子记法,文中所有函数均属于 $C^{1}$ 。

定义

标量 $f: \mathfrak{R}^{n} \rightarrow \mathfrak{R}$对向量 $\mathbf{x} \in \mathfrak{R}^{n}$求导,所得结果为$f$ 对$\bf x$ 各分量分别求导构成的向量,记为 $$ \frac{\partial f}{\partial \mathbf{x}}= \begin{bmatrix} \frac{\partial f}{\partial x_1} & \frac{\partial f}{\partial x_2} & \frac{\partial f}{\partial x_3} & \cdots & \frac{\partial f}{\partial x_n} \end{bmatrix}^{\top} = \nabla_{\mathbf{x}}f $$ 其中 $\nabla$是 Nabla 算子,表示 $f$ 对$\mathbf{x}$ 的梯度。

标量 $g: \mathfrak{R}^{n \times m} \rightarrow \mathfrak{R}$对矩阵 $\mathbf{X} \in \mathfrak{R}^{n \times m}$求导,所得结果为$g$ 对$\bf X$ 各元素分别求导构成的矩阵,记为 $$ \frac{\partial g}{\partial \mathbf{X}}=[\frac{\partial g}{\partial X_{ij}}]{n \times m} $$ 我们已知,$f$对$\mathbf{x}$ 的全微分为 $$ \mathrm{d}f = \sum\limits{i=1}^{n}\frac{\partial f}{\partial x_{i}}\mathrm{d}x_{i}=\frac{\partial f}{\partial \mathbf{x}}^{\top}\mathrm{d}\mathbf{x} $$ 其中 $$ \mathrm{d} \mathbf{x} = \begin{bmatrix} \mathrm{d}x_{1} & \mathrm{d}x_{2} & \cdots & \mathrm{d}x_{n} \end{bmatrix}^{\top} $$ 相似的,我们可定义 $g$对$\mathbf{X}$ 的微分为 $$ \mathrm{d}g=\mathrm{tr}(\frac{\partial g}{\partial \mathbf{X}}^{\top}\mathrm{d}\mathbf{X}) $$ 其中 $\mathrm{tr}$ 表示矩阵的迹,且 $$ \mathrm{d}\mathbf{X} = [\mathrm{d}X_{ij}]_{n \times m} $$ 此时,微分算子 $\mathrm{d}$ 的运算对象是一个矩阵;我们称此时进行的运算为矩阵微分

矩阵微分的运算法则

  • 线性、矩阵乘法、转置、迹、常量的微分

    1. $\mathrm{d}(\mathbf{X \pm Y})=\mathrm{d}{\mathbf{X}} \pm \mathrm{d}\mathbf{Y}$ ,${\rm d}(r{\bf X}) = r{\rm d}{\bf X},;r \in {\frak R}$ 。

    2. $\mathrm{d}(\mathbf{XY})=(\mathrm{d}\mathbf{X})\mathbf{Y}+\mathbf{X}\mathrm{d}\mathbf{Y}$ 。

    3. $\mathrm{d}(\mathbf{X}^{\top}) = (\mathrm{d}\mathbf{X})^{\top}$ 。

    4. $\mathrm{d}(\mathrm{tr}(\mathbf{X})) = \mathrm{tr}(\mathrm{d}\mathbf{X})$ 。

    5. ${\rm d}({\bf A})={\bf 0}$ ,${\bf A}$ 是常量。

      推论:${\rm d}({\bf AXB})={\bf A}({\rm d}{\bf X}){\bf B}$ ,$\bf A,B$ 是常量。

    证明略。

  • 矩阵的逆 $$ \mathrm{d}\mathbf{X}^{-1}=-\mathbf{X}^{-1}(\mathrm{d}\mathbf{X})\mathbf{X}^{-1} $$ 证:由 $\mathbf{X}\mathbf{X}^{-1}=\mathbf{I}$ 两侧取微分即得。

  • Jacobi’s Formula $$ \mathrm{d}|\mathbf{X}|=\mathrm{tr}(\mathbf{X}^{}\mathrm{d}\mathbf{X}) $$ 其中 $\mathbf{X}^{}$指 $\mathbf{X}$ 的伴随矩阵(而非$\mathbf{X}$ 的复共轭)。

    特别地,当 $\mathbf{X}$ 可逆时,有 $$ \mathrm{d}|\mathbf{X}|=|\mathbf{X}|\mathrm{tr}(\mathbf{X}^{-1}\mathrm{d}\mathbf{X}) $$ 证:

    ${\bf L{\scriptsize EMMA}}.$对 $\mathbf{A,B} \in \mathfrak{R}^{n \times n}$,有$\mathrm{tr}(\mathbf{A^{\top}B})=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\mathbf{A}{ij}\mathbf{B}{ij}$。

    ${\bf P{\scriptsize ROOF}}.$由矩阵乘法,$(\mathbf{AB}){jk} = \sum\limits{i=1}^{n}\mathbf{A}{ji}\mathbf{B}{ik}$,故有$(\mathbf{A^{\top}B}){jk}=\sum\limits{i=1}^{n}\mathbf{A}{ij}\mathbf{B}{ik}$。

    因此,$\mathrm{tr}(\mathbf{A^{\top}B}) = \sum\limits_{i=1}^{n}(\mathbf{A^{\top}B}){ii} = \sum\limits{i=1}^{n}\sum\limits_{j=1}^{n}\mathbf{A}{ij}\mathbf{B}{ij}$ 。证毕。

    ${\bf J{\scriptsize ACOBI’S};F{\scriptsize ORMULA}}.$对 ${\bf X} \in {\frak R}^{n \times n}$,有${\rm d}|{\bf X}|= {\rm tr}({\bf X^{*}}{\rm d}{\bf X})$。

    ${\bf P{\scriptsize ROOF}}.$对 $\bf X$ 的第$i$ 行做 Laplace 展开,有 $$ |{\bf X}|=\sum\limits_{j=1}^{n}({\bf X^{}})^{\top}{ij}X{ij};,;\forall i\in{1,2, : \cdots :, n} $$ 又,矩阵的行列式运算可视作 ${\rm det}: {\frak R}^{n^2} \rightarrow {\frak R}$,因此可使用向量的全微分公式 $$ {\rm d|{\bf X|}}=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\frac{\partial {\bf |X|}}{\partial X_{ij}}{\rm d}{X_{ij}} $$ 现在,需要求出 $\dfrac{\partial {\bf |X|}}{\partial X_{ij}}$。考虑 ${\bf |X|}$的 Laplace 展开式中 $i$ 可任取${1,2,:\cdots:.n}$ 中的任一数值,不妨假定其与$X_{ij}$ 保持一致。因此, $$ \begin{aligned} \frac{\partial {\bf |X|}}{\partial X_{ij}}&= \frac{\partial\sum\limits_{k=1}^{n}({\bf X^{}})^{\top}{ik}X{ik}}{\partial X_{ij}}\ &=\sum\limits_{k=1}^{n}\frac{\partial ({\bf X^{}})^{\top}{ik}X{ik}}{\partial X_{ij}}\ &=\sum\limits_{k=1}^{n}\frac{\partial({\bf X^{}})^{\top}{ik}}{\partial X{ij}}X_{ik}+\sum\limits_{k=1}^{n}\frac{\partial X_{ik}}{\partial X_{ij}}({\bf X^{}})^{\top}_{ik} \end{aligned} $$ 考虑代数余子式的构造方式,可得知 $({\bf X^})^{\top}{ik}$并非$X{ij}$ 的函数。因此, $$ \sum\limits_{k=1}^{n}\frac{\partial ({\bf X^})^{\top}{ik}}{\partial X{ij}}X_{ik}=0 $$ 类似地,由矩阵元素相互之间的独立性,可得知 $X_{ik};(k \neq j)$并非$X_{ij}$ 的函数。因此, $$ \sum\limits_{k=1}^{n}\frac{\partial X_{ik}}{\partial X_{ij}}({\bf X^})^{\top}{ik}=\frac{\partial X{ij}}{\partial X_{ij}}({\bf X^})^{\top}_{ij}=({\bf X^})^{\top}{ij} $$ 因此, $$ \frac{\partial {\bf |X|}}{\partial X{ij}}=({\bf X^})^{\top}{ij} $$ 故有 $$ {\rm d}{\bf |X|}=\sum{i=1}^{n}\sum_{j=1}^{n}({\bf X^})^{\top}{ij}{\rm d}X{ij} $$ 由前证引理,有 $$ {\rm d}{\bf |X|}={\rm tr}({\bf X^*}{\rm d}{\bf X}) $$ 证毕。

  • 矩阵的 Hadamard 积

    定义矩阵 ${\bf A} \in {\frak R}^{n \times m}$与 ${\bf B} \in {\frak R}^{n \times m}$的 Hadamard 积为$[A_{ij}B_{ij}]_{n \times m}$,记作${\bf A}\odot {\bf B}$ ,则有结论 $$ {\rm d}({ {\bf A \odot B})}={\rm d}{\bf A \odot B}+{\bf A}\odot{\rm d}{\bf B} $$ 证明略。

  • 逐元素标量函数

    我们规定:若有一个函数 $f:{\frak R \rightarrow R}$和矩阵 ${\bf A} \in {\frak R}^{n \times m}$,则定义记号 $f({\bf A}) = [f(A_{ij})]{n \times m}$ 及$f^{:’}({\bf A})=[f^{:’}(A{ij})]_{n \times m}$ 。 则有结论 $$ {\rm d}f({\bf A})=f^{:’}({\bf A})\odot{\rm d}{\bf A} $$ 证明略。

  • 全微分法则

    设 ${\bf A}_1 \in {\frak R}^{m_1 \times n_1},{\bf A}_2 \in {\frak R}^{m_2 \times n_2},\cdots,{\bf A}_p \in {\frak R}^{m_p \times n_p}$,考虑 $\exists f \in {\frak R}$ 且$f = \sigma({\bf A}_1,{\bf A}_2,\cdots,{\bf A}p)$ ,则有 $$ {\rm d}f=\sum{i=1}^{p}{\rm tr}(\frac{\partial f}{\partial {\bf A}_i}^\top{\rm d}{\bf A}_i) $$ 证明略。

标量对矩阵求导

求导法则与迹技巧

设 $f:{\frak R^{\it n \times m} \rightarrow R}$, ${\bf A} \in {\frak R}^{n \times m}$;考虑从矩阵微分的定义式 ${\rm d}f={\rm tr}(\dfrac{\partial f}{\partial {\bf A}}^{\top}{\rm d}{\bf A})$无法获得$\dfrac{\partial f}{\partial {\bf A}}$ 的显式解,在左侧的${\rm d}f$ 已知的情况下,必须将其写为右侧的形式方可求得导数$\dfrac{\partial f}{\partial {\bf A}}$ 。为此,我们引入矩阵的迹运算的一些性质,称作迹技巧

  • 标量套上迹:$a = {\rm tr}(a),;a \in {\frak R}$ 。

  • 转置:${\rm tr}({\bf A^{\top}})={\rm tr}({\bf A})$ 。

  • 线性:${\rm tr}({\bf A \pm B})={\rm tr}({\bf A}) \pm {\rm tr}({\bf B}),;{\rm tr}(r{\bf A})=r{\rm tr}({\bf A}),;r\in {\frak R}$ 。

  • 矩阵乘法:

    1. 设 ${\bf A,B^{\top}} \in {\frak R^{\it n \times m}}$,则${\rm tr}({\bf AB}) = {\rm tr}({\bf BA}) = \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}A_{ij}B_{ji}$ 。

    2. 设 ${\bf A_1,A_2,\cdots,A_n} \in {\frak R}^{n \times n}$ ,则 $$ \begin{aligned} {\rm tr}({\bf A_1 A_2 A_3 \cdots A_n}) &= {\rm tr}({\bf A_2 A_3 \cdots A_n A_1}) \ &= {\rm tr}({\bf A_3 A_4 \cdots A_n A_1 A_2}) \ &= \cdots \ &= {\rm tr}({\bf A_{n-1}A_n A_1 \cdots A_{n-2}}) \ &= {\rm tr}({\bf A_n A_1 \cdots A_{n-2}A_{n-1}}) \end{aligned} $$

这称为循环不变性。更一般地,对 $\bf A_1 , A_2, \cdots A_n$ 不全为方阵的情况,在所有可能出现的循环乘积中,凡是存在的循环乘积其迹都相同。

当且仅当 ${\bf A_1 A_2 \cdots A_n} \in {\frak R}^{n \times n}$且均为对称矩阵时,这些矩阵以所有可能的$n!$ 个顺序排列构成的乘积的迹均相同。

  • 矩阵乘法与 Hadamard 积交换

    设 ${\bf A,B,C} \in {\frak R}^{n \times m}$ ,则 $$ {\rm tr}({\bf A}^{\top}({\bf B \odot C})) = {\rm tr}(({\bf A \odot B})^\top {\bf C})=\sum\limits_{i=1}^n \sum\limits_{j=1}^m A_{ij}B_{ij}C_{ij} $$

由此可以得出结论:已知 $f:{\frak R^{\it n \times m} \rightarrow R}$, ${\bf A} \in {\frak R}^{n \times m}$时,若 $f$是由矩阵加减乘法、逆、行列式、逐元素函数等运算构成,则可运用矩阵微分的运算法则在有限次内得到 ${\rm d}f$,由于${\rm d}f$ 是标量,故可直接套上迹运算符后,将${\rm tr}({\rm d}f)$ 内除${\rm d}\bf A$ 外其他项交换至其左侧,写成${\rm tr}(\dfrac{\partial f}{\partial \bf A}^\top {\rm d}{\bf A})$ 的形式,即可获得导数。

复合函数求导法则

设 $f:{\frak R^{\it n \times m} \rightarrow R}$,$\sigma : {\frak R^{\it p \times q} \rightarrow R^{\it n \times m}}$,${\bf X} \in {\frak R}^{p \times q}$,${\bf Y} \in {\frak R}^{n \times m}$,且${\bf Y} = \sigma({\bf X})$ ,在已知$\dfrac {\partial f}{\partial {\bf Y}}$ 的情况下,如何求$\dfrac{\partial f}{\partial {\bf X}}$ ?

显然,此处链式法则 $\dfrac{\partial f}{\partial {\bf X}}=\dfrac{\partial f}{\partial {\bf Y}}\dfrac{\partial {\bf Y}}{\partial {\bf X}}$不成立,因为此处 $\dfrac{\partial {\bf Y}}{\partial {\bf X}}$是未定义的。因此,考虑矩阵微分定义式 ${\rm d} f={\rm tr}(\dfrac{\partial f}{\partial {\bf Y}}^\top {\rm d}{\bf Y})$,可将 ${\bf Y}=\sigma({\bf X})$ 代入${\rm d}\bf Y$ 后将原式写作${\rm d}f={\rm tr}(g(\dfrac{\partial f}{\partial \bf Y},\bf X)^\top {\rm d}{\bf X})$ 的形式,此时即有$\dfrac{\partial f}{\partial \bf X}=g({\dfrac{\partial f}{\partial \bf Y}, \bf X})$ 。

${\bf E{\scriptsize XAMPLE}}.$设 ${\bf A} \in {\frak R}^{n \times p},;{\bf B} \in {\frak R}^{q \times m}$且 $\bf Y=AXB$ ,已知$\dfrac{\partial f}{\partial \bf Y}$ ,求$\dfrac{\partial f}{\partial \bf X}$ 。

${\bf S{\scriptsize OLUTION}}.$
$$ \begin{aligned} {\rm d}f &= {\rm tr}({\frac{\partial f}{\partial \bf Y}}^\top {\rm d}{\bf Y}) \ &= {\rm tr}({\frac{\partial f}{\partial \bf Y}}^\top{\rm d}({\bf AXB})) \ &= {\rm tr}({\frac{\partial f}{\partial \bf Y}}^\top{\bf A}({\rm d}{\bf X}){\bf B}) \ &= {\rm tr}({\bf B}{\frac{\partial f}{\partial \bf Y}}^\top{\bf A}{\rm d}{\bf X}) \ &= {\rm tr}(({ {\bf A}^\top {\frac{\partial f}{\partial \bf Y}} {\bf B}^\top})^\top {\rm d}{\bf X}) \end{aligned} $$

一些例子

${\bf E{\scriptsize XAMPLE};1}.$

设 ${\bf a} \in {\frak R}^{m},;{\bf b}\in{\frak R}^{n},;{\bf X}\in{\frak R}^{n \times m}, ; f \in \frak R$,且已知 $f = {\bf a^\top Xb}$ ,求$\dfrac{\partial f}{\partial X}$。

${\bf S{\scriptsize OLUTION}}.$ 易得 $$ {\rm d}f = {\rm d}({\bf a^\top Xb}) = {\bf a^\top}({\rm d}{\bf X}){\bf b} $$ 又 $$ {\rm d}f={\rm tr}({\rm d}f) $$ 故 $$ \begin{aligned} {\rm d}f &= {\rm tr}({\bf a^\top}({\rm d}{\bf X}){\bf b}) \ &= {\rm tr}({\bf ba^\top}{\rm d}{\bf X}) \ &= {\rm tr}(({\bf ab^\top})^\top {\rm d}{\bf X}) \end{aligned} $$ 因此 $$ \frac{\partial f}{\partial \bf X}={\bf ab^\top} $$ ${\bf N{\scriptsize OTE}}.$不能直接$\dfrac{\partial ({\bf a^\top Xb})}{\partial \bf X}={\bf a^\top}\dfrac{\partial \bf X}{\partial \bf X}{\bf b}$ 。这是不合法的,且我们并未定义标量对矩阵导数的运算法则。

${\bf E{\scriptsize XAMPLE};2}.$

设 ${\rm exp}(x)={\rm e}^x,; {\bf a} \in {\frak R}^m,; {\bf b} \in {\frak R}^n, ; {\bf X} \in {\frak R}^{n \times m}, f \in {\frak R}$,且已知 $f={\bf a^\top}{\rm exp}({\bf Xb})$ ,求$\dfrac{\partial f}{\partial \bf X}$ .

${\bf S{\scriptsize OLUTION}}.$ 易得 $$ \begin{aligned} {\rm d}f &= {\rm d}({\bf a^\top}{\rm exp}({\bf Xb})) = {\bf a^\top}{\rm d}({\rm exp}({\bf Xb})) \ &= {\bf a^\top}({\rm exp}({\bf Xb}) \odot {\rm d}({\bf Xb})) \ &= {\bf a^\top}({\rm exp}({\bf Xb}) \odot ({\rm d}{\bf X}){\bf b}) \ &= {\rm tr}({\bf a^\top}({\rm exp}({\bf Xb}) \odot ({\rm d}{\bf X}){\bf b})) \ &= {\rm tr}(({\bf a} \odot ({\rm exp}({\bf Xb}))^\top ({\rm d}{\bf X}){\bf b})) \ &= {\rm tr}({\bf b}({\bf a} \odot ({\rm exp}({\bf Xb}))^\top {\rm d}{\bf X})) \ &= {\rm tr}(({\bf a} \odot {\rm exp}({\bf Xb})){\bf b}^\top)^\top {\rm d}{\bf X}) \ \end{aligned} $$ 因此 $$ \frac{\partial f}{\partial \bf X}=({\bf a} \odot {\rm exp}({\bf Xb})){\bf b}^\top $$

${\bf E{\scriptsize XAMPLE};3}.$

设 ${\bf W} \in {\frak R}^{l \times m},;{\bf X}\in{\frak R}^{m \times n},;{\bf Y}\in{\frak R}^{l \times n},$对称矩阵 ${\bf M} \in {\frak R}^{l \times l},;\sigma:{\frak R \rightarrow R},;f \in {\frak R}$,且已知$f={\rm tr}({ {\bf Y^\top MY}}),;{\bf Y}=\sigma({\bf WX})$ ,求$\dfrac{\partial f}{\partial \bf X}$ 。

${\bf S{\scriptsize OLUTION}}.$ 易得 $$ \begin{aligned} {\rm d}f &= {\rm d}({\rm tr}({\bf Y^\top MY})) = {\rm tr}({\rm d}({\bf Y^\top MY})) \ &= {\rm tr}(({\rm d}{\bf Y^\top}){\bf MY}+{\bf Y^\top}{\rm d}({\bf MY})) \ &= {\rm tr}(({\rm d}{\bf Y})^\top{\bf MY}+{\bf Y^\top M}{\rm d}{\bf Y}) \ &= {\rm tr}(({\rm d}{\bf Y})^\top{\bf MY})+{\rm tr}({\bf Y^\top M}{\rm d}{\bf Y}) \ \end{aligned} $$ 此时考虑迹的转置不变性,有 $$ {\rm tr}(({\rm d}{\bf Y})^\top{\bf MY})={\rm tr}({\bf Y^\top M^\top}{\rm d}{\bf Y}) $$ 因此 $$ {\rm d}f={\rm tr}({\bf Y^\top}({\bf M+M^\top}){\rm d}{\bf Y})={\rm tr}(({\bf 2M} {\bf Y})^\top {\rm d}{\bf Y}) $$ 将 ${\bf Y}=\sigma({\bf WX})$ 代入得 $$ \begin{aligned} {\rm d}f &= {\rm tr}(({\bf 2M}\sigma({\bf WX}))^\top{\rm d}\sigma({\bf WX})) \ &= {\rm tr}(({\bf 2M}\sigma({\bf WX}))^\top(\sigma^{;’}({\bf WX}) \odot ({\bf W}{\rm d}{\bf X}))) \ &= {\rm tr}(({\bf 2M}\sigma({\bf WX}) \odot\sigma^{;’}({\bf WX})^\top ({\bf W}{\rm d}{\bf X}))) \ &= {\rm tr}(({\bf W^\top}({\bf 2M}\sigma({\bf WX}) \odot\sigma^{;’}({\bf WX})))^\top {\rm d}{\bf X}) \ \end{aligned} $$ 因此 $$ \frac{\partial f}{\partial \bf X} = {\bf W^\top}({\bf 2M}\sigma({\bf WX}) \odot\sigma^{;’}({\bf WX})) $$

${\bf E{\scriptsize XAMPLE};4}.;;{\bf L{\scriptsize INEAR} ;R{\scriptsize EGRESSION}}.$

设 ${\bf Y}\in{\frak R}^m,;{\bf w}\in{\frak R}^n,;{\bf X}\in{\frak R}^{m \times n}$,求${\rm arg}\min\limits_{\bf w}||{\bf Xw-y}||^2_2$ 。

${\bf S{\scriptsize OLUTION}}.$记 ${\bf l}=||{\bf Xw-y}||^2_2$ ,此时只需令$\nabla _{\bf w}l=\dfrac{\partial l}{\partial \bf w}={\bf 0}$ 。又易得 $$ \begin{aligned} {\rm d}l &= {\rm d}(({\bf Xw-y})^\top ({\bf Xw-y})) \ &= ({\rm d}({\bf Xw-y})^\top)({\bf Xw-y})+({\bf Xw-y})^\top{\rm d}({\bf Xw-y}) \ &= ({\rm d}{\bf w})^\top {\bf X}^\top({\bf Xw-y})+({\bf Xw-y})^\top{\bf X}{\rm d}{\bf w} \ &= {\rm tr}(({\rm d}{\bf w})^\top {\bf X}^\top({\bf Xw-y}))+{\rm tr}(({\bf Xw-y})^\top{\bf X}{\rm d}{\bf w}) \ &= {\rm tr}(2({\bf Xw-y})^\top{\bf X}{\rm d}{\bf w}) \ &= {\rm tr}((2{\bf X}^\top({\bf Xw-y}))^\top{\rm d}{\bf w}) \end{aligned} $$ 因此 $$ \frac{\partial l}{\partial \bf w}=2{\bf X^\top(Xw-y)}={\bf 0} $$ 解得 $$ {\bf w}=({\bf X^\top X})^{-1}{\bf X^\top y} $$

${\bf E{\scriptsize XAMPLE}; 5}.$${\bf M{\scriptsize AXIMUM};L{\scriptsize IKELIHOOD};E{\scriptsize STIMATION};O{\scriptsize F};V{\scriptsize ARIANCE}}.$

设 ${\bf x}_1,;{\bf x}_2,;\cdots{\bf x}N;\sim;\mathcal{N}({\boldsymbol \mu},;{\bf \Sigma})$,求${\bf \Sigma}$ 的最大似然估计,即,对函数 $$ l={\rm ln}|{\bf \Sigma}|+\frac{1}{N}\sum{i=1}^N ({\bf x}_i-{\bf \bar x})^\top {\bf \Sigma}^{-1} ({\bf x}_i-{\bf \bar x}) $$ 求 ${\bf \Sigma}$使得$\dfrac{\partial l}{\partial {\bf \Sigma}}={\bf 0}$ 。

其中,${\bf x}_1,;{\bf x}_2,;\cdots,;{\bf x}N \in {\frak R}^m$,${\bf \bar x}=\dfrac{1}{N}\sum\limits{i=1}^N {\bf x}_i$ ,${\bf \Sigma} \in {\frak R}^{m \times m}$ 且是对称正定矩阵,$l \in \frak R$ ,$\rm ln$ 表示自然对数。

${\bf S{\scriptsize OLUTION}}.$ 易得 $$ {\rm d}l={\rm d}{\rm ln}|{\bf \Sigma}|+\frac{1}{N}\sum_{i=1}^{N}{\rm d}(({\bf x}_i-{\bf \bar x})^\top {\bf \Sigma}^{-1} ({\bf x}i-{\bf \bar x})) $$ 又 $$ \begin{aligned} {\rm dln}|{\bf \Sigma}| &= |{\bf \Sigma}|^{-1}{\rm d}|{\bf \Sigma}| \ &= |{\bf \Sigma}|^{-1}|{\bf \Sigma}|{\rm tr}({\bf \Sigma}^{-1} {\rm d}{\bf \Sigma}) \ &= {\rm tr}({\bf \Sigma}^{-1} {\rm d}{\bf \Sigma}) \end{aligned} $$ 且 $$ \begin{aligned} \frac{1}{N}\sum{i=1}^{N}{\rm d}(({\bf x}_i-{\bf \bar x})^\top {\bf \Sigma}^{-1} ({\bf x}i-{\bf \bar x})) &= \frac{1}{N}\sum{i=1}^{N}({\bf x}_i-{\bf \bar x})^\top({\rm d}{\bf \Sigma}^{-1})({\bf x}i-{\bf \bar x}) \ &= -\frac{1}{N}\sum{i=1}^{N}({\bf x}_i-{\bf \bar x})^\top{\bf \Sigma}^{-1}({\rm d}{\bf \Sigma}){\bf \Sigma}^{-1}({\bf x}i-{\bf \bar x}) \end{aligned} $$ 因此 $$ \begin{aligned} {\rm d}l &= {\rm tr}({\bf \Sigma}^{-1} {\rm d}{\bf \Sigma})-\frac{1}{N}\sum{i=1}^{N}({\bf x}_i-{\bf \bar x})^\top{\bf \Sigma}^{-1}({\rm d}{\bf \Sigma}){\bf \Sigma}^{-1}({\bf x}i-{\bf \bar x}) \ &= {\rm tr}({\bf \Sigma}^{-1} {\rm d}{\bf \Sigma})-\frac{1}{N}\sum{i=1}^{N}{\rm tr}(({\bf x}_i-{\bf \bar x})^\top{\bf \Sigma}^{-1}({\rm d}{\bf \Sigma}){\bf \Sigma}^{-1}({\bf x}i-{\bf \bar x})) \ &= {\rm tr}({\bf \Sigma}^{-1} {\rm d}{\bf \Sigma})-\frac{1}{N}\sum{i=1}^{N}{\rm tr}({\bf \Sigma}^{-1}({\bf x}_i-{\bf \bar x})({\bf x}i-{\bf \bar x})^\top{\bf \Sigma}^{-1}{\rm d}{\bf \Sigma}) \ &= {\rm tr}(({\bf \Sigma}^{-1}-{\bf \Sigma}^{-1}\left(\sum{i=1}^N ({\bf x}_i-{\bf \bar x})({\bf x}i-{\bf \bar x})^\top\right){\bf \Sigma}^{-1}){\rm d}{\bf \Sigma}) \end{aligned} $$ 故 $$ \frac{\partial l}{\partial \bf \Sigma}=({\bf \Sigma}^{-1}-{\bf \Sigma}^{-1}\left(\sum{i=1}^N ({\bf x}_i-{\bf \bar x})({\bf x}i-{\bf \bar x})^\top\right){\bf \Sigma}^{-1})^\top $$ 令 $\dfrac{\partial l}{\partial \bf \Sigma}={\bf 0}$ ,得 $$ \begin{aligned} {\bf \Sigma}^{-1}-{\bf \Sigma}^{-1}\left(\sum{i=1}^N ({\bf x}_i-{\bf \bar x})({\bf x}i-{\bf \bar x})^\top\right){\bf \Sigma}^{-1} &= {\bf 0} \ {\bf \Sigma}^{-1}\left(\sum{i=1}^N ({\bf x}_i-{\bf \bar x})({\bf x}i-{\bf \bar x})^\top\right){\bf \Sigma}^{-1} &= {\bf \Sigma}^{-1} \ \left(\sum{i=1}^N ({\bf x}_i-{\bf \bar x})({\bf x}i-{\bf \bar x})^\top\right){\bf \Sigma}^{-1} &= {\bf I} \ {\bf \Sigma} &= \sum{i=1}^N ({\bf x}_i-{\bf \bar x})({\bf x}i-{\bf \bar x})^\top \end{aligned} $$ 故 $\bf \Sigma$ 的最大似然估计为 $$ {\bf \Sigma}=\sum{i=1}^N ({\bf x}_i-{\bf \bar x})({\bf x}_i-{\bf \bar x})^\top $$

${\bf E{\scriptsize XAMPLE};6}.$${\bf M{\scriptsize ULTINOMIAL};L{\scriptsize OGISTIC};R{\scriptsize EGRESSION}}.$

定义 $\rm Softmax$函数 $\mathcal{S} : {\frak R}^m \rightarrow {\frak R}$且 $\mathcal{S} ({\bf x})=\dfrac{ {\rm exp}({\bf x})}{ {\bf 1}^\top {\rm exp}({\bf x})}$ ,其中${\bf 1}$ 指全$1$ 向量。

设 ${\bf y} \in {\frak R}^m$除一个元素为 $1$,其他元素均为 $0$ ;${\bf x} \in {\frak R}^n$ ,${\bf W} \in {\frak R}^{m \times n}$ ,$l \in {\frak R}$。已知$l=-{\bf y}^\top \ln\mathcal{S}({\bf Wx})$ ,求$\dfrac{\partial l}{\partial \bf W}$ 。

${\bf S{\scriptsize OLUTION}}.$先对$l$ 做化简,易得 $$ \begin{aligned} l &= -{\bf y}^\top \ln\mathcal{S}({\bf Wx}) \ &=-{\bf y}^\top\ln\frac{\exp({\bf Wx})}{ {\bf 1}^\top\exp({\bf Wx})} \ &= -{\bf y}^\top(\ln \exp({\bf Wx})-{\bf 1}\ln ({\bf 1}^\top\exp({\bf Wx})) \ &= -{\bf y^\top Wx}+\ln({\bf 1}^\top \exp({\bf Wx})) \end{aligned} $$

${\bf N{\scriptsize OTE};1}.$注意 ${\bf 1}^\top \exp({\bf Wx}) \in {\frak R}$,而$\ln\exp({\bf Wx}) \in {\frak R}^m$ ,因此要用${\bf 1}$ 补全成向量。

${\bf N{\scriptsize OTE};2}.$${\bf y}^\top{\bf 1}=1$ 。

因此 $$ \begin{aligned} {\rm d}l &= {\rm d}(-{\bf y^\top Wx}+\ln({\bf 1}^\top \exp({\bf Wx}))) \ &= -{\bf y}^\top({\rm d}{\bf W}){\bf x},+,{\rm d}\ln({\bf 1}^\top\exp({\bf Wx})) \ &= -{\bf y}^\top({\rm d}{\bf W}){\bf x},+,\frac{ {\bf 1}^\top\left(\exp\left({\bf Wx}\right)\odot\left(\left({\rm d}{\bf W}\right){\bf x}\right)\right)}{ {\bf 1}^\top \exp({\bf Wx})} \ &= -{\bf y}^\top({\rm d}{\bf W}){\bf x},+,\frac{\exp({\bf Wx})^\top(({\rm d}{\bf W}){\bf x})}{ {\bf 1}^\top \exp({\bf Wx})} \end{aligned} $$

${\bf N{\scriptsize OTE}}.$${\bf 1^\top}({\bf u \odot v})={\bf u^\top v}$ 。

因此 $$ \begin{aligned} {\rm d}l &= -{\rm tr}({\bf y}^\top({\rm d}{\bf W}){\bf x}) + {\rm tr}\left(\frac{\exp({\bf Wx})^\top}{ {\bf 1}^\top \exp({\bf Wx})}({\rm d}{\bf W}){\bf x}\right) \ &= -{\rm tr}({\bf y}^\top({\rm d}{\bf W}){\bf x}) + {\rm tr}\left(\mathcal{S}({\bf Wx})^\top({\rm d}{\bf W}){\bf x}\right) \ &= {\rm tr}({\bf x}(\mathcal{S}({\bf Wx})^\top-{\bf y^\top}){\rm d}{\bf W}) \ &= {\rm tr}\left( \left( \mathcal{S}\left({\bf Wx}-{\bf y}\right) {\bf x}^\top \right)^\top {\rm d}{\bf W} \right) \end{aligned} $$ 因此 $$ \frac{\partial l}{\partial \bf W}=\mathcal{S}({\bf Wx-y}){\bf x}^\top $$

${\bf E{\scriptsize XAMPLE};7}.$${\bf B{\scriptsize ACKPROPAGATION};O{\scriptsize F};T{\scriptsize HE};2{\scriptsize-LAYER};N{\scriptsize EURAL};N{\scriptsize ETWORK}}.$

定义 $\rm Sigmoid$函数 $\sigma : {\frak R \rightarrow R}$ 且$\sigma(x)=\dfrac{1}{1+{\rm exp}(-x)}$ 。

设 ${\bf y} \in {\frak R}^m$除一个元素为 $1$ ,其他元素均为$0$ ;${\bf W}_2 \in {\frak R}^{m \times p}$ ,${\bf W}_1 \in {\frak R}^{p \times n}$ ,${\bf x} \in {\frak R}^n$ ,$l \in {\frak R}$ 。

已知 $l = -{\bf y^\top}\ln\mathcal{S}({ {\bf W}_2\sigma({\bf W}1{\bf x})})$,求 $\dfrac{\partial l}{\partial {\bf W}{1}}$ 和$\dfrac{\partial l}{\partial {\bf W}_2}$ 。

${\bf S{\scriptsize OLUTION}}.$设${\bf a}_2 = { {\bf W}_2\sigma({\bf W}_1{\bf x})}$ ,易得 $$ \begin{aligned} {\rm d}l &= -{\bf y^\top}{\rm d}\ln\mathcal{S}({\bf a}_2) \ &= -{\bf y^\top}{\rm d}(\ln\exp({\bf a}_2)-{\bf 1}\ln({\bf 1^\top}\exp({\bf a}_2))) \ &= -{\bf y^\top}{\rm d}{\bf a}_2 + {\rm d}\ln({\bf 1^\top}\exp({\bf a}_2)) \ &= -{\bf y^\top}{\rm d}{\bf a}_2 + \frac{ {\bf 1^\top}(\exp({\bf a}_2)\odot{\rm d}({\bf a}_2))}{ {\bf 1^\top}\exp({\bf a}_2)} \ &= -{\bf y^\top}{\rm d}{\bf a}_2 + \frac{\exp({\bf a}_2)^\top}{ {\bf 1^\top}\exp({\bf a}_2)}{\rm d}{\bf a}_2 \ &= (\mathcal{S}({\bf a}_2)-{\bf y})^\top{\rm d}{\bf a}_2 \end{aligned} $$ 因此 $$ \frac{\partial l}{\partial {\bf a}_2} = \mathcal{S}({\bf a}_2)-{\bf y} $$ 又,设 ${\bf a}_1 = {\bf W}_1 {\bf x}$,${\bf h}_1 = \sigma({\bf a}_1)$ ,则${\bf a}_2 = {\bf W}_2{\bf h}_1$ 。因此 $$ \begin{aligned} {\rm d}l &= {\rm tr}\left( \frac{\partial l}{\partial {\bf a}_2}^\top {\bf W}_2{\rm d}{\bf h}_1 \right) + {\rm tr}\left({\bf h}_1 \frac{\partial l}{\partial {\bf a}_2}^\top {\rm d}{\bf W}_2 \right) \ &= {\rm tr}\left( \left({\bf W}_2^\top\frac{\partial l}{\partial {\bf a}_2}\right)^\top {\rm d}{\bf h}_1 \right) + {\rm tr}\left( \left( \frac{\partial l}{\partial {\bf a}_2} {\bf h}_1^\top \right)^\top {\rm d}{\bf W}_2 \right) \ \end{aligned} $$ 分别记 $$ \begin{aligned} {\rm d}l_1 &= {\rm tr}\left( \left({\bf W}_2^\top\frac{\partial l}{\partial {\bf a}_2}\right)^\top {\rm d}{\bf h}_1 \right) \ {\rm d}l_2 &= {\rm tr}\left( \left( \frac{\partial l}{\partial {\bf a}_2} {\bf h}_1^\top \right)^\top {\rm d}{\bf W}_2 \right) \end{aligned} $$

由全微分法则,有 $$ \begin{aligned} \frac{\partial l}{\partial {\bf h}_1} &= {\bf W}_2^\top\frac{\partial l}{\partial {\bf a}_2} \ \frac{\partial l}{\partial {\bf W}_2} &= \frac{\partial l}{\partial {\bf a}_2} {\bf h}_1^\top = (\mathcal{S}({\bf W}_2{\bf h}_1)-{\bf y})\sigma({\bf W}_1{\bf x})^\top \end{aligned} $$ 又,考虑 $$ \begin{aligned} {\rm d}l_1 &= {\rm tr}\left( \frac{\partial l}{\partial {\bf h}_1}^\top {\rm d}{\bf h}_1 \right) \ &= {\rm tr}\left(\frac{\partial l}{\partial {\bf h}_1}^\top {\rm d}\sigma\left( {\bf a}_1 \right) \right) \ &= {\rm tr}\left( \frac{\partial l}{\partial {\bf h}_1}^\top \left( \sigma^{’}\left( {\bf a}_1 \right) \odot {\rm d}{\bf a}_1 \right) \right) \ &= {\rm tr}\left( \left( \frac{\partial l}{\partial {\bf h}_1} \odot \sigma^{’}\left( {\bf a}_1 \right) \right)^\top {\rm d}{\bf a}_1 \right) \ \end{aligned} $$ 可得 $$ \frac{\partial l}{\partial {\bf a}_1} = \frac{\partial l}{\partial {\bf h}_1} \odot \sigma^{’}\left( {\bf a}_1 \right) $$ 继续使用复合函数求导法则,得 $$ \begin{aligned} {\rm d}l_1 &= {\rm tr}\left( \frac{\partial l}{\partial {\bf a}_1}^\top {\rm d}{\bf a}_1 \right) \ &= {\rm tr}\left( \frac{\partial l}{\partial {\bf a}_1}^\top ({\rm d}{\bf W}_1){\bf x} \right) \ &= {\rm tr}\left( {\bf x}\frac{\partial l}{\partial {\bf a}_1}^\top {\rm d}{\bf W}_1 \right) \ &= {\rm tr}\left( (\frac{\partial l}{\partial {\bf a}_1}{\bf x}^\top)^\top {\rm d}{\bf W}_1 \right) \ \end{aligned} $$ 因此 $$ \begin{aligned} \frac{\partial l}{\partial {\bf W}_1} &= \frac{\partial l}{\partial {\bf a}_1}{\bf x}^\top \ &= (\frac{\partial l}{\partial {\bf h}_1} \odot \sigma^{’}\left( {\bf a}_1 \right)){\bf x^\top} \ &= (({\bf W}_2^\top\frac{\partial l}{\partial {\bf a}_2}) \odot \sigma^{’}\left( {\bf W}_1{\bf x} \right)){\bf x^\top} \ &= (({\bf W}_2^\top(\mathcal{S}({\bf a}_2)-{\bf y}) \odot \sigma^{’}\left( {\bf W}_1{\bf x} \right)){\bf x^\top} \ \end{aligned} $$ 综上,有 $$ \begin{aligned} \frac{\partial l}{\partial {\bf W}_1} &= (({\bf W}_2^\top(\mathcal{S}({\bf W}_2{\bf h}_1)-{\bf y}) \odot \sigma^{’}\left( {\bf W}_1{\bf x} \right)){\bf x^\top} \ \frac{\partial l}{\partial {\bf W}_2} &= (\mathcal{S}({\bf W}_2{\bf h}_1)-{\bf y})\sigma({\bf W}_1{\bf x})^\top \end{aligned} $$

updatedupdated2022-05-212022-05-21