[机器学习-数学] 矩阵求导(分母布局与分子布局),以及常用的矩阵求导公式

一, 矩阵求导

1,矩阵求导的本质

矩阵A对矩阵B求导: 矩阵A中的每一个元素分别对矩阵B中的每个元素进行求导。

A 1 × 1 A_{1\times1} A1×1 B 1 × 1 B_{1\times1} B1×1 : d A d B \frac{dA}{dB} dBdA 一个导数
A m × 1 A_{m\times1} Am×1 B 1 × 1 B_{1\times1} B1×1 : d A d B \frac{dA}{dB} dBdA m个导数
A m × 1 A_{m\times1} Am×1 B p × 1 B_{p\times1} Bp×1 : d A d B \frac{dA}{dB} dBdA m × p m \times p m×p个导数
A m × n A_{m\times n} Am×n B p × q B_{p\times q} Bp×q : d A d B \frac{dA}{dB} dBdA m × n × p × q m\times n \times p \times q m×n×p×q个导数

我们求导的本质只是把标量求导的结果排列起来,至于是按行排列还是按列排列都是可以的。但是这样也有问题,在我们机器学习算法法优化过程中,如果行向量或者列向量随便写,那么结果就不唯一,乱套了。

为了解决矩阵向量求导的结果不唯一,我们引入求导布局。
最基本的求导布局有两个:分子布局(numerator layout)分母布局(denominator layout )

2,以分母布局为例的矩阵求导的基本原则

对于分母布局来说,我们求导结果的维度以分母为主
∂ f ∂ x < = = 分 子 < = = 分 母 \frac{\partial f}{\partial x} \frac{<==分子}{ <==分母} xf<==<==

原则一

f为标量函数: f ( x 1 , x 2 . . . . x p ) f(x_1, x_2.... x_p) f(x1,x2....xp)
如果x为列向量: x = [ x 1 x 2 ⋮ x p ] p × 1 x =\begin{bmatrix} x_1 \\ x_2\\ \vdots \\x_p \end{bmatrix}_{p\times1} x=x1x2xpp×1
那么定义: ∂ f ∂ x = [ ∂ f ∂ x 1 ∂ f ∂ x 2 ⋮ ∂ f ∂ x p ] p × 1 \frac{\partial f}{\partial x} =\begin{bmatrix} \frac{\partial f}{\partial x_1} \\ \frac{\partial f}{\partial x_2} \\\vdots\\ \frac{\partial f}{\partial x_p} \end{bmatrix}_{p\times1} xf=x1fx2fxpfp×1
如果x为行向量 x = [ x 1 , x 2 . . . x p ] x = [x_1, x_2 ... x_p] x=[x1,x2...xp]
那么 ∂ f ∂ x = [ ∂ f ∂ x 1 , ∂ f ∂ x 2 . . . ∂ f ∂ x p ] 1 × p \frac{\partial f}{\partial x} =[\frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2} ...\frac{\partial f}{\partial x_p}]_{1 \times p} xf=[x1f,x2f...xpf]1×p

原则二

F为列向量
f = [ f 1 ( x ) f 2 ( x ) ⋮ f m ( x ) ] m × 1 f =\begin{bmatrix} f_1(x) \\ f_2(x)\\ \vdots \\f_m(x)\end{bmatrix}_{m\times1} f=f1(x)f2(x)fm(x)m×1
分母x为标量
定义:
∂ f m × 1 ∂ x = [ ∂ f 1 ∂ x , ∂ f 2 ∂ x . . . ∂ f m ∂ x ] 1 × m = ∂ f T ∂ x \frac{\partial f_{m \times 1}}{\partial x} =[\frac{\partial f_1}{\partial x}, \frac{\partial f_2}{\partial x} ...\frac{\partial f_m} {\partial x}]_{1 \times m} = \frac{\partial f^T}{\partial x} xfm×1=[xf1,xf2...xfm]1×m=xfT

