标量、向量与矩阵的求导
符号定义
分子 | 标量 | 向量 | 矩阵 | |
---|---|---|---|---|
分母 | 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