标量、向量与矩阵的求导
符号定义
分子 | 标量 | 向量 | 矩阵 | |
---|---|---|---|---|
分母 | 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=⎣⎢⎢⎡y1y2...ym⎦⎥⎥⎤,∂x∂y=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡∂x∂y1∂x∂y2⋮∂x∂ym⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
分母布局
2、矩阵对标量求导
默认使用分子布局
对于矩阵
A
∈
R
m
×
n
\bm{A} \in \mathbb{R}^{m \times n}
A∈Rm×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=⎣⎢⎢⎡x1x2...xn⎦⎥⎥⎤,∂x∂y=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡∂x1∂y∂x2∂y⋮∂xn∂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=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡∂x1∂y∂x2∂y⋮∂xn∂y⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
数学上将这种矩阵称之为梯度矩阵,有些资料会用符号
∂
y
T
∂
x
\frac{\partial{\bm{y^{\mathsf{T}}}}}{\partial{\bm{x}}}
∂x∂yT进行表示。
分子布局即雅克比 (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∂y1∂x∂y2⋮∂x∂ym⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
数学上将这种矩阵称之为雅克比 (Jacobian)矩阵,常用符号
∂
y
∂
x
T
\frac{\partial{\bm{y}}}{\partial{\bm{x^{\mathsf{T}}}}}
∂xT∂y 进行表示。
5、标量对矩阵求导
默认使用分母布局
因为矩阵处于分母位置,结果与分母的矩阵大小保持一致。
例如对于矩阵
A
∈
R
m
×
n
\bm{A} \in \mathbb{R}^{m \times n}
A∈Rm×n, 求导结果为
m
×
n
m × n
m×n
分子布局
转置即可
重要公式
向量、矩阵求导的重要公式https://blog.csdn.net/weixin_42764932/article/details/113107962