扩展:
分子为f的列向量
f = [ f 1 ( x ) f 2 ( x ) ⋮ f m ( x ) ] m × 1 f =\begin{bmatrix} f_1(x) \\ f_2(x)\\ \vdots \\f_m(x)\end{bmatrix}_{m\times1} f=f1(x)f2(x)fm(x)m×1
分母为X的列向量
x = [ x 1 x 2 ⋮ x p ] p × 1 x =\begin{bmatrix} x_1 \\ x_2\\ \vdots \\x_p \end{bmatrix}_{p\times1} x=x1x2xpp×1
原则一推出
∂ f ∂ x = [ ∂ f ∂ x 1 ∂ f ∂ x 2 ⋮ ∂ f ∂ x p ] p × 1 \frac{\partial f}{\partial x} =\begin{bmatrix} \frac{\partial f}{\partial x_1} \\ \frac{\partial f}{\partial x_2}\\ \vdots \\\frac{\partial f}{\partial x_p}\end{bmatrix}_{p\times1} xf=x1fx2fxpfp×1
由原则二推出
= ( ∂ f 1 ∂ x 1 ∂ f 2 ∂ x 1 ⋯ ∂ f m ∂ x 1 ∂ f 1 ∂ x 2 ∂ f 2 ∂ x 2 ⋯ ∂ f m ∂ x 2 ⋮ ⋮ ⋱ ⋮ ∂ f 1 ∂ x p ∂ f 2 ∂ x p ⋯ ∂ f m ∂ x p ) p × m = \begin{pmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_2}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_1} \\ \frac{\partial f_1}{\partial x_2} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_m}{\partial x_2} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f_1}{\partial x_p} & \frac{\partial f_2}{\partial x_p} & \cdots & \frac{\partial f_m}{\partial x_p} \\ \end{pmatrix}_{p \times m} =x1f1x2f1xpf1x1f2x2f2xpf2x1fmx2fmxpfmp×m

3,以分子布局为例的矩阵求导

对于分子布局来说,我们求导结果的维度以分子为主,比如对于我们上面对标量求导的例子,结果的维度和分子的维度是一致的。也就是说,如果向量 f f f是一个m维的列向量,那么求导结果 ∂ f ∂ x \frac{∂f}{∂x} xf也是一个m维列向量。如果如果向量 f f f是一个m维的行向量,那么求导结果 ∂ f ∂ x \frac{∂f}{∂x} xf也是一个m维行向量

4, 总结

可见,对于分子布局和分母布局的结果来说,两者相差一个转置

再举一个例子,标量 f f f对矩阵X求导,那么如果按分母布局,则求导结果的维度和矩阵X的维度m×n是一致的。如果是分子布局,则求导结果的维度为n×m。

但是在机器学习算法原理的资料推导里,我们并没有看到说正在使用什么布局,也就是说布局被隐含了,这就需要自己去推演,比较麻烦。但是一般来说我们会使用一种叫混合布局的思路,即如果是向量或者矩阵对标量求导,则使用分子布局为准,如果是标量对向量或者矩阵求导,则以分母布局为准。对于向量对对向量求导,有些分歧,我的所有文章中会以分子布局的雅克比矩阵为主。
在这里插入图片描述

二,矩阵向量求导之定义法

1. 用定义法求解标量对向量求导

标量对向量求导,严格来说是实值函数对向量的求导。即定义实值函数 f : R n → R f:R^n→R f:RnR,自变量x是n维向量,而输出y是标量。对于一个给定的实值函数,如何求解 ∂ y ∂ x \frac{∂y}{∂x} xy呢?

首先我们想到的是基于矩阵求导的定义来做,由于所谓标量对向量的求导,其实就是标量对向量里的每个分量分别求导,最后把求导的结果排列在一起,按一个向量表示而已。那么我们可以将实值函数对向量的每一个分量来求导,最后找到规律,得到求导的结果向量。

首先我们来看一个简单的例子 y = a T x y=a^Tx y=aTx,求解 ∂ a T x ∂ x \frac{∂a^Tx}{∂x} xaTx
根据定义,我们先对x的第i个分量进行求导,这是一个标量对标量的求导,如下:
∂ a T x ∂ x i = ∂ ∑ j = 1 n a j x j ∂ x i = ∂ a i x i ∂ x i = a i \frac{∂a^Tx}{∂x_i}=\frac{∂∑_{j=1}^na_jx_j}{∂x_i}=\frac{∂a_ix_i}{∂x_i}=a_i xiaTx=xij=1najxj=xiaixi=ai

