前言
本文为维基百科上矩阵微积分部分的翻译内容。本文为原文的翻译与个人总结,非一一对照翻译。由于水平不足理解不够处,敬请原谅与指出。原文地址https://en.wikipedia.org/wiki/Matrix_calculus。原文为矩阵微积分,本文题为矩阵求导,原因是原文主要介绍的是矩阵微分的内容。
1 简介
矩阵的微积分本质上是多元变量的微积分的问题,只是应用在矩阵空间上而已。
在讨论矩阵微分的时候,有两种布局方式,分子布局,与分母布局,第2,3部分不关注这个问题,第5部分以后介绍两种布局方式。
以下为六种以矩阵形式组织的常见的导数。
类型 | 标量y | 向量y | 矩阵Y |
---|---|---|---|
标量x | ∂y∂x | ∂y∂x | ∂Y∂x |
向量x | ∂y∂x | ∂y∂x | |
矩阵X | ∂y∂X |
其他三种方式并不常用,且符号也没有统一的认识。
2 符号
矩阵
M(n,m)等。向量
M(n,1)等。标量
M(1,1)等。其他
XT
3 关于向量的导数
以分子布局来介绍,仅出于说明目的,不代表分子布局优于分母布局。
3.1 向量关于标量求导
向量y=⎡⎣⎢⎢⎢⎢⎢y1y2⋮ym⎤⎦⎥⎥⎥⎥⎥\mathbf{y}=\left[
此时为 正切向量。 ∂y∂x
3.2 标量关于向量求导
标量y y1y2⋮ym 关于向量x=⎡⎣⎢⎢⎢⎢x1x2⋮xn⎤⎦⎥⎥⎥⎥ x1x2⋮xn \mathbf{x}=\left[
此时为 梯度向量。 ∂y∂x ∂y11∂x∂y21∂x⋮∂ym1∂x∂y12∂x∂y22∂x⋮∂ym2∂x⋯⋯⋱⋯∂y1n∂x∂y2n∂x⋮∂ymn∂x 为基。
3.3 向量关于向量求导
向量函数(即函数组成的向量)y=⎡⎣⎢⎢⎢⎢⎢y1y2⋮ym⎤⎦⎥⎥⎥⎥⎥\mathbf{y}=\left[
此时,为 Jacobian矩阵
4 关于矩阵的导数
4.1 矩阵关于标量求导
正切矩阵表示为∂Y∂x=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂y11∂x∂y21∂x⋮∂ym1∂x∂y12∂x∂y22∂x⋮∂ym2∂x⋯⋯⋱⋯∂y1n∂x∂y2n∂x⋮∂ymn∂x⎤⎦⎥⎥⎥⎥⎥⎥⎥\frac{\partial \mathbf{Y}}{\partial x}=\left[
4.2 标量关于矩阵求导
梯度矩阵表示为∂y∂X=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢∂y∂x11∂y∂x12⋮∂y∂x1q∂y∂x21∂y∂x22⋮∂y∂x2q⋯⋯⋱⋯∂y∂xp1∂y∂xp2⋮∂y∂xpq⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥\frac{\partial y}{\partial \mathbf{X}}=\left[
注意以上 X为其索引的转置。
5 布局约定(Layout conventions)
由向量关于向量的求导∂y∂x表示为行向量或者反过来表示的问题。根据这两种可能,有以下情况:
分子布局(Numerator layout),即准确表示是∂y∂xT为列向量),即Jacobian formulation。
分母布局(Denominator layout),即准确表示是∂yT∂x为行向量),即Hessian formulation(也有些作者称为梯度布局,尽管梯度不够准确)
所以:
- 对于分子布局,正切向量∂y∂x为行向量。
- 对于分母布局,正切向量∂y∂x为列向量。
- 对于分子布局,正切矩阵∂Y∂x
- 对于分母布局,正切矩阵∂Y∂x
然而,对于正切矩阵∂Y∂x,很不符合表达的习惯,所以一般如下表示:
- 统一使用分子布局,即∂Y∂x
- 使用混合布局,即∂Y∂x
注意:
- 并非所有书与论文从头为都是统一那个分子布局或者分母分的,往往是结合起来使用,根据上下文来确认。
- 分母布局与分子布局呈转置关系
6 恒等式
由以上可知,计算的结果可以通过转置在分子与分母布局中转换。
以下恒等式基于三条重要法则:求和法则(线性法则)、乘积法则、链式法则(注,类似标量的求导法则得知此三条法则),其中:
- 求和法则是通用的。
- 乘积法则对以下讨论大部分情况适用。由于矩阵乘法是不可交换的,所以需要给定矩阵相乘的顺序。标量关于矩阵求导不能直接使用。
- 链式法则只适用于部分情况。不适用与矩阵关于标量求导即标量关于矩阵求导。后者大部分情况涉及秩的计算。
6.1 向量关于向量求导
向量关于标量求导以及标量关于向量求导都可以看出是这种情况的特殊形式。
对于∂y∂x,有如下恒等:
为说明以上图中分子布局及分母布局中y的行列向量表示,把上图中部分项重新详细展开表示,可以有:
条件 | 表示(未带布局信息) | 分子布局 | 分母布局 |
---|---|---|---|
a的函数 | ∂a∂x | ∂a∂xT=0 | ∂aT∂x=0 |
∂x∂x | ∂x∂xT=I | ∂xT∂x=I | |
A的函数 | ∂Ax∂x | ∂Ax∂xT=A | ∂(Ax)T∂x=∂(xTAT)∂x=AT |
A的函数 | ∂xTA∂x | ∂(xTA)T∂xT=∂ATx∂xT=AT | ∂xTA∂x=A |
a | ∂au∂x | ∂au∂xT=a∂u∂xT | ∂auT∂x=a∂uT∂x |
6.2 标量关于向量求导
6.3 向量关于标量求导
6.4 标量关于矩阵求导
注意此处不适用链式及乘积法则。乘积法则可以借助微分及迹函数的性质得到,因为迹函数转置和循环排列:tr(A)=tr(AT)。
根据这些性质,如计算∂tr(AXBXTC)∂X:
根据6.7中内容可以得到
6.5 矩阵关于标量求导
6.6 标量关于标量求导
涉及向量
涉及矩阵
6.7 微分形式
我们常常使用微分形式计算,最后转换成导数形式。仅在分子布局有用,以下”a”为标量
标量关于矩阵
矩阵
微分到导数转换
从微分到导数的转换,首先转换成规范形式,然后按照一下等式转换。
8 矩阵角度看映射,函数
函数为一对一的关系,可以理解为输入为n维向量,输出为标量。
映射为一对多的关系,可以理解为输入为n维向量。
当然,有时也称呼以上函数为标量函数,映射为向量函数(即由多个标量函数组成映射)