向量、矩阵的求导计算方法

本文简单介绍一下向量、矩阵的求导计算方法。

首先约定记号:

$x$ 和 $y$ 是标量;$\mathbf{x}$ 是 $n$ 维向量,$\mathbf{y}$ 是 $m$ 维向量(本文的向量默认指的是列向量);$\mathbf{X}$ 表示矩阵。

另外,约定本文使用 numerator layout,具体解释见下文,或 Wikipedia

求导法则

对标量 $x$ 求导

上式又称为 tangent matrix。

对向量 $\mathbf{x}$ 求导

上式又称为 Jacobian matrix。

对矩阵 $\mathbf{X}$ 求导

上式又称为 gradient matrix。

numerator layout vs. denominator layout

我们之前曾经约定本文使用 numerator layout,这指的是 $\frac{\partial{\mathbf{y}}}{\partial{\mathbf{x}}}$ 矩阵的两种写法之一:例如 $\mathbf{y}$ 是 $m$ 维向量,$\mathbf{x}$ 是 $n$ 维向量(这里都是指的列向量),则该矩阵有两种写法

  • $m \times n$ 矩阵,即 $\frac{\partial{\mathbf{y}}}{\partial{\mathbf{x^{\top}}}}$ ,分子不变,分母转置,是 numerator layout;

  • $n \times m$ 矩阵,即 $\frac{\partial{\mathbf{y^{\top}}}}{\partial{\mathbf{x}}}$,分母不变,分子转置,是 denominator layout。

对变量是标量、向量、矩阵的情况,都有类似的约定。

很多人倾向于选择 numerator layout,主要是因为 $\frac{\partial{\mathbf{Y}}}{\partial{x}}$ 的自然写法与这种格式是一致的。通常的建议是不要混用两种写法:或者只使用 numerator layout,或者在任何时候都不省略转置符号。

常用结论

对标量 $a$、向量 $\mathbf{a}$、矩阵 $\mathbf{A}$,若它们都不是 $x$ 或 $\mathbf{x}$ 的函数,在此给出一些常用结论,证明从略。

关于求导的加法、数乘、乘法、链式法则,此处不再赘述。

练习:最小二乘法

$\mathbf{X}$ 是 $m \times n$ 矩阵,$\mathbf{y}$ 是 $m$ 维矩阵,求 $\mathbf{w}$ 使得 $\lVert{\mathbf{Xw - y}}\rVert^2$ 最小。

解:

令 $ J = \lVert{\mathbf{Xw - y}}\rVert^2 = (\mathbf{Xw - y})^{\top} (\mathbf{Xw - y}) = \mathbf{w^{\top} X^{\top}Xw - w^{\top}X^{\top}y - y^{\top}Xw + y^{\top}y}$。

求导,根据上面给出的常用结论,有 $ \frac{\partial{\mathbf{J}}}{\partial{\mathbf{w}}} = \frac{\partial{\mathbf{w^{\top}X^{\top}Xw}}}{\partial{\mathbf{w}}} - \frac{\partial{\mathbf{w^{\top}X^{\top}y}}}{\partial{\mathbf{w}}} - \frac{\partial{\mathbf{y^{\top}Xw}}}{\partial{\mathbf{w}}} + \frac{\partial{\mathbf{y^{\top}y}}}{\partial{\mathbf{w}}} = 2(\mathbf{w^{\top}X^{\top}X - y^{\top}X})$。

令 $ \frac{\partial{\mathbf{J}}}{\partial{\mathbf{w}}} = 0 $,即 $\mathbf{w^{\top}X^{\top}X = y^{\top}X}$。 转置,得 $\mathbf{X^{\top}Xw = X^{\top}y}$。

如果 $\mathbf{X^{\top}X}$ 可逆,则 $\mathbf{w} = (\mathbf{X^{\top}X})^{-1} \mathbf{X^{\top}y}$。这正是 Moore-Penrose 广义逆矩阵。

参考文献及扩展阅读:

  • Leow Wee Kheng. CS5240 slides. https://comp.nus.edu.sg/~cs5240/lecture/matrix-differentiation.pdf
  • K. B. Petersen and M. S. Pedersen, The Matrix Cookbook, 2012.


Previous     Next
sighsmile /
Published under (CC) BY-NC-SA