可见,对向量的第i个分量的求导结果就等于向量a的第i个分量。由于我们是分母布局,最后所有求导结果的分量组成的是一个n维向量。那么其实就是向量a。也就是说:
∂ a T x ∂ x = a \frac{∂a^Tx}{∂x}=a xaTx=a
同样的思路,我们也可以直接得到:
∂ x T a ∂ x = a \frac{∂x^Ta}{∂x}=a xxTa=a

给一个简单的测试,大家看看自己能不能按定义法推导出:
∂ x T x ∂ x = 2 x \frac{∂x^Tx}{∂x}=2x xxTx=2x

再来看一个复杂一点点的例子: y = x T A x y=x^TAx y=xTAx,求解 ∂ x T A x ∂ x \frac{∂x^TAx}{∂x} xxTAx
我们对x的第k个分量进行求导如下:

∂ x T A x ∂ x = ∂ ∑ i = 1 n ∑ j = 1 n x i A i j x j ∂ x k = ∑ i = 1 n A i k x i + ∑ j = 1 n A k j x \frac{∂x^TAx}{∂x}=\frac{∂∑_{i=1}^n∑_{j=1}^nx_iA_{ij}x_j}{∂x_k}=∑_{i=1}^nA_{ik}x_i+∑_{j=1}^nA_{kj}x xxTAx=xki=1nj=1nxiAijxj=i=1nAikxi+j=1nAkjx

这个第k个分量的求导结果稍微复杂些了,仔细观察一下,第一部分是矩阵A的第k列转置后和x相乘得到,第二部分是矩阵A的第k行和x相乘得到,排列好就是:

∂ x T A x ∂ x = A T x + A x \frac{∂x^TAx}{∂x}=A^Tx+Ax xxTAx=ATx+Ax

2. 标量对向量求导的一些基本法则

在我们寻找一些简单的方法前,我们简单看下标量对向量求导的一些基本法则,这些法则和标量对标量求导的过程类似。

  1. 常量对向量的求导结果为0。
  2. 线性法则:如果f,g都是实值函数, c 1 , c 2 c_1,c_2 c1,c2为常数,则:

∂ ( c 1 f ( x ) + c 2 g ( x ) ) ∂ x = c 1 ∂ f ( x ) ∂ x + c 2 ∂ g ( x ) ∂ x \frac{∂(c_1f(x)+c_2g(x))}{∂x}=c_1\frac{∂f(x)}{∂x}+c_2\frac{∂g(x)}{∂x} x(c1f(x)+c2g(x))=c1xf(x)+c2xg(x)

  1. 乘法法则:如果f,g都是实值函数,则:

∂ f ( x ) g ( x ) ∂ x = f ( x ) ∂ g ( x ) ∂ x + ∂ f ( x ) ∂ x g ( x ) \frac{∂f(x)g(x)}{∂x}=f(x)\frac{∂g(x)}{∂x}+\frac{∂f(x)}{∂x}g(x) xf(x)g(x)=f(x)xg(x)+xf(x)g(x)

要注意的是如果不是实值函数,则不能这么使用乘法法则。

  1. 除法法则:如果f,g都是实值函数,且g(x)≠0,则:

∂ f ( x ) / g ( x ) ∂ x = 1 g 2 ( x ) ( g ( x ) ∂ f ( x ) ∂ x − f ( x ) ∂ g ( x ) ∂ x ) \frac{∂f(x)/g(x)}{∂x}=\frac{1}{g^2(x)}(g(x) \frac{∂f(x)}{∂x}−f(x) \frac{∂g(x)}{∂x}) xf(x)/g(x)=g2(x)1(g(x)xf(x)f(x)xg(x))

3. 用定义法求解标量对矩阵求导

现在我们来看看定义法如何解决标量对矩阵的求导问题。其实思路和第一节的标量对向量的求导是类似的,只是最后的结果是一个和自变量同型的矩阵。

