本文简单介绍一下向量、矩阵的求导计算方法。
首先约定记号:
$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.