矩阵,向量,标量之间的导数

先说明一些符号:

标量y,向量 y → \overrightarrow{y} y ,矩阵 X , Y X,Y X,Y.
y → = [ y 1 y 2 ⋮ y n ] x → = [ x 1 x 2 ⋮ x n ] \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} y =y1y2ynx =x1x2xn
X = [ x 11 x 12 ⋯ x 1 n x 21 x 22 ⋯ x 2 n ⋮ ⋮ ⋯ ⋮ x m 1 x m 2 ⋯ x m n ] 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} X=x11x21xm1x12x22xm2x1nx2nxmn

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

标量对向量求导

∂ y ∂ x → = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ⋯ ∂ y ∂ x n ] \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} x y=[x1yx2yxny]
这是分子布局下标量对向量的求导,记住了这种方式,下面的就容易多了.

向量对向量求导

向量对向量求导,本质就是分子向量的每一个值(标量)对分母向量求导,具体的就是 y 1 y_1 y1 x → \overrightarrow{x} x 求导, y 2 y_2 y2 x → \overrightarrow{x} x 求导,一直到 y n y_n yn x → \overrightarrow{x} x 求导.那么正如标量对向量求导, y 1 y_1 y1 x → \overrightarrow{x} x 求导的结果就是
∂ y 1 ∂ x → = [ ∂ y 1 ∂ x 1 ∂ y 1 ∂ x 2 ⋯ ∂ y 1 ∂ x n ] \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} x y1=[x1y1x2y1xny1]
所以
∂ y → ∂ x → = [ ∂ y 1 ∂ x 1 ∂ y 1 ∂ x 2 ⋯ ∂ y 1 ∂ x n ∂ y 2 ∂ x 1 ∂ y 2 ∂ x 2 ⋯ ∂ y 2 ∂ x n ⋮ ⋮ ⋯ ⋮ ∂ y n ∂ x 1 ∂ y n ∂ x 1 ⋯ ∂ y n ∂ x n ] \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} x y =x1y1x1y2x1ynx2y1x2y2x1ynxny1xny2xnyn
每一行就是标量对向量求导的计算结果。

标量对矩阵求导

对于矩阵 X X X,它是 m × n m\times n m×n的矩阵,我们可以给它看成是 n n n m m m维的列向量,那么问题就变为了标量对 n n n个向量的求导,例如标量 y y y对矩阵 X X X的第一列
[ x 11 x 21 ⋮ x m 1 ] \begin{bmatrix} x_{11}\\ x_{21}\\ \vdots\\ x_{m1} \end{bmatrix} x11x21xm1
的求导就是
[ y ∂ x 11 y ∂ x 21 ⋯ y ∂ x m 1 ] \begin{bmatrix} \frac{y}{\partial x_{11}} &\frac{y}{\partial x_{21}} &\cdots &\frac{y}{\partial x_{m1}} \end{bmatrix} [x11yx21yxm1y]
所以
∂ y ∂ X = [ ∂ y ∂ x 11 ∂ y ∂ x 21 ⋯ ∂ y ∂ x m 1 ∂ y ∂ x 12 ∂ y ∂ x 22 ⋯ ∂ y ∂ x m 2 ⋮ ⋮ ⋯ ⋮ ∂ y ∂ x 1 n ∂ y ∂ x 2 n ⋯ ∂ y ∂ x m n ] \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} Xy=x11yx12yx1nyx21yx22yx2nyxm1yxm2yxmny

下图来自维基百科上矩阵求导详述
在这里插入图片描述

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

的导数是 [ a 11 a 12 ⋯ a 1 n ] \begin{bmatrix} a_{11} &a_{12} & \cdots &a_{1n} \end{bmatrix} [a11a12a1n]
看到这里大家最好拿纸笔自己推算一下。
那么自然的,就得到了
∂ A x ∂ x = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋯ ⋮ a m 1 a m 2 ⋯ a m n ] \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} xAx=a11a21am1a12a22am2a1na2namn
这就是矩阵 A A A.
现在再看最后一个 ∂ x T A ∂ x \frac{\partial x^TA}{\partial x} xxTA,
首先计算 x T A x^TA xTA, x → T = [ x 1 x 2 ⋯ x n ] \overrightarrow{x}^T=\begin{bmatrix} x_1 & x_2 &\cdots &x_n \end{bmatrix} x T=[x1x2xn],这里注意这里的矩阵 A A A和上一个不是一个矩阵,只不过用A这个符号表示这是一个矩阵。这里的矩阵 A A A应该等于
A = [ a 11 a 12 ⋯ a 1 m a 21 a 22 ⋯ a 2 m ⋮ ⋮ ⋯ ⋮ a n 1 a n 2 ⋯ a n m ] 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} A=a11a21an1a12a22an2a1ma2manm
n × m n\times m n×m型的矩阵。
那么 x T A x^TA xTA就等于
[ a 11 x 1 + a 21 x 2 + ⋯ + a n 1 x n a 12 x 1 + a 22 x 2 + ⋯ + a n 2 x n ⋮ a 1 m x 1 + a m 2 x 2 + ⋯ + a n m x n ] \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} a11x1+a21x2++an1xna12x1+a22x2++an2xna1mx1+am2x2++anmxn

所以 ∂ x T A ∂ x \frac{\partial x^TA}{\partial x} xxTA依旧是向量对向量的求导,我们首先看第一个标量 a 11 x 1 + a 21 x 2 + ⋯ + a n 1 x n a_{11}x_{1}+a_{21}x_{2}+\cdots+a_{n1}x_n a11x1+a21x2++an1xn x → \overrightarrow{x} x 的导数,就是
[ a 11 a 21 ⋯ a n 1 ] \begin{bmatrix} a_{11} &a_{21} & \cdots & a_{n1} \end{bmatrix} [a11a21an1]
那么自然的
∂ x T A ∂ x = [ a 11 a 21 ⋯ a n 1 a 12 a 22 ⋯ a n 2 ⋮ ⋮ ⋯ ⋮ a 1 m a 2 m ⋯ a n m ] \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} xxTA=a11a12a1ma21a22a2man1an2anm
这显然就是矩阵 A A A的转置。(别忘了这是分子布局的情况下)
其实只要记住分子布局下标量对向量的求导形式:

∂ y ∂ x → = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ⋯ ∂ y ∂ x n ] , x → = [ x 1 x 2 ⋮ x n ] \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} x y=[x1yx2yxny],x =x1x2xn
后面的各种形式也就很容易理解了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值