标量、向量与矩阵的求导
符号定义
分子 | 标量 | 向量 | 矩阵 | |
---|---|---|---|---|
分母 |
y y y |
y \boldsymbol{y} y |
Y \mathbf{Y} Y |
|
标量 |
x x x |
普通求导 | 向量对标量求导 | 矩阵对标量求导 |
向量 |
x \boldsymbol{x} x |
标量对向量求导 | 向量对向量求导 | – |
矩阵 |
X \mathbf{X} X |
标量对矩阵求导 | – | – |
注:默认向量用列向量表示
两种布局方式,一种叫做分子布局(numerator layout),另一种叫做分母布局(denominator layout)
所谓XX布局,即是指在做求导运算的时候,最终的求导结果的分布和XX部分保持一致,如果需要转置,则对YY部分进行转置。
- 如果分子布局,且分子有m行,则求导结果也是m行,如果分母有n行,则结果将包含n列。
- 如果分母布局,且分母有n行,则求导结果也是n行,如果分子有m行,则求导结果将有m列;
1、向量对标量求导
默认使用分子布局
y
=
[
y
1
y
2
.
.
.
y
m
]
,
∂
y
∂
x
=
[
∂
y
1
∂
x
∂
y
2
∂
x
⋮
∂
y
m
∂
x
]
\boldsymbol{y}= \begin{bmatrix} y_{1}\\ y_{2}\\ … \\ y_{m}\\ \end{bmatrix} ,\frac{\partial \boldsymbol{y}}{\partial x}= \begin{bmatrix} \frac{\partial y_1}{\partial x}\\ \\ \frac{\partial y_2}{\partial x}\\ \\ \vdots \\ \\ \frac{\partial y_m}{\partial x}\\ \end{bmatrix}
y
=
⎣
⎢
⎢
⎡
y
1
y
2
.
.
.
y
m
⎦
⎥
⎥
⎤
,
∂
x
∂
y
=
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎡
∂
x
∂
y
1
∂
x
∂
y
2
⋮
∂
x
∂
y
m
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎤
分母布局
2、矩阵对标量求导
默认使用分子布局
对于矩阵
A
∈
R
m
×
n
\bm{A} \in \mathbb{R}^{m \times n}
A
∈
R
m
×
n
, 求导结果仍然是
m
×
n
m×n
m
×
n
,具体如下所示
分母布局
求导结果 是
n
×
m
n×m
n
×
m
,即为转置
3、标量对向量求导
默认使用分母布局
在求导过程中,求导结果按列展开,逐个进行求导运算,结果保持列向量形式。
x
=
[
x
1
x
2
.
.
.
x
n
]
,
∂
y
∂
x
=
[
∂
y
∂
x
1
∂
y
∂
x
2
⋮
∂
y
∂
x
n
]
\boldsymbol{x}= \begin{bmatrix} x_{1}\\ x_{2}\\ … \\ x_{n}\\ \end{bmatrix} ,\frac{\partial y}{\partial \boldsymbol{x}}= \begin{bmatrix} \frac{\partial y}{\partial x_1}\\ \\ \frac{\partial y}{\partial x_2}\\ \\ \vdots \\ \\ \frac{\partial y}{\partial x_n}\\ \end{bmatrix}
x
=
⎣
⎢
⎢
⎡
x
1
x
2
.
.
.
x
n
⎦
⎥
⎥
⎤
,
∂
x
∂
y
=
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎡
∂
x
1
∂
y
∂
x
2
∂
y
⋮
∂
x
n
∂
y
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎤
分子布局
转置即可
4、**向量对向量求导
分母布局即梯度矩阵**
先按分母行数n拆成行n,再按分子行数m拆成列m
∂
y
∂
x
=
[
∂
y
∂
x
1
∂
y
∂
x
2
⋮
∂
y
∂
x
n
]
\frac{\partial \boldsymbol{y}}{\partial \boldsymbol{x}}= \begin{bmatrix} \frac{\partial \boldsymbol{y}}{\partial x_1}\\ \\ \frac{\partial \boldsymbol{y}}{\partial x_2}\\ \\ \vdots \\ \\ \frac{\partial \boldsymbol{y}}{\partial x_n}\\ \end{bmatrix}
∂
x
∂
y
=
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎡
∂
x
1
∂
y
∂
x
2
∂
y
⋮
∂
x
n
∂
y
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎤
数学上将这种矩阵称之为梯度矩阵,有些资料会用符号
∂
y
T
∂
x
\frac{\partial{\bm{y^{\mathsf{T}}}}}{\partial{\bm{x}}}
∂
x
∂
y
T
进行表示。
分子布局即雅克比 (Jacobian)矩阵**
先按分子行数m拆成行m,再按分母行数n拆成列n
∂
y
∂
x
=
[
∂
y
1
∂
x
∂
y
2
∂
x
⋮
∂
y
m
∂
x
]
\frac{\partial \boldsymbol{y}}{\partial \boldsymbol{x}}=\begin{bmatrix} \frac{\partial y_1}{\partial \boldsymbol{x}}\\ \\ \frac{\partial y_2}{\partial \boldsymbol{x}}\\ \\ \vdots \\ \\ \frac{\partial y_m}{\partial \boldsymbol{x}}\\ \end{bmatrix}
∂
x
∂
y
=
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎡
∂
x
∂
y
1
∂
x
∂
y
2
⋮
∂
x
∂
y
m
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎤
数学上将这种矩阵称之为雅克比 (Jacobian)矩阵,常用符号
∂
y
∂
x
T
\frac{\partial{\bm{y}}}{\partial{\bm{x^{\mathsf{T}}}}}
∂
x
T
∂
y
进行表示。
5、标量对矩阵求导
默认使用分母布局
因为矩阵处于分母位置,结果与分母的矩阵大小保持一致。
例如对于矩阵
A
∈
R
m
×
n
\bm{A} \in \mathbb{R}^{m \times n}
A
∈
R
m
×
n
, 求导结果为
m
×
n
m × n
m
×
n
分子布局
转置即可
重要公式
向量、矩阵求导的重要公式https://blog.csdn.net/weixin_42764932/article/details/113107962