我们还是以一个例子来说明。 y = a T X b y=a^TXb y=aTXb,求解 ∂ a T X b ∂ X \frac{∂a^TXb}{∂X} XaTXb
其中, a是m维向量,b是n维向量, X是m×n的矩阵。
我们对矩阵X的任意一个位置的 X i j X_{ij} Xij求导,如下:

∂ a T X b ∂ X i j = ∂ ∑ p = 1 m ∑ q = 1 n a p A p q b q ∂ X i j = ∂ a i A i j b j ∂ X i j = a i b j \frac{∂a^TXb}{∂X_{ij}}=\frac{∂∑_{p=1}^m∑_{q=1}^na_pA_{pq}b_q}{∂X_{ij}}=\frac{∂a_iA_{ij}b_j}{∂X_{ij}}=a_ib_j XijaTXb=Xijp=1mq=1napApqbq=XijaiAijbj=aibj
即求导结果在(i.j)位置的求导结果是a向量第i个分量和b第j个分量的乘积,将所有的位置的求导结果排列成一个m×n的矩阵,即为 a b T ab^T abT,这样最后的求导结果为:

∂ a T X b ∂ X = a b T \frac{∂a^TXb}{∂X}=ab^T XaTXb=abT

4.用定义法求解向量对向量求导

这里我们也同样给出向量对向量求导的定义法的具体例子。
先来一个简单的例子: y = A x y=Ax y=Ax,其中 A A A为n×m的矩阵。 x , y x,y x,y分别为m,n维向量。需要求导 ∂ A x ∂ x \frac{∂Ax}{∂x} xAx,根据定义,结果应该是一个n×m的矩阵
先求矩阵的第i行和向量的内积对向量的第j分量求导,用定义法求解过程如下:
∂ A i x ∂ x j = ∂ A i j x j ∂ x j = A i j \frac{∂A_ix}{∂x_j}=\frac{∂A_{ij}x_j}{∂x_j}=A_{ij} xjAix=xjAijxj=Aij

可见矩阵 A的第i行和向量的内积对向量的第j分量求导的结果就是矩阵 A的(i,j)位置的值。排列起来就是一个矩阵了,由于我们分子布局,所以排列出的结果是A,而不是 A T A^T AT

三、常用的矩阵求导公式

常见的矩阵求导方式有:向量对向量求导,标量对向量求导,向量对标量求导。

1、向量对向量求导

在这里插入图片描述

2、标量对向量求导

在这里插入图片描述
在这里插入图片描述

3、向量对标量求导

在这里插入图片描述

四、几种重要的矩阵

1、梯度(Gradient)

在这里插入图片描述
在这里插入图片描述

2、雅克比矩阵(Jacobian matrix)

下边这个按分子布局的向量对向量求导的结果矩阵,我们一般叫做雅克比 (Jacobian)矩阵。有的资料上会使用 ∂ f ( x ) ∂ x T \frac{∂f(x)}{∂x^T} xTf(x)来定义雅克比矩阵,意义是一样
在这里插入图片描述
在这里插入图片描述

3、海森矩阵(Hessian matrix)

混合布局
在这里插入图片描述


向量关于标量的导数

设向量 y = [ y 1 y 2 . . . y n ] y=\begin{bmatrix} y_{1}\\ y_{2}\\ ...\\ y_{n} \end{bmatrix} y=y1y2...yn和标量x, 则 d y d x = [ d y 1 d x d y 2 d x . . . d y n d x ] \frac{dy}{dx}=\begin{bmatrix} \frac{dy_{1}}{dx}\\ \frac{dy_{2}}{dx}\\ ...\\ \frac{dy_{n}}{dx} \end{bmatrix} dxdy=dxdy1dxdy2...dxdyn

矩阵关于标量的导数

