先说明一些符号:

标量y,向量y\overrightarrow{y},矩阵X,YX,Y.
y=[y1y2yn]x=[x1x2xn] \overrightarrow{y}=\begin{bmatrix} y_1\\ y_2\\ \vdots \\ y_n \end{bmatrix} \overrightarrow{x}=\begin{bmatrix} x_1\\ x_2\\ \vdots \\ x_n \end{bmatrix}
X=[x11x12x1nx21x22x2nxm1xm2xmn] X=\begin{bmatrix} x_{11} &x_{12} &\cdots &x_{1n} \\ x_{21}&x_{22} &\cdots &x_{2n} \\ \vdots& \vdots & \cdots &\vdots \\ x_{m1}&x_{m2} & \cdots &x_{mn} \end{bmatrix}

在矩阵求导这里有两种布局方式,常用的是分子布局,我下面所用的就是分子布局。

标量对向量求导

yx=[yx1yx2yxn]\frac{\partial y}{\partial \overrightarrow{x}}=\begin{bmatrix} \frac{\partial y}{\partial x_1} & \frac{\partial y}{\partial x_2}& \cdots& \frac{\partial y}{\partial x_n} \end{bmatrix}
这是分子布局下标量对向量的求导,记住了这种方式,下面的就容易多了.

向量对向量求导

向量对向量求导,本质就是分子向量的每一个值(标量)对分母向量求导,具体的就是y1y_1x\overrightarrow{x}求导,y2y_2x\overrightarrow{x}求导,一直到yny_nx\overrightarrow{x}求导.那么正如标量对向量求导,y1y_1x\overrightarrow{x}求导的结果就是
y1x=[y1x1y1x2y1xn]\frac{\partial y_1}{\partial \overrightarrow{x}}=\begin{bmatrix} \frac{\partial y_1}{\partial x_1} & \frac{\partial y_1}{\partial x_2}& \cdots& \frac{\partial y_1}{\partial x_n} \end{bmatrix}
所以
yx=[y1x1y1x2y1xny2x1y2x2y2xnynx1ynx1ynxn]\frac{\partial \overrightarrow{y}}{\partial \overrightarrow{x}}=\begin{bmatrix} \frac{\partial y_1}{\partial x_1}&\frac{\partial y_1}{\partial x_2} &\cdots &\frac{\partial y_1}{\partial x_n} \\ \frac{\partial y_2}{\partial x_1} & \frac{\partial y_2}{\partial x_2} &\cdots &\frac{\partial y_2}{\partial x_n} \\ \vdots&\vdots & \cdots &\vdots \\ \frac{\partial y_n}{\partial x_1}&\frac{\partial y_n}{\partial x_1} & \cdots & \frac{\partial y_n}{\partial x_n} \end{bmatrix}
每一行就是标量对向量求导的计算结果。

标量对矩阵求导

对于矩阵XX,它是m×nm\times n的矩阵,我们可以给它看成是nnmm维的列向量,那么问题就变为了标量对nn个向量的求导,例如标量yy对矩阵XX的第一列
[x11x21xm1] \begin{bmatrix} x_{11}\\ x_{21}\\ \vdots\\ x_{m1} \end{bmatrix}
的求导就是
[yx11yx21yxm1] \begin{bmatrix} \frac{y}{\partial x_{11}} &\frac{y}{\partial x_{21}} &\cdots &\frac{y}{\partial x_{m1}} \end{bmatrix}
所以
yX=[yx11yx21yxm1yx12yx22yxm2yx1nyx2nyxmn] \frac{\partial y}{\partial X}=\begin{bmatrix} \frac{\partial y}{\partial x_{11}} & \frac{\partial y}{\partial x_{21}} & \cdots & \frac{\partial y}{\partial x_{m1}} \\ \frac{\partial y}{\partial x_{12}} & \frac{\partial y}{\partial x_{22}} &\cdots &\frac{\partial y}{\partial x_{m2}} \\ \vdots& \vdots & \cdots & \vdots\\ \frac{\partial y}{\partial x_{1n}} &\frac{\partial y}{\partial x_{2n}} & \cdots &\frac{\partial y}{\partial x_{mn}} \end{bmatrix}

下图来自维基百科上矩阵求导详述
矩阵,向量,标量之间的导数