设M×N矩阵 Y = [ y 11 y 12 . . . y 1 n y 21 y 22 . . . y 2 n . . . . . . . . . . . . y m 1 y m 2 . . . y m n ] Y=\begin{bmatrix} y_{11} &y_{12} &... &y_{1n} \\ y_{21} &y_{22} &... &y_{2n} \\ ... &... &... &... \\ y_{m1} &y_{m2} &... &y_{mn} \end{bmatrix} Y=y11y21...ym1y12y22...ym2............y1ny2n...ymn和标量x,则 d Y d x = [ d y 11 d x d y 12 d x . . . d y 1 n d x d y 21 d x d y 22 d x . . . d y 2 n d x . . . . . . . . . . . . d y m 1 d x d y m 2 d x . . . d y m n d x ] \frac{dY}{dx}=\begin{bmatrix} \frac{dy_{11}}{dx} &\frac{dy_{12}}{dx} &... &\frac{dy_{1n}}{dx} \\ \frac{dy_{21}}{dx} &\frac{dy_{22}}{dx} &... &\frac{dy_{2n}}{dx} \\ ... &... &... &... \\ \frac{dy_{m1}}{dx} &\frac{dy_{m2}}{dx} &... &\frac{dy_{mn}}{dx} \end{bmatrix} dxdY=dxdy11dxdy21...dxdym1dxdy12dxdy22...dxdym2............dxdy1ndxdy2n...dxdymn

标量关于向量的导数

设标量y和向量 x = [ x 1 x 2 . . . x n ] , x=\begin{bmatrix} x_{1}\\ x_{2}\\ ...\\ x_{n} \end{bmatrix}, x=x1x2...xn d y d x = [ ∂ y ∂ x 1 ∂ y ∂ x 2 . . . ∂ y ∂ x n ] \frac{dy}{dx}=\begin{bmatrix} \frac{\partial y}{\partial x_{1}}\\ \frac{\partial y}{\partial x_{2}}\\ ...\\ \frac{\partial y}{\partial x_{n}} \end{bmatrix} dxdy=x1yx2y...xny

向量关于向量的导数

设向量 y = [ y 1 y 2 . . . y m ] 和 向 量 x = [ x 1 x 2 . . . x n ] y=\begin{bmatrix} y_{1}\\ y_{2}\\ ...\\ y_{m} \end{bmatrix}和向量x=\begin{bmatrix} x_{1}& x_{2}& ...& x_{n} \end{bmatrix} y=y1y2...ymx=[x1x2...xn],则 d y d 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 m ∂ x 1 ∂ y m ∂ x 2 . . . ∂ y m ∂ x n ] \frac{dy}{dx}=\begin{bmatrix} \frac{\partial y_{1}}{\partial x_{1}} &\frac{\partial y_{1}}{\partial x_{2}} &... &\frac{\partial y_{1}}{\partial x_{n}} \\ \frac{\partial y_{2}}{\partial x_{1}} &\frac{\partial y_{2}}{\partial x_{2}} &... &\frac{\partial y_{2}}{\partial x_{n}} \\ ... &... &... &... \\ \frac{\partial y_{m}}{\partial x_{1}} &\frac{\partial y_{m}}{\partial x_{2}} &... &\frac{\partial y_{m}}{\partial x_{n}} \end{bmatrix} dxdy=x1y1x1y2...x1ymx2y1x2y2...x2ym............xny1xny2...xnym,即Jacobian矩阵

矩阵关于向量的导数

设M×N矩阵 Y = [ y 11 y 12 . . . y 1 n y 21 y 22 . . . y 2 n . . . . . . . . . . . . y m 1 y m 2 . . . y m n ] Y=\begin{bmatrix} y_{11} &y_{12} &... &y_{1n} \\ y_{21} &y_{22} &... &y_{2n} \\ ... &... &... &... \\ y_{m1} &y_{m2} &... &y_{mn} \end{bmatrix} Y=y11y21...ym1y12y22...ym2............y1ny2n...ymn和p维向量 x = [ x 1 x 2 . . . x p ] x=\begin{bmatrix} x_{1}\\ x_{2}\\ ...\\ x_{p} \end{bmatrix} x=x1x2...xp,则 d Y d x = [ ∂ Y ∂ x 1 ∂ Y ∂ x 2 . . . ∂ Y ∂ x p ] \frac{dY}{dx}=\begin{bmatrix} \frac{\partial Y}{\partial x_{1}} \\ \frac{\partial Y}{\partial x_{2}} \\... \\ \frac{\partial Y}{\partial x_{p}} \end{bmatrix} dxdY=x1Yx2Y...xpY
其中 ∂ Y ∂ x i = [ ∂ y 11 ∂ x i ∂ y 12 ∂ x i . . . ∂ y 1 n ∂ x i ∂ y 21 ∂ x i ∂ y 22 ∂ x i . . . ∂ y 2 n ∂ x i . . . . . . . . . . . . ∂ y m 1 ∂ x i ∂ y m 2 ∂ x i . . . ∂ y m n ∂ x i ] \frac{\partial Y}{\partial x_{i}}=\begin{bmatrix} \frac{\partial y_{11}}{\partial x_{i}} &\frac{\partial y_{12}}{\partial x_{i}} &... &\frac{\partial y_{1n}}{\partial x_{i}} \\ \frac{\partial y_{21}}{\partial x_{i}} &\frac{\partial y_{22}}{\partial x_{i}} &... &\frac{\partial y_{2n}}{\partial x_{i}} \\ ... &... &... &... \\ \frac{\partial y_{m1}}{\partial x_{i}} &\frac{\partial y_{m2}}{\partial x_{i}} &... &\frac{\partial y_{mn}}{\partial x_{i}} \end{bmatrix} xiY=xiy11xiy21...xiym1xiy12xiy22...xiym2............xiy1nxiy2n...xiymn