解释完了上面的部分,我们也就明白下图中为什么是这样的结果了矩阵,向量,标量之间的导数
我们仅仅看分子布局(Numerator layout)那一列
假如a=[a1a2am]T\overrightarrow{a}=\begin{bmatrix} a_1 & a_2 &\cdots &a_m \end{bmatrix}^T,向量a\overrightarrow{a}和向量x=[x1x2xn]T\overrightarrow{x}=\begin{bmatrix} x_1 & x_2 &\cdots &x_n \end{bmatrix}^T一点关系没有.
那么求导的结果就是m×nm\times n的零矩阵.x\overrightarrow{x}对自身求导的结果是单位矩阵.这两个就不写出来了,我们下面看一下后两个,假设
A=[a11a12a1na21a22a2nam1am2amn] A=\begin{bmatrix} a_{11} &a_{12} &\cdots &a_{1n} \\ a_{21}& a_{22} & \cdots & a_{2n}\\ \vdots & \vdots &\cdots & \vdots\\ a_{m1} &a_{m2} &\cdots & a_{mn} \end{bmatrix}
那么
Ax=[a11x1+a12x2++a1nxna21x1+a22x2++a2nxnam1x1+am2x2++amnxn] Ax=\begin{bmatrix} a_{11}x_{1}+a_{12}x_{2}+\cdots+a_{1n}x_n\\ a_{21}x_{1}+a_{22}x_{2}+\cdots+a_{2n}x_n\\ \vdots\\ a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n \end{bmatrix}
此时Axx\frac{\partial Ax}{\partial x}就是向量对向量的导数
,按照上述步骤就是分解为mm个标量对向量的导数,
第一个标量是a11x1+a12x2++a1nxna_{11}x_{1}+a_{12}x_{2}+\cdots+a_{1n}x_n,它对x=[x1x2xn]\overrightarrow{x}=\begin{bmatrix} x_1\\ x_2\\ \vdots \\ x_n \end{bmatrix}

的导数是[a11a12a1n]\begin{bmatrix} a_{11} &a_{12} & \cdots &a_{1n} \end{bmatrix}
看到这里大家最好拿纸笔自己推算一下。
那么自然的,就得到了
Axx=[a11a12a1na21a22a2nam1am2amn] \frac{\partial Ax}{\partial x}=\begin{bmatrix} a_{11} &a_{12} &\cdots &a_{1n} \\ a_{21}& a_{22} & \cdots & a_{2n}\\ \vdots & \vdots &\cdots & \vdots\\ a_{m1} &a_{m2} &\cdots & a_{mn} \end{bmatrix}
这就是矩阵AA.
现在再看最后一个xTAx\frac{\partial x^TA}{\partial x},
首先计算xTAx^TA,xT=[x1x2xn]\overrightarrow{x}^T=\begin{bmatrix} x_1 & x_2 &\cdots &x_n \end{bmatrix},这里注意这里的矩阵AA和上一个不是一个矩阵,只不过用A这个符号表示这是一个矩阵。这里的矩阵AA应该等于
A=[a11a12a1ma21a22a2man1an2anm] A=\begin{bmatrix} a_{11} &a_{12} &\cdots &a_{1m} \\ a_{21}& a_{22} & \cdots & a_{2m}\\ \vdots & \vdots &\cdots & \vdots\\ a_{n1} &a_{n2} &\cdots & a_{nm} \end{bmatrix}
n×mn\times m型的矩阵。
那么xTAx^TA就等于
[a11x1+a21x2++an1xna12x1+a22x2++an2xna1mx1+am2x2++anmxn] \begin{bmatrix} a_{11}x_{1}+a_{21}x_{2}+\cdots+a_{n1}x_n\\ a_{12}x_{1}+a_{22}x_{2}+\cdots+a_{n2}x_n\\ \vdots\\ a_{1m}x_1+a_{m2}x_2+\cdots+a_{nm}x_n \end{bmatrix}

所以xTAx\frac{\partial x^TA}{\partial x}依旧是向量对向量的求导,我们首先看第一个标量a11x1+a21x2++an1xna_{11}x_{1}+a_{21}x_{2}+\cdots+a_{n1}x_nx\overrightarrow{x}的导数,就是
[a11a21an1] \begin{bmatrix} a_{11} &a_{21} & \cdots & a_{n1} \end{bmatrix}
那么自然的
xTAx=[a11a21an1a12a22an2a1ma2manm] \frac{\partial x^TA}{\partial x}=\begin{bmatrix} a_{11} &a_{21} &\cdots &a_{n1} \\ a_{12}& a_{22} &\cdots & a_{n2}\\ \vdots& \vdots&\cdots & \vdots\\ a_{1m} &a_{2m} & \cdots& a_{nm} \end{bmatrix}
这显然就是矩阵AA的转置。(别忘了这是分子布局的情况下)
其实只要记住分子布局下标量对向量的求导形式:

yx=[yx1yx2yxn],x=[x1x2xn]\frac{\partial y}{\partial \overrightarrow{x}}=\begin{bmatrix} \frac{\partial y}{\partial x_1} & \frac{\partial y}{\partial x_2}& \cdots& \frac{\partial y}{\partial x_n} \end{bmatrix} , \overrightarrow{x}=\begin{bmatrix} x_{1}\\ x_2\\ \vdots\\ x_n \end{bmatrix}
后面的各种形式也就很容易理解了。

相关文章:

  • 2021-12-20
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
  • 2021-12-31
  • 2021-12-04
猜你喜欢
  • 2021-11-06
  • 2021-12-01
  • 2022-02-08
  • 2021-08-04
  • 2021-12-04
  • 2021-06-18
相关资源
相似解决方案