标量关于矩阵的导数

设标量y和M×N矩阵 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} &... &x_{1n} \\ x_{21} &x_{22} &... &x_{2n} \\ ... &... &... &... \\ x_{m1} &x_{m2} &... &x_{mn} \end{bmatrix} X=x11x21...xm1x12x22...xm2............x1nx2n...xmn,则 d y d X = [ ∂ y ∂ x 11 ∂ y ∂ x 12 . . . ∂ y ∂ x 1 n ∂ y ∂ x 21 ∂ y ∂ x 22 . . . ∂ y ∂ x 2 n . . . . . . . . . . . . ∂ y ∂ x m 1 ∂ y ∂ x m 2 . . . ∂ y ∂ x m n ] \frac{dy}{dX}=\begin{bmatrix} \frac{\partial y}{\partial x_{11}} &\frac{\partial y}{\partial x_{12}} &... &\frac{\partial y}{\partial x_{1n}} \\ \frac{\partial y}{\partial x_{21}} &\frac{\partial y}{\partial x_{22}} &... &\frac{\partial y}{\partial x_{2n}} \\ ... &... &... &... \\ \frac{\partial y}{\partial x_{m1}} &\frac{\partial y}{\partial x_{m2}} &... &\frac{\partial y}{\partial x_{mn}} \end{bmatrix} dXdy=x11yx21y...xm1yx12yx22y...xm2y............x1nyx2ny...xmny

向量关于矩阵的导数

设p维向量 y = [ y 1 y 2 . . . y p ] y=\begin{bmatrix} y_{1}\\ y_{2}\\ ...\\ y_{p} \end{bmatrix} y=y1y2...yp和M×N矩阵 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} &... &x_{1n} \\ x_{21} &x_{22} &... &x_{2n} \\ ... &... &... &... \\ x_{m1} &x_{m2} &... &x_{mn} \end{bmatrix} X=x11x21...xm1x12x22...xm2............x1nx2n...xmn,则 d y d X = [ ∂ y ∂ x 11 ∂ y ∂ x 12 . . . ∂ y ∂ x 1 n ∂ y ∂ x 21 ∂ y ∂ x 22 . . . ∂ y ∂ x 2 n . . . . . . . . . . . . ∂ y ∂ x m 1 ∂ y ∂ x m 2 . . . ∂ y ∂ x m n ] \frac{dy}{dX}=\begin{bmatrix} \frac{\partial y}{\partial x_{11}} &\frac{\partial y}{\partial x_{12}} &... &\frac{\partial y}{\partial x_{1n}} \\ \frac{\partial y}{\partial x_{21}} &\frac{\partial y}{\partial x_{22}} &... &\frac{\partial y}{\partial x_{2n}} \\ ... &... &... &... \\ \frac{\partial y}{\partial x_{m1}} &\frac{\partial y}{\partial x_{m2}} &... &\frac{\partial y}{\partial x_{mn}} \end{bmatrix} dXdy=x11yx21y...xm1yx12yx22y...xm2y............x1nyx2ny...xmny

其中 ∂ y ∂ x i j = [ ∂ y 1 ∂ x i j ∂ y 2 ∂ x i j . . . ∂ y p ∂ x i j ] \frac{\partial y}{\partial x_{ij}}=\begin{bmatrix} \frac{\partial y_{1}}{\partial x_{ij}}\\ \frac{\partial y_{2}}{\partial x_{ij}}\\ ...\\ \frac{\partial y_{p}}{\partial x_{ij}} \end{bmatrix} xijy=xijy1xijy2...xijyp

矩阵关于矩阵的导数

设P×Q矩阵 Y = [ y 11 y 12 . . . y 1 q y 21 y 22 . . . y 2 q . . . . . . . . . . . . y p 1 y p 2 . . . y p q ] Y=\begin{bmatrix} y_{11} &y_{12} &... &y_{1q} \\ y_{21} &y_{22} &... &y_{2q} \\ ... &... &... &... \\ y_{p1} &y_{p2} &... &y_{pq} \end{bmatrix} Y=y11y21...yp1y12y22...yp2............y1qy2q...ypq和M×N矩阵 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} &... &x_{1n} \\ x_{21} &x_{22} &... &x_{2n} \\ ... &... &... &... \\ x_{m1} &x_{m2} &... &x_{mn} \end{bmatrix} X=x11x21...xm1x12x22...xm2............x1nx2n...xmn

d Y d X = ( ∂ Y ∂ x i j ) p m × q n = [ ∂ Y ∂ x 11 ∂ Y ∂ x 12 . . . ∂ Y ∂ x 1 n ∂ Y ∂ x 21 ∂ Y ∂ x 22 . . . ∂ Y ∂ x 2 n . . . . . . . . . . . . ∂ Y ∂ x m 1 ∂ Y ∂ x m 2 . . . ∂ Y ∂ x m n ] \frac{dY}{dX}=(\frac{\partial Y}{\partial x_{ij}})_{pm\times qn}=\begin{bmatrix} \frac{\partial Y}{\partial x_{11}} &\frac{\partial Y}{\partial x_{12}} &... &\frac{\partial Y}{\partial x_{1n}} \\ \frac{\partial Y}{\partial x_{21}} &\frac{\partial Y}{\partial x_{22}} &... &\frac{\partial Y}{\partial x_{2n}} \\ ... &... &... &... \\ \frac{\partial Y}{\partial x_{m1}} &\frac{\partial Y}{\partial x_{m2}} &... &\frac{\partial Y}{\partial x_{mn}} \end{bmatrix} dXdY=(xijY)pm×qn=x11Yx21Y...xm1Yx12Yx22Y...xm2Y............x1nYx2nY...xmnY

其中 ∂ Y ∂ x i j = [ ∂ y 11 ∂ x i j ∂ y 12 ∂ x i j . . . ∂ y 1 q ∂ x i j ∂ y 21 ∂ x i j ∂ y 22 ∂ x i j . . . ∂ y 2 q ∂ x i j . . . . . . . . . . . . ∂ y p 1 ∂ x i j ∂ y p 2 ∂ x i j . . . ∂ y p q ∂ x i j ] \frac{\partial Y}{\partial x_{ij}}=\begin{bmatrix} \frac{\partial y_{11}}{\partial x_{ij}} &\frac{\partial y_{12}}{\partial x_{ij}} &... &\frac{\partial y_{1q}}{\partial x_{ij}} \\ \frac{\partial y_{21}}{\partial x_{ij}} &\frac{\partial y_{22}}{\partial x_{ij}} &... &\frac{\partial y_{2q}}{\partial x_{ij}} \\ ... &... &... &... \\ \frac{\partial y_{p1}}{\partial x_{ij}} &\frac{\partial y_{p2}}{\partial x_{ij}} &... &\frac{\partial y_{pq}}{\partial x_{ij}} \end{bmatrix} xijY=xijy11xijy21...xijyp1xijy12xijy22...xijyp2............xijy1qxijy2q...xijypq

参考资料
http://blog.sina.com.cn/s/blog_8eac0b290101fsqb.html
https://www.cnblogs.com/pinard/p/10791506.html

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茫茫人海一粒沙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值