精华内容
下载资源
问答
  • 向量求导方法与技巧

    千次阅读 2020-07-29 19:11:26
    ps:向量是矩阵的特殊形式,当强调行(列)矩阵时,将其写作为向量。 求解规律如下: 标量/矩阵形式的求导: 将分母中的所有元素对标量依次求导,排列顺序与分母排列顺序一致。 矩阵/矩阵形式的求导: 将分子中的元素...

    求导小技巧
    对矩阵求导是学习机器学习的第一步,如果不清楚如何求导机器学习的学习过程将是非常煎熬的,下面是总结的一个小技巧。这个方法是今天我在啃机器学习的时候发现了一个规律,然后对一些矩阵求导例子按照这种方式求导发现对以下案例而言结果是正确的,对其他的求导如果出现不对的地方,还请广大网友多多指正。
    ps:向量是矩阵的特殊形式,当强调行(列)矩阵时,将其写作为向量。
    求解规律如下:
    标量/矩阵形式的求导: 将分母中的所有元素对标量依次求导,排列顺序与分母排列顺序一致。
    矩阵/矩阵形式的求导: 将分子中的元素按照行优先的顺序排列程一个标量序列,按照标量/矩阵的求导方式求解并依次排序。
    下面是一些求导实例
    文章最后又介绍到函数求解公式以及复合函数求导。
    符号说明
    如果没有特殊说明,那么 x \textbf{x} x为一个nx1的列向量, A \textbf{A} A为一个nxn的方阵。
    标量/向量
    f ( x ) f(\textbf{x}) f(x)是向量x的函数 f ( x ) = f ( x 1 , x 2 , x 3 , . . . , x d ) f(\textbf{x})=f(x_1,x_2,x_3,...,x_d) f(x)=f(x1,x2,x3,...,xd)
    x = [ x 1 x 2 x 3 ⋮ x d ] \textbf{x}=\left[ \begin{matrix} x_1\\ x_2\\ x_3\\ \vdots\\ x_d \end{matrix} \right] x=x1x2x3xd
    分子f(x)的第一个元素为标量 f ( x 1 , x 2 , x 3 , . . . , x d ) f(x_1,x_2,x_3,...,x_d) f(x1,x2,x3,...,xd),分母中所有元素对该元素求导,排列顺序与分母的排列方式一致
    d f ( x ) d x = [ d f d x 1 d f d x 2 d f d x 3 ⋮ d f d x d ] (2) \frac{df(x)}{d\textbf{x}}=\left[ \begin{matrix} \frac{df}{dx_1}\\ \frac{df}{dx_2}\\ \frac{df}{dx_3}\\ \vdots\\ \frac{df}{dx_d} \end{matrix} \right]\tag{2} dxdf(x)=dx1dfdx2dfdx3dfdxddf(2)
    与公式(2)的求解方法一样,可以得到以下常用矩阵求导结果
    d y T x d x = d x T y d x = y (3) \frac{d\textbf{y}^\textbf{T}\textbf{x}}{d\textbf{x}}=\frac{d\textbf{x}^\textbf{T}\textbf{y}}{d\textbf{x}}=\textbf{y}\tag{3} dxdyTx=dxdxTy=y(3)

    d x T Ax d x = ( A + A T ) x (4) \frac{d\textbf{x}^\textbf{T}\textbf{A}\textbf{x}}{d\textbf{x}}=(\textbf{A}+\textbf{A}^\textbf{T})\textbf{x}\tag{4} dxdxTAx=(A+AT)x(4)

    公式(3)以及公式(4)中的分子可以化成一个标量,实质上还是标量/向量的形式,求解过程略

    标量/矩阵

    f是一个标量,X是一个mxn的矩阵

    d f d x = [ d f d x 11 ⋯ d f d x 1 n ⋮ ⋱ ⋮ d f d x m 1 ⋯ d f d x m n ] (5) \frac{df}{d\textbf{x}}=\left[ \begin{matrix} \frac{df}{dx_{11}}&\cdots&\frac{df}{dx_{1n}}\\ \vdots&\ddots&\vdots\\ \frac{df}{dx_{m1}}&\cdots&\frac{df}{dx_{mn}} \end{matrix} \right]\tag{5} dxdf=dx11dfdxm1dfdx1ndfdxmndf(5)
    与(2)一样,利用分母对标量f进行求导,排列方式与分母一致

    向量/向量
    先将分子分解成一个个标量,按照标量/向量的方式求解完毕后,在排序;排序方式:若分母是行向量,那么按列排序为新的矩阵,若分母是列向量,那么按照行排列成新的矩阵。
    d Ax d x = ? \frac{d\textbf{Ax}}{d\textbf{x}}=? dxdAx=?
    A是mxd的矩阵,x是长度为d的列向量
    Ax = [ a 11 x 1 + a 12 x 2 ⋯ + a 1 d x d a 21 x 1 + a 22 x 2 ⋯ + a 2 d x d ⋮ a m 1 x 1 + a m 2 x 2 ⋯ + a m d x d ] \textbf{Ax}=\left[ \begin{matrix} a_{11}x_1+a_{12}x_2\cdots+a_{1d}x_d\\ a_{21}x_1+a_{22}x_2\cdots+a_{2d}x_d\\ \vdots\\ a_{m1}x_1+a_{m2}x_2\cdots+a_{md}x_d \end{matrix} \right] Ax=a11x1+a12x2+a1dxda21x1+a22x2+a2dxdam1x1+am2x2+amdxd
    d Ax d x \frac{d\textbf{Ax}}{d\textbf{x}} dxdAx 的求导步骤如下
    step1: 第一个元素为 a 11 x 1 + a 12 x 2 ⋯ + a 1 d x d a_{11}x_1+a_{12}x_2\cdots+a_{1d}x_d a11x1+a12x2+a1dxd,
    分母对第一个元素的求导结果为 [ a 11 a 12 ⋮ a 1 d ] \left[ \begin{matrix} a_{11}\\ a_{12}\\ \vdots\\ a_{1d} \end{matrix} \right] a11a12a1d

    step2: 第二个元素为 a 21 x 1 + a 22 x 2 ⋯ + a 2 d x d a_{21}x_1+a_{22}x_2\cdots+a_{2d}x_d a21x1+a22x2+a2dxd
    分母对第二个元素的求导结果为 [ a 21 a 22 ⋮ a 2 d ] \left[ \begin{matrix} a_{21}\\ a_{22}\\ \vdots\\ a_{2d} \end{matrix} \right] a21a22a2d

    stepm: 第m个元素为 a m 1 x 1 + a m 2 x 2 ⋯ + a m d x d a_{m1}x_1+a_{m2}x_2\cdots+a_{md}x_d am1x1+am2x2+amdxd
    分母对第m个元素的求导结果为 [ a m 1 a m 2 ⋮ a m d ] \left[ \begin{matrix} a_{m1}\\ a_{m2}\\ \vdots\\ a_{md} \end{matrix} \right] am1am2amd
    将结果按照以上求解步骤中出现的顺序排列,最终结果如下
    d Ax d x = A T (6) \frac{d\textbf{Ax}}{d\textbf{x}}=\textbf{A}^\textbf{T}\tag{6} dxdAx=AT(6)

    与公式(4)求解步骤一样,可以得到以下矩阵求解结果
    d x d x = I (7) \frac{d\textbf{x}}{d\textbf{x}}=\textbf{I}\tag{7} dxdx=I(7)

    函数求导公式在向量中的应用
    d f ( x ) g ( x ) d x = ? \frac{d{f(\textbf{x})g(\textbf{x})}}{d\textbf{x}}=? dxdf(x)g(x)=?
    在标量求导中, d f ( x ) g ( x ) d x = f ( x ) d g ( x ) d x + g ( x ) d f ( x ) x \frac{df(x)g(x)}{dx}=f(x)\frac{dg(x)}{dx}+g(x)\frac{df(x)}{x} dxdf(x)g(x)=f(x)dxdg(x)+g(x)xdf(x)
    实际上,这一规则在向量求导中也存在。
    个人常用求导经验如下:
    1.确定求导之后矩阵的排布形式
    2.每一次拆解之后,矩阵之间的乘法与加法必须符合矩阵的运算法则,反之,则需要先尝试对调位置观察是否符合矩阵运算规则,再对非导数项进行转置观察是否符合矩阵运算规则。(注意这一步必须在拆解的时候使用,对调与转置只能进行其中一个变化,对调优先级高于转置)
    3.向量求导最终都可以分解成标量/向量的形式,进而求解。

    示例1:按照乘法求导公式求解 d x T Ax d x \frac{d\textbf{x}^\textbf{T}\textbf{A}\textbf{x}}{d\textbf{x}} dxdxTAx

    step1: 确定结果排布形式,分子为 x T Ax \textbf{x}^\textbf{T}\textbf{A}\textbf{x} xTAx是一个标量,分母为 x \textbf{x} x是一个列向量,最终的求导结果为一个列向量。
    step2: 检查分解之后的公式是否符合矩阵运算规则
    d x T Ax d x = d x T d x Ax + d Ax d x x T \frac{d\textbf{x}^\textbf{T}\textbf{A}\textbf{x}}{d\textbf{x}}=\frac{d\textbf{x}^\textbf{T}}{d\textbf{x}}\textbf{A}\textbf{x}+\frac{d\textbf{A}\textbf{x}}{d\textbf{x}}\textbf{x}^\textbf{T} dxdxTAx=dxdxTAx+dxdAxxT
    加号左侧导数求解之后是一个单位矩阵,所以在左侧或者右侧都可以,但是加号右侧无法满足矩阵乘法规则
    x T \textbf{x}^T xT是一个1xn的矩阵, d Ax d x \frac{d\textbf{A}\textbf{x}}{d\textbf{x}} dxdAx是一个nxn的矩阵,需要对加号右侧两个元素对调,如下:
    d x T Ax d x = Ax d x T d x + x T d Ax d x \frac{d\textbf{x}^\textbf{T}\textbf{A}\textbf{x}}{d\textbf{x}}=\textbf{A}\textbf{x}\frac{d\textbf{x}^\textbf{T}}{d\textbf{x}}+\textbf{x}^\textbf{T}\frac{d\textbf{A}\textbf{x}}{d\textbf{x}} dxdxTAx=AxdxdxT+xTdxdAx
    但是这种方式使加法无法正常相加,再尝试转置进行解决
    d x T Ax d x = Ax d x T d x + d Ax d x x = AXE + A T x = ( A + A T ) x (9) \frac{d\textbf{x}^\textbf{T}\textbf{A}\textbf{x}}{d\textbf{x}}=\textbf{A}\textbf{x}\frac{d\textbf{x}^\textbf{T}}{d\textbf{x}}+\frac{d\textbf{A}\textbf{x}}{d\textbf{x}}\textbf{x}=\textbf{AXE}+\textbf{A}^T\textbf{x}=(\textbf{A}+\textbf{A}^T)\textbf{x} \tag{9} dxdxTAx=AxdxdxT+dxdAxx=AXE+ATx=(A+AT)x(9)
    step3: 简单验证一下,是列向量符合step1。
    可以看到结果与(4)一致。

    示例2:按照链式求导法则求解 d ( Ax ) T AX d x \frac{d{(\textbf{Ax}})^T\textbf{AX}}{d\textbf{x}} dxd(Ax)TAX
    step1: 结果是列向量。
    step2: 检查是否符合运算规则
    d ( Ax ) T AX d x = d u T u d u d u d x \frac{d{(\textbf{Ax}})^T\textbf{AX}}{d\textbf{x}}=\frac{d\textbf{u}^T\textbf{u}}{d\textbf{u}}\frac{d\textbf{u}}{d\textbf{x}} dxd(Ax)TAX=duduTudxdu
    左侧是一个nx1的列向量,右侧是一个nxn的矩阵,显然不符合矩阵运算规则
    尝试对调,并计算
    d ( Ax ) T AX d x = d u d x d u T u d u = A T 2 u = A T 2 Ax = 2 A T Ax (10) \frac{d{(\textbf{Ax}})^T\textbf{AX}}{d\textbf{x}}=\frac{d\textbf{u}}{d\textbf{x}}\frac{d\textbf{u}^T\textbf{u}}{d\textbf{u}}=\textbf{A}^T2\textbf{u}=\textbf{A}^T2\textbf{Ax}=2\textbf{A}^T\textbf{A}\textbf{x}\tag{10} dxd(Ax)TAX=dxdududuTu=AT2u=AT2Ax=2ATAx(10)
    step3: 验证一下,是列向量。

    有兴趣的网友可以利用乘法求导法则求一下示例2,可以发现结果是一致的。

    展开全文
  • 矩阵向量求导(Matrix calculus)

    万次阅读 多人点赞 2017-12-23 11:54:18
    注意到我们也可以讨论向量对矩阵求导,或者是上表中的任何没有填写的部分。然而这些求导的结果的维度太高,所以不能被写成2维矩阵形式。在接下来的三个章节中我们将定义每一种求导形式和与他们相关的一系列的数学...

    #原文地址
    **注:**不要把它和几何运算或者是向量运算混淆
    #前言:
    在数学中,矩阵微积分是进行多变量微积分的一种特殊符号,特别是在矩阵的空间上。 它将关于许多变量的单个函数的各种偏导数和/或关于单个变量的多变量函数的偏导数收集到可以被视为单个实体的向量和矩阵中。 这大大简化例如找到多元函数的最大值或最小值,以及求解微分方程组的操作。 这里使用的符号通常用于统计和工程中,而张量指数符号在物理学中是比较常用的。
    两种对立的符号(行向量和列向量)把矩阵微积分分成了两个独立的阵营。这两个阵营的区别就是他们把标量的导数以行向量还是列向量写入。以行向量还是列向量写入都是可能的,即使人们通常在和矩阵同时处理的时候是以行向量(而不是列向量)的形式写入。一个简单的约定(使用行向量还是列向量)可能成为某个经常使用矩阵微积分计算的行业的业内标准(比如,经济学,统计学,估计理论,和机器学习)。但是即便是某个固定领域中的作者也可能同时使用这两种书写方式。即使在这个领域中已经有了一个大家都认可的规范书写方式。如果不认真处理这两种书写方式混用的情况,则会导致非常严重的错误。因此必须保证符号一致性,这两种约定和他们的区别在布局约定的时候就已经确定了。
    #范围
    矩阵微积分是指一组不同的符号,这组符号使用矩阵和向量来收集因变量的每个分量相对于自变量的每个分量的导数。总的来说,自变量可以是标量,向量,或者是一个矩阵,因变量也可以是上述的三者之一。每一种不同的自变量和因变量的组合都有不同的一套运算规则。矩阵符号是一种有组织的可以方便收集很多导数的方式。
    作为第一个例子,考虑向量微积分中的梯度运算。对于一个有三个自变量的标量方程, f ( x 1 , x 2 , x 3 ) f(x_1,x_2,x_3) f(x1,x2,x3),梯度被定义为下面的方程式:
    ∇ f = ∂ f ∂ x 1 x 1 ^ + ∂ f ∂ x 2 x 2 ^ + ∂ f ∂ x 3 x 3 ^ \nabla f=\dfrac{\partial f}{\partial x_1}\hat{x_1}+\dfrac{\partial f}{\partial x_2}\hat{x_2}+\dfrac{\partial f}{\partial x_3}\hat{x_3} f=x1fx1^+x2fx2^+x3fx3^
    其中: x i ^   i ≤ i ≤ 3 \hat{x_i}\space i\leq i\leq 3 xi^ ii3的和是单位向量。
    这种形式的导数可以被看作是标量 f f f对向量 x \mathbf{x} x其结果可以被向量形式表示。
    ∇ f = ∂ f ∂ x = [ ∂ f ∂ x 1   ∂ f ∂ x 2   ∂ f ∂ x 3 ] T \nabla f=\dfrac{\partial f}{\partial \mathbf{x}}=\left[\dfrac{\partial f}{\partial x_1} \space\dfrac{\partial f}{\partial x_2}\space\dfrac{\partial f}{\partial x_3}\right]^T f=xf=[x1f x2f x3f]T
    更为复杂的形式是一个标量方程对一个矩阵进行求导,也就是梯度矩阵,这个矩阵收集了每一个矩阵元素对应位置的求导结果。如果是那样,被求导的标量就必须是一个包含了所有的矩阵元素的方程。作为另一个例子,如果我们有一个由 m m m个自变量构成的因变量或函数的 n n n维度向量,我们可以考虑因变量向量相对于自变量向量的导数。其结果可以使用一个 m × n m\times n m×n维的包含了所有可能求导组合的矩阵。当然,标量,向量,矩阵,一共有 3 × 3 = 9 3\times 3=9 3×3=9中可能的相互求导的方式。当然有些方式的结果维度太高,于是结果过于复杂。
    下表收集了六种矩阵形式最整齐的求导结果:

    形式标量向量矩阵
    标量 ∂ y ∂ x \dfrac{\partial y}{\partial x} xy ∂ y ∂ x \dfrac{\partial \mathbf{y}}{\partial x} xy ∂ Y ∂ x \dfrac{\partial \mathbf{Y}}{\partial x} xY
    向量 ∂ y ∂ x \dfrac{\partial y}{\partial \mathbf{x}} xy ∂ y ∂ x \dfrac{\partial \mathbf{y}}{\partial \mathbf{x}} xy
    矩阵 ∂ y ∂ X \dfrac{\partial y}{\partial \mathbf{X}} Xy

    在这里我们把矩阵作为最一般的情况,把向量和标量分别视为矩阵的特殊形式。而且,我们使用粗体小写字母代表向量,粗体大写字目代表矩阵。这些符号的使用是贯通全文的。
    注意到我们也可以讨论向量对矩阵求导,或者是上表中的任何没有填写的部分。然而这些求导的结果的维度太高,所以不能被写成2维矩阵形式。在接下来的三个章节中我们将定义每一种求导形式和与他们相关的一系列的数学计算。请参阅布局约定部分以获取更详细的表格。
    ##和其他导数的关系
    矩阵求导不过是一种方便计算的用来保存一系列偏导结果的符号。Fréchet导数是在设置功能性分析的标准的方式,以获取有关向量的导数。在矩阵的矩阵函数为Fréchet可微的情况下,这两个导数将允许符号的转换。 一般在偏导数的情况下,一些公式可能会在弱分析条件下延伸,而不是像导数的存在那样近似线性映射。
    ##用途
    矩阵微积分用于推导最优随机估计量,通常涉及使用拉格朗日乘子。 这包括的导数有:

    • 卡尔曼滤波器
    • 维纳过滤器
    • 高斯混合的期望最大化算法

    #符号
    向量和矩阵的偏导数在本节和后面的章节中使用矩阵符号,使用一个变量代表众多变量。在后面的章节中,我们为了区分标量,向量和矩阵将采用不同的书写方式。我们使用 M ( n , m ) M(n,m) M(n,m)表示一个 n × m n\times m n×m的矩阵,就是说这个矩阵共有 n n n行, m m m列。矩阵使用大写的加粗的字母比如 A , X , Y \mathbf{A,X,Y} A,X,Y等来表示。 M ( n , 1 ) M(n,1) M(n,1)代表一个列向量,使用加粗的小写字母来表示,比如 a , x , y \mathbf{a,x,y} a,x,y等。 M ( 1 , 1 ) M(1,1) M(1,1)代表一个标量使用小写的斜体不加粗的字母来表示,比如 a , t , x {a,t,x} a,t,x等。 X T \mathbf{X}^T XT表示矩阵的转置。 t r ( X ) tr(\mathbf{X}) tr(X)表示矩阵的迹。 d e t ( X ) det(\mathbf{X}) det(X)是矩阵的行列式。所有的方程是都假定可分级为 C 1 C^1 C1,除非另有说明。通常来说,字母表的前半部分 ( a , b , c , …   ) (a,b,c,\dots) (a,b,c,)用来表示常量,而字母表的后半部分用来表示变量 ( t , x , y , …   ) (t,x,y,\dots) (t,x,y,)
    **注:**综上所述,在向量和矩阵中偏导数编排系统中存在不同的符号表示。而且到目前为止都没有一个标准。为了方便,在后面两个章节中,我们统一采用分子布局规范,同时避免更为复杂的讨论。更后面的章节将更加深入讨论布局规范。认识到下面这些是很重要的:

    1. 尽管有“分子布局”和“分母布局”,但是实际上还有多于两种的符号布局可以选择。选择“分子” v s vs vs“分母”(或者在某些情况下,是分子” v s vs vs“混合”)可以独立地进行,标量对向量,向量对标量,向量对向量,向量对矩阵地偏导。有些作者混合使用不同的布局方式。
    2. 下面选择“分子布局”选择并不意味着“分子布局”这是“正确的”或“优越的”选择。 各种布局类型都有优点和缺点。 如果不小心将不同布局的公式结合在一起,就可能导致严重的错误,并且从一个布局转换到另一个时需要注意避免这样的错误。 因此,在使用现有公式时,最好的策略可能是识别使用哪种布局并保持布局一致性,而不是尝试在所有情况下使用相同的布局。

    ##备选方案
    张量索引符号以其爱因斯坦求和约定和矩阵微积分演算是非常相似的,除了一次一个写入仅表示单一组分。它的优点是可以很容易地操作任意高阶张量,而高于二阶的张量则用矩阵符号很难操作。这里所有的工作都可以在不使用单变量矩阵表示法的情况下完成。然而,在估计理论和应用数学的其他领域的许多问题将导致太多的指标得到适当的跟踪,指向这些领域的矩阵微积分。而且,爱因斯坦符号在证明这里提出的身份方面是非常有用的(参见区分一节)作为典型元素符号的替代方法,当明确的和数被执行时会变得麻烦。请注意,矩阵可以被认为是二级张量。
    #向量求导
    因为向量是只有一列的矩阵,所以对向量的偏导是最简单的矩阵偏导。
    这里的符号可以通过识别具有欧几里得空间 R n \mathbf{R}^n Rn n n n向量的空间 M ( n , 1 ) M(n,1) M(n,1)并且使用 R R R来标识标量 M ( 1 , 1 ) M(1,1) M(1,1)来容纳向量演算的常规操作。 对应的向量微积分在每个小节结束时指出。
    注:本节中的讨论假定用于教学目的的分子布局约定。 一些作者使用不同的约定。 关于布局约定的部分更详细地讨论了这个问题。
    ##向量对标量求导
    向量 y = [ y 1 y 2 ⋮ y m ] \mathbf{y}=\left[\begin{aligned}y_1\\y_2\\\vdots\\y_m\end{aligned}\right] y=y1y2ym x x x求导(使用分子布局)可以写成:
    ∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋮ ∂ y m ∂ x ] \dfrac{\partial{\mathbf{y}}}{\partial{x}}=\left[\begin{aligned}\dfrac{\partial{y_1}}{\partial{x}}\\\dfrac{\partial{y_2}}{\partial{x}}\\\vdots\\\dfrac{\partial{y_m}}{\partial{x}}\end{aligned}\right] xy=xy1xy2xym
    在向量微积分中,向量 y \mathbf{y} y相对于标量 x x x的导数被称为向量 y \mathbf{y} y
    切向量
    , ∂ y ∂ x \dfrac{\partial{\mathbf{y}}}{\partial{x}} xy注意到这里 y : R 1 → R m \mathbf{y}:\mathbf{R}^1\rightarrow \mathbf{R}^m y:R1Rm
    示例:
    简单的例子包括欧几里德空间中的速度矢量,它是位置矢量的切向量(视为时间的函数)。 另外,加速度是速度的切向量
    ##标量对向量求导
    元素 y y y对向量 y = [ y 1 y 2 ⋮ y m ] \mathbf{y}=\left[\begin{aligned}&y_1\\&y_2\\&\vdots\\&y_m\end{aligned}\right] y=y1y2ym求导(使用分子布局)可以写成:
    ∂ y ∂ x = [ ∂ y ∂ x 1   ∂ y ∂ x 2   ⋯   ∂ y ∂ x m ] ⋅ \dfrac{\partial{y}}{\partial{\mathbf{x}}}=\left[\begin{aligned}\dfrac{\partial{y}}{\partial{x_1}}\space \dfrac{\partial{y}}{\partial{x_2}}\space \cdots\space \dfrac{\partial{y}}{\partial{x_m}}\end{aligned}\right]\cdot xy=[x1y x2y  xmy]
    在向量演算中,空间 R n \mathbf{R}^n Rn(其独立坐标是x的分量)中的标量场 y y y的梯度是标量由向量求导的转置。在物理学中,所谓电场就是向量梯度的电位。
    一个标量函数 f ( x ) f(\mathbf{x}) f(x)对空间向量 x \mathbf{x} x的方向导数在单位向量 u \mathbf{u} u上的梯度的定义如下:
    ∇ u f ( x ) = ∇ f ( x ) ⋅ u \nabla_{\mathbf{u}}f(\mathbf{x})=\nabla{f(\mathbf{x})\cdot\mathbf{u}} uf(x)=f(x)u
    使用刚刚定义的标量对于向量导数的符号,我们可以将方向导数重写为 ∇ u f ( x ) = ∂ f ∂ x u ⋅ \nabla_{\mathbf{u}}f(\mathbf{x})=\dfrac{\partial{f}}{\partial{\mathbf{x}}}\mathbf{u}\cdot uf(x)=xfu.这种表示形式在使用链式法则或者其他运算的时候非常地友好,因为它和我们熟悉地标量求导非常相似。
    ##向量对向量求导
    前面两种情况中的每一种都可以被认为是使用适当大小的向量对向量求导数的应用。类似地,我们将发现涉及矩阵的导数将以相应的方式减少到涉及向量的导数。
    对函数向量(一个向量其组成是函数) y = [ y 1 y 2 ⋮ y m ] \mathbf{y}=\left[\begin{aligned}\begin{matrix}y_1\\y_2\\\vdots\\y_m\end{matrix}\end{aligned}\right] y=y1y2ym,对一个输入向量 x = [ x 1 x 2 ⋮ x m ] \mathbf{x}=\left[\begin{aligned}\begin{matrix}x_1\\x_2\\\vdots\\x_m\end{matrix}\end{aligned}\right] x=x1x2xm求导(使用分子布局),可以写成:
    ∂ 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 m ∂ x 1 ∂ y m ∂ x 2 ⋯ ∂ y m ∂ x n ] \dfrac{\partial\mathbf{y}}{\partial\mathbf{x}}= \left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y_1}}{\partial{x_1}}&\dfrac{\partial{y_1}}{\partial{x_2}}&\cdots&\dfrac{\partial{y_1}}{\partial{x_n}}\\ \dfrac{\partial{y_2}}{\partial{x_1}}&\dfrac{\partial{y_2}}{\partial{x_2}}&\cdots&\dfrac{\partial{y_2}}{\partial{x_n}}\\ \vdots&\vdots&\ddots&\vdots\\ \dfrac{\partial{y_m}}{\partial{x_1}}&\dfrac{\partial{y_m}}{\partial{x_2}}&\cdots&\dfrac{\partial{y_m}}{\partial{x_n}}\\ \end{matrix} \end{aligned} \right] xy=x1y1x1y2x1ymx2y1x2y2x2ymxny1xny2xnym
    在向量微积分中,向量函数 y \mathbf{y} y相对于其分量表示空间的向量 x \mathbf{x} x的导数被称为前推(或微分)或雅可比矩阵。
    对于 R n \mathbf{R}^n Rn中的向量 v \mathbf{v} v其对于函数向量的前推可以表示为 d f ( v ) = ∂ f ∂ x v \mathbb{d}\mathbf{f}(\mathbf{v})=\dfrac{\partial\mathbf{f}}{\partial\mathbf{x}}\mathbf{v} df(v)=xfv
    #对矩阵求导
    对于矩阵导数有两种类型可以最终整理成相同的大小的矩阵,它们是矩阵对向量求导,还有就是向量对矩阵求导。这些可以用于最小化在应用数学的许多领域中发现的问题,并且已经分别在其向量的类比之后采用名称切线矩阵和梯度矩阵。
    注:本部分的讨论假设分子布局约定。一些作者使用不同的约定。关于布局约定的部分更详细地讨论了这个问题。
    ##矩阵对标量求导
    函数矩阵 Y \mathbf{Y} Y对标量 x x x的求导结果就是
    切矩阵
    ,使用(分子布局)可以表示为:
    ∂ Y ∂ x = [ ∂ y 11 ∂ x ∂ y 12 ∂ x ⋯ ∂ y 1 n ∂ x ∂ y 21 ∂ x ∂ y 22 ∂ x ⋯ ∂ y 2 n ∂ x ⋮ ⋮ ⋱ ⋮ ∂ y m 1 ∂ x ∂ y m 2 ∂ x ⋯ ∂ y m n ∂ x ] \dfrac{\partial\mathbf{Y}}{\partial{x}}= \left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y_{11}}}{\partial{x}}&\dfrac{\partial{y_{12}}}{\partial{x}}&\cdots&\dfrac{\partial{y_{1n}}}{\partial{x}}\\ \dfrac{\partial{y_{21}}}{\partial{x}}&\dfrac{\partial{y_{22}}}{\partial{x}}&\cdots&\dfrac{\partial{y_{2n}}}{\partial{x}}\\ \vdots&\vdots&\ddots&\vdots\\ \dfrac{\partial{y_{m1}}}{\partial{x}}&\dfrac{\partial{y_{m2}}}{\partial{x}}&\cdots&\dfrac{\partial{y_{mn}}}{\partial{x}}\\ \end{matrix} \end{aligned} \right] xY=xy11xy21xym1xy12xy22xym2xy1nxy2nxymn
    ##标量对矩阵求导
    一个标量函数 y y y对于一个 p × q \mathbb{p}\times\mathbb{q} p×q的自变量矩阵的求导,使用(分子布局)可以表示为:
    ∂ y ∂ X = [ ∂ y ∂ x 11 ∂ y ∂ x 21 ⋯ ∂ y ∂ x p 1 ∂ y ∂ x 12 ∂ y ∂ x 22 ⋯ ∂ y ∂ x p 2 ⋮ ⋮ ⋱ ⋮ ∂ y ∂ x 1 q ∂ y ∂ x 2 q ⋯ ∂ y ∂ x p q ] \dfrac{\partial{y}}{\partial{\mathbf{X}}}= \left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y}}{\partial{x_{11}}}&\dfrac{\partial{y}}{\partial{x_{21}}}&\cdots&\dfrac{\partial{y}}{\partial{x_{p1}}}\\ \dfrac{\partial{y}}{\partial{x_{12}}}&\dfrac{\partial{y}}{\partial{x_{22}}}&\cdots&\dfrac{\partial{y}}{\partial{x_{p2}}}\\ \vdots&\vdots&\ddots&\vdots\\ \dfrac{\partial{y}}{\partial{x_{1q}}}&\dfrac{\partial{y}}{\partial{x_{2q}}}&\cdots&\dfrac{\partial{y}}{\partial{x_{pq}}}\\ \end{matrix} \end{aligned} \right] Xy=x11yx12yx1qyx21yx22yx2qyxp1yxp2yxpqy
    矩阵的迹 t r ( X ) tr(\mathbf{X}) tr(X)和其行列式是矩阵的标量函数的重要的例子。
    和向量的微积分类似,这个微分通常被写成如下的形式:
    ∇ x y ( X ) = ∂ y ( X ) ∂ X \nabla_{\mathbf{x}}y(\mathbf{X})=\dfrac{\partial{y(\mathbf{X})}}{\partial\mathbf{X}} xy(X)=Xy(X)
    另外,与向量微积分类似,矩阵 X \mathbf{X} X的标量 f ( X ) \mathbb{f}(\mathbf{X}) f(X)在矩阵Y的方向上的方向导数由下式给出在矩阵 Y Y Y方向上的导数为:
    ∇ Y f = t r ( ∂ f ∂ X Y ) \nabla_{\mathbf{Y}}f=\mathop{\mathbb{tr}}\left(\dfrac{\partial{f}}{\partial\mathbf{X}}\mathbf{Y}\right) Yf=tr(XfY)
    特别是梯度矩阵,它在估计理论的最小化问题中找到了许多用途,特别是在该领域中非常重要的卡尔曼滤波器算法的推导中。

    ##其他矩阵求导(存在争议)
    有三种矩阵的导数我们目前没有看到,他们是向量对矩阵求导,矩阵对向量求导,矩阵对矩阵求导。他们没有统一的符号,也没有统一的应用。对于和向量相关的矩阵两种矩阵导数,可以被看作是一个只有一列的矩阵和另一个矩阵做相互运算。鉴于这个原因,本节我们只考虑如何写出一个矩阵对另一个矩阵求导的导数结果。
    假设 F ( X ) \mathbf{F}(\mathbf{X}) F(X)是一个矩阵函数,它表示从 n × m n\times m n×m矩阵到 p × q p\times q p×q矩阵的映射表示为: F : M ( n × m ) → M ( p × q ) F: M(n\times m)\rightarrow M(p\times q) F:M(n×m)M(p×q)。那么 F ( X ) \mathbf{F}(\mathbf{X}) F(X)就是一个 M ( n × m ) ⊗ M ( p × q ) M(n\times m)\otimes M(p\times q) M(n×m)M(p×q)的元素, M ( n × m ) ⊗ M ( p × q ) M(n\times m)\otimes M(p\times q) M(n×m)M(p×q)是一个四阶张量(在这里 m m m n n n代表 M ( n × m ) M(n\times m) M(n×m)对偶空间),简而言之,一个 m × n m\times n m×n的每一个实体都是一个 p × q p\times q p×q的矩阵。
    ∂ F ∂ X = [ ∂ F ∂ X 1 , 1 ⋯ ∂ F ∂ X 1 , n ⋮ ⋱ ⋮ ∂ F ∂ X m , 1 ⋯ ∂ F ∂ X m , n ] \dfrac{\partial\mathbf{F}}{\partial\mathbf{X}}=\left[\begin{aligned} \begin{matrix} \dfrac{\partial\mathbf{F}}{\partial\mathbf{X}_{1,1}}&\cdots&\dfrac{\partial\mathbf{F}}{\partial\mathbf{X}_{1,n}}\\ \vdots&\ddots&\vdots\\ \dfrac{\partial\mathbf{F}}{\partial\mathbf{X}_{m,1}}&\cdots&\dfrac{\partial\mathbf{F}}{\partial\mathbf{X}_{m,n}}\\ \end{matrix} \end{aligned}\right] XF=X1,1FXm,1FX1,nFXm,nF
    在这里 ∂ F ∂ X i j \dfrac{\partial\mathbf{F}}{\partial\mathbf{X}_{ij}} XijF是一个 p × q p\times q p×q的矩阵。还有就是矩阵被转置了,成了 m m m n n n列。
    Y \mathbf{Y} Y在矩阵 M ( n , m ) M(n,m) M(n,m)中沿着 F \mathbf{F} F的前推是:
    d F ( Y ) = t r ( ∂ F ∂ X Y ) \mathbb{d}\mathbf{F}(\mathbf{Y})=\mathbb{tr}\left(\dfrac{\partial\mathbf{F}}{\partial\mathbf{X}}\mathbf{Y}\right) dF(Y)=tr(XFY)
    对于给定的一个可微分的 n × m n\times m n×m的矩阵 X = ( x i , j ) \mathbf{X}=(x_{i,j}) X=(xi,j)的矩阵方程 ϕ \phi ϕ,
    ∂ ϕ ( X ) ∂ X = [ ∂ ϕ ∂ x 1 , 1 ⋯ ∂ ϕ ∂ x 1 , n ⋮ ⋱ ⋮ ∂ x m , 1 ⋯ ∂ ϕ ∂ x m , n ] \dfrac{\partial\phi(\mathbf{X})}{\partial\mathbf{X}}=\left[\begin{aligned} \begin{matrix} \dfrac{\partial\phi}{\partial{x_{1,1}}}&\cdots&\dfrac{\partial\phi}{\partial{x_{1,n}}}\\ \vdots&\ddots&\vdots\\ {\partial{x_{m,1}}}&\cdots&\dfrac{\partial\phi}{\partial{x_{m,n}}}\\ \end{matrix}\end{aligned}\right] Xϕ(X)=x1,1ϕxm,1x1,nϕxm,nϕ

    对于给定的一个可微分的 n × m n\times m n×m的矩阵 X \mathbf{X} X m × n m\times n m×n的矩阵方程 F = ( f s , t ) \mathbf{F}=(f_{s,t}) F=(fs,t),
    ∂ F ( X ) ∂ X = [ ∂ f 1 , 1 ∂ X ⋯ ∂ f 1 , n ∂ X ⋮ ⋱ ⋮ ∂ f m , 1 ∂ X ⋯ ∂ f m , n ∂ X ] \dfrac{\partial{\mathbf{F}(\mathbf{X})}}{\partial\mathbf{X}}=\left[\begin{aligned}\begin{matrix} \dfrac{\partial{f_{1,1}}}{\partial{\mathbf{X}}}&\cdots&\dfrac{\partial{f_{1,n}}}{\partial{\mathbf{X}}}\\ \vdots&\ddots&\vdots\\ \dfrac{\partial{f_{m,1}}}{\partial{\mathbf{X}}}&\cdots&\dfrac{\partial{f_{m,n}}}{\partial{\mathbf{X}}}\\ \end{matrix}\end{aligned}\right] XF(X)=Xf1,1Xfm,1Xf1,nXfm,n
    雅各布矩阵:
    D F ( X ) = ∂ v e c F ( X ) ∂ ( v e c X ) ′ D\mathbf{F}(\mathbf{X})=\dfrac{\partial\mathbb{vec}\mathbf{F}(\mathbf{X})}{\partial(\mathbb{vec}\mathbf{X})'} DF(X)=(vecX)vecF(X)
    #布局约定
    本节我们使用矩阵微积分来讨论一些关于在众多领域都官方应用的不同符号约定的异同点。可以大致分出两大类的约定,一些作者喜欢把这两种约定混合使用,就像是我们下面讨论的。下面的章节我们将要把这两种对立的形式分开讨论。
    最基本的问题是向量对向量求导的表示,也就是 ∂ y ∂ x \dfrac{\partial\mathbf{y}}{\partial\mathbf{x}} xy,但是就是这个简单的表示形式也有两种对立的写法。如果分子 y \mathbf{y} y的大小是 m m m,并且分母 x \mathbf{x} x的大小是 n n n,那么求导的结果可能是 m × n m\times n m×n或者是 n × m n\times m n×m,也就是说 y \mathbf{y} y使用列向量表示, x \mathbf{x} x使用行向量表示,或者反过来, x \mathbf{x} x使用列向量表示, y \mathbf{y} y使用行向量表示,这两种形式将会导致三种结果:

    • 分子布局: ∂ y ∂ x T \dfrac{\partial\mathbf{y}}{\partial\mathbf{x}^T} xTy,分子是列向量,分母是行向量。这也被称为雅各布方程
    • 分母布局: ∂ y T ∂ x \dfrac{\partial\mathbf{y}^T}{\partial\mathbf{x}} xyT,分母是列向量,分子是行向量。这也被称为海森方程。一些作者把这里的形式称为梯度,为了可以方便和它的转置也就是雅各布方程区分(但是,“梯度”这个词更多的时候是表示 ∂ y ∂ x \dfrac{\partial{y}}{\partial\mathbf{x}} xy,并且忽略向量的布局)
    • 第三中可能就是坚持将导数形式写成 ∂ y ∂ x ′ \dfrac{\partial\mathbf{y}}{\partial\mathbf{x}'} xy,(也就是说,即导数是相对于x的转置)并遵循分子布局。这使得有可能声称矩阵是根据分子和分母来布局的。实际上,这将产生与分子布局相同的结果。

    当处理梯度 ∂ y ∂ x \dfrac{\partial{y}}{\partial\mathbf{x}} xy,或者是其相反的情况 ∂ y ∂ x \dfrac{\partial\mathbf{y}}{\partial{x}} xy,不失一般性,我们将做以下处理:

    • 如果为 ∂ y ∂ x \dfrac{\partial\mathbf{y}}{\partial\mathbf{x}} xy选择分子布局,我们将把梯度 ∂ y ∂ x \dfrac{\partial{y}}{\partial\mathbf{x}} xy写成行向量, ∂ y ∂ x \dfrac{\partial{y}}{\partial\mathbf{x}} xy写成列向量
    • 如果为 ∂ y ∂ x \dfrac{\partial\mathbf{y}}{\partial\mathbf{x}} xy选择分母布局,我们将把梯度 ∂ y ∂ x \dfrac{\partial{y}}{\partial\mathbf{x}} xy写成列向量, ∂ y ∂ x \dfrac{\partial{y}}{\partial\mathbf{x}} xy写成行向量
    • 如果是第三种可能,则参考分子布局

    并不是所有的数学课本或者是论文都通篇采用同一种布局,因为在不同的上下文环境中可以使用不同的布局。比如对于 ∂ y ∂ x \dfrac{\partial\mathbf{y}}{\partial\mathbf{x}} xy,在求解梯度的时候我们采用分母布局(结果写成列向量),但是在求解向量和向量的导数的时候我们使用分母布局。
    类似的,当处理标量对矩阵求导 ∂ y ∂ X \dfrac{\partial y}{\partial\mathbf{X}} Xy或者是矩阵对标量求导 ∂ Y ∂ x \dfrac{\partial\mathbf{Y}}{\partial x} xY的结果,如果使用分子布局则布局结构参考 Y \mathbf{Y} Y X T \mathbf{X}^T XT,如果是分母布局则参考 Y T \mathbf{Y}^T YT X \mathbf{X} X。然而在实际应用中, ∂ Y ∂ x \dfrac{\partial\mathbf{Y}}{\partial x} xY的结果更多参考 Y T \mathbf{Y}^T YT,而且它非常少见,因为他的形式不好,且找不到对应的标量方程,因此有下面的布局:

    • 分子布局: ∂ Y ∂ x \dfrac{\partial\mathbf{Y}}{\partial x} xY参考 Y \mathbf{Y} Y ∂ y ∂ X \dfrac{\partial{y}}{\partial \mathbf{X}} Xy参考 X T \mathbf{X}^T XT.
    • 混合布局: ∂ Y ∂ x \dfrac{\partial\mathbf{Y}}{\partial x} xY参考 Y \mathbf{Y} Y ∂ y ∂ X \dfrac{\partial{y}}{\partial \mathbf{X}} Xy参考 X \mathbf{X} X.
    • 使用符号 Y \mathbf{Y} Y ∂ y ∂ X ′ \dfrac{\partial{y}}{\partial \mathbf{X}'} Xy,结果同分子布局

    在下面的公式中,我们将分别处理不同的五种可能的组合方式 ∂ y ∂ x \dfrac{\partial{y}}{\partial{\mathbf{x}}} xy, ∂ y ∂ x \dfrac{\partial{\mathbf{y}}}{\partial{x}} xy, ∂ y ∂ x \dfrac{\partial{\mathbf{y}}}{\partial{\mathbf{x}}} xy, ∂ y ∂ X \dfrac{\partial{y}}{\partial{\mathbf{X}}} Xy, ∂ Y ∂ x \dfrac{\partial{\mathbf{Y}}}{\partial{x}} xY.
    我们还处理涉及中间向量或矩阵的标量与标量导数的情况。(例如,如果根据标量变量定义多维参数曲线,并且然后相对于参数化曲线的标量取曲线的标量函数的导数,则会出现这种情况。)对于每个我们给出分子布局和分母布局结果,除了分母布局很少出现的情况。在涉及矩阵的情况下,我们给分子布局和混合布局结果。如上所述,矢量和矩阵分母写入转置符号的情况相当于分子没有转置写入分母的情况。
    请记住,不同的作者使用分子和分母布局的不同组合,以适应不同类型的求导,并且不能保证作者将始终如一地使用分子或分母布局。将以下公式与源代码中引用的公式进行匹配,以确定用于该特定类型求导的布局,但要小心,不要假设其他类型的求导必须遵循同一种布局。
    当使用聚集体(向量或矩阵)分母的求导工具来查找聚集体的最大值或最小值时,应该记住,使用分子布局会产生相对于总计转置的结果。例如,在尝试使用矩阵演算找到多元正态分布的最大似然估计值的情况下,如果该区域是 k × 1 k\times 1 k×1 列向量,则使用分子布局的结果将以 1 × k 1\times k 1×k行向量的形式出现。因此,结果应该在最后转换,或者应该使用分母布局(或混合布局)。

    标量$y$向量$\mathbf{y}($大小$m$)矩阵$\mathbf{Y}($大小$m\times n$)
    符号类型符号类型符号类型
    标量$x$$\dfrac{\partial{y}}{\partial{x}}$标量$\dfrac{\partial\mathbf{y}}{\partial{x}}$(分子布局)大小$m$的列向量; (分母布局)大小$m$的列向量$\dfrac{\partial\mathbf{Y}}{\partial{x}}$(分子布局)大小$m\times n$的矩阵
    向量$\mathbf{x}($大小$n$)$\dfrac{\partial{y}}{\partial\mathbf{x}}$(分子布局)大小$n$的行向量; (分母布局)大小$n$的行向量$\dfrac{\partial\mathbf{y}}{\partial\mathbf{x}}$(分子布局)大小$m\times n$的矩阵; (分母布局)大小$n\times m$的矩阵$\dfrac{\partial\mathbf{Y}}{\partial\mathbf{x}}$
    矩阵$\mathbf{Y}($大小$p\times q$)$\dfrac{\partial{y}}{\partial\mathbf{X}}$(分子布局)大小$q\times p$的矩阵; (分母布局)大小$p\times q$的矩阵$\dfrac{\partial\mathbf{y}}{\partial\mathbf{X}}$$\dfrac{\partial\mathbf{Y}}{\partial\mathbf{X}}$
    在分子和分母布局切换的时候需要对结果进行转置操作。

    ##分子布局:
    使用分子布局,我们将得到:
    ∂ y ∂ x = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ⋯ ∂ y ∂ x n ] \dfrac{\partial{y}}{\partial\mathbf{x}}=\left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y}}{\partial{x_1}}&\dfrac{\partial{y}}{\partial{x_2}}\cdots&\dfrac{\partial{y}}{\partial{x_n}}\\ \end{matrix} \end{aligned} \right] xy=[x1yx2yxny]
    ∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋮ ∂ y m ∂ x ] \dfrac{\partial\mathbf{y}}{\partial{x}}=\left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y_1}}{\partial{x}}\\ \dfrac{\partial{y_2}}{\partial{x}}\\ \vdots\\ \dfrac{\partial{y_m}}{\partial{x}}\\ \end{matrix} \end{aligned} \right] xy=xy1xy2xym
    ∂ 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 m ∂ x 1 ∂ y m ∂ x 2 ⋯ ∂ y m ∂ x n ] \dfrac{\partial\mathbf{y}}{\partial\mathbf{x}}=\left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y_1}}{\partial{x_1}}&\dfrac{\partial{y_1}}{\partial{x_2}}&\cdots&\dfrac{\partial{y_1}}{\partial{x_n}}\\ \dfrac{\partial{y_2}}{\partial{x_1}}&\dfrac{\partial{y_2}}{\partial{x_2}}&\cdots&\dfrac{\partial{y_2}}{\partial{x_n}}\\ \vdots&\vdots&\ddots&\vdots&\\ \dfrac{\partial{y_m}}{\partial{x_1}}&\dfrac{\partial{y_m}}{\partial{x_2}}&\cdots&\dfrac{\partial{y_m}}{\partial{x_n}}\\ \end{matrix} \end{aligned} \right] xy=x1y1x1y2x1ymx2y1x2y2x2ymxny1xny2xnym
    ∂ y ∂ X = [ ∂ y ∂ x 11 ∂ y ∂ x 21 ⋯ ∂ y ∂ x p 1 ∂ y ∂ x 12 ∂ y ∂ x 22 ⋯ ∂ y ∂ x p 2 ⋮ ⋮ ⋱ ⋮ ∂ y ∂ x 1 q ∂ y ∂ x 2 q ⋯ ∂ y ∂ x p q ] \dfrac{\partial{y}}{\partial\mathbf{X}}=\left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y}}{\partial{x_{11}}}&\dfrac{\partial{y}}{\partial{x_{21}}}&\cdots&\dfrac{\partial{y}}{\partial{x_{p1}}}\\ \dfrac{\partial{y}}{\partial{x_{12}}}&\dfrac{\partial{y}}{\partial{x_{22}}}&\cdots&\dfrac{\partial{y}}{\partial{x_{p2}}}\\ \vdots&\vdots&\ddots&\vdots&\\ \dfrac{\partial{y}}{\partial{x_{1q}}}&\dfrac{\partial{y}}{\partial{x_{2q}}}&\cdots&\dfrac{\partial{y}}{\partial{x_{pq}}}\\ \end{matrix} \end{aligned} \right] Xy=x11yx12yx1qyx21yx22yx2qyxp1yxp2yxpqy
    下面的定义只在分子布局下适用:
    ∂ Y ∂ x = [ ∂ y 11 ∂ x ∂ y 12 ∂ x ⋯ ∂ y 1 n ∂ x ∂ y 21 ∂ x ∂ y 22 ∂ x ⋯ ∂ y 2 n ∂ x ⋮ ⋮ ⋱ ⋮ ∂ y m 1 ∂ x ∂ y m 2 ∂ x ⋯ ∂ y m n ∂ x ] \dfrac{\partial\mathbf{Y}}{\partial{x}}=\left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y_{11}}}{\partial{x}}&\dfrac{\partial{y_{12}}}{\partial{x}}&\cdots&\dfrac{\partial{y_{1n}}}{\partial{x}}\\ \dfrac{\partial{y_{21}}}{\partial{x}}&\dfrac{\partial{y_{22}}}{\partial{x}}&\cdots&\dfrac{\partial{y_{2n}}}{\partial{x}}\\ \vdots&\vdots&\ddots&\vdots&\\ \dfrac{\partial{y_{m1}}}{\partial{x}}&\dfrac{\partial{y_{m2}}}{\partial{x}}&\cdots&\dfrac{\partial{y_{mn}}}{\partial{x}}\\ \end{matrix} \end{aligned} \right] xY=xy11xy21xym1xy12xy22xym2xy1nxy2nxymn
    d X = [ d x 11 d x 12 ⋯ d x 1 n d x 21 d x 22 ⋯ d x 2 n ⋮ ⋮ ⋱ ⋮ d x m 1 d x m 2 ⋯ d x m n ] \mathbb{d}\mathbf{X}=\left[ \begin{aligned} \begin{matrix} \mathbb{d}x_{11}&\mathbb{d}x_{12}&\cdots&\mathbb{d}x_{1n}\\ \mathbb{d}x_{21}&\mathbb{d}x_{22}&\cdots&\mathbb{d}x_{2n}\\ \vdots&\vdots&\ddots&\vdots&\\ \mathbb{d}x_{m1}&\mathbb{d}x_{m2}&\cdots&\mathbb{d}x_{mn}\\ \end{matrix} \end{aligned} \right] dX=dx11dx21dxm1dx12dx22dxm2dx1ndx2ndxmn

    ##分母布局:
    使用分子布局,我们将得到:
    ∂ y ∂ x = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ⋮ ∂ y ∂ x n ] \dfrac{\partial{y}}{\partial\mathbf{x}}=\left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y}}{\partial{x_1}}\\ \dfrac{\partial{y}}{\partial{x_2}}\\ \vdots\\ \dfrac{\partial{y}}{\partial{x_n}}\\ \end{matrix} \end{aligned} \right] xy=x1yx2yxny
    ∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋯ ∂ y m ∂ x ] \dfrac{\partial\mathbf{y}}{\partial{x}}=\left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y_1}}{\partial{x}}&\dfrac{\partial{y_2}}{\partial{x}}\cdots&\dfrac{\partial{y_m}}{\partial{x}}\\ \end{matrix} \end{aligned} \right] xy=[xy1xy2xym]
    ∂ y ∂ x = [ ∂ y 1 ∂ x 1 ∂ y 2 ∂ x 1 ⋯ ∂ y m ∂ x 1 ∂ y 2 ∂ x 2 ∂ y 2 ∂ x 2 ⋯ ∂ y 2 ∂ x 2 ⋮ ⋮ ⋱ ⋮ ∂ y 1 ∂ x n ∂ y 2 ∂ x n ⋯ ∂ y m ∂ x n ] \dfrac{\partial\mathbf{y}}{\partial\mathbf{x}}=\left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y_1}}{\partial{x_1}}&\dfrac{\partial{y_2}}{\partial{x_1}}&\cdots&\dfrac{\partial{y_m}}{\partial{x_1}}\\ \dfrac{\partial{y_2}}{\partial{x_2}}&\dfrac{\partial{y_2}}{\partial{x_2}}&\cdots&\dfrac{\partial{y_2}}{\partial{x_2}}\\ \vdots&\vdots&\ddots&\vdots&\\ \dfrac{\partial{y_1}}{\partial{x_n}}&\dfrac{\partial{y_2}}{\partial{x_n}}&\cdots&\dfrac{\partial{y_m}}{\partial{x_n}}\\ \end{matrix} \end{aligned} \right] xy=x1y1x2y2xny1x1y2x2y2xny2x1ymx2y2xnym
    ∂ y ∂ X = [ ∂ y ∂ x 11 ∂ y ∂ x 12 ⋯ ∂ y ∂ x 1 p ∂ y ∂ x 21 ∂ y ∂ x 22 ⋯ ∂ y ∂ x 2 p ⋮ ⋮ ⋱ ⋮ ∂ y ∂ x q 1 ∂ y ∂ x q 2 ⋯ ∂ y ∂ x q p ] \dfrac{\partial{y}}{\partial\mathbf{X}}=\left[ \begin{aligned} \begin{matrix} \dfrac{\partial{y}}{\partial{x_{11}}}&\dfrac{\partial{y}}{\partial{x_{12}}}&\cdots&\dfrac{\partial{y}}{\partial{x_{1p}}}\\ \dfrac{\partial{y}}{\partial{x_{21}}}&\dfrac{\partial{y}}{\partial{x_{22}}}&\cdots&\dfrac{\partial{y}}{\partial{x_{2p}}}\\ \vdots&\vdots&\ddots&\vdots&\\ \dfrac{\partial{y}}{\partial{x_{q1}}}&\dfrac{\partial{y}}{\partial{x_{q2}}}&\cdots&\dfrac{\partial{y}}{\partial{x_{qp}}}\\ \end{matrix} \end{aligned} \right] Xy=x11yx21yxq1yx12yx22yxq2yx1pyx2pyxqpy
    #恒等式
    综上所述,如果涉及到分子布局和分母布局的切换,则运算结果会发生转置。
    为了搞懂下面的一些等式,应该记得下面的一些规则:链式法则,乘积法则,总体法则。总和规则通用,乘积规则适用于以下大多数情况,条件是维持矩阵乘积的秩序,因为矩阵乘积是不可交换的。链式规则适用于某些情况,但不幸的是,不适用于矩阵对向量求导或向量对矩阵求导(后者主要涉及应用于矩阵的跟踪算子)。在后一种情况下,乘积规则也不能直接应用,但是使用微分恒等式可以做更多的工作。

    ##向量对向量求导恒等式
    首先介绍这一点,因为所有适用于向量对向量微分的操作都直接适用于向量对标量,或者是标量对向量的微分,只需将分子或分母中的的向量简化为标量即可。
    恒等式:向量对向量求导 ∂ y ∂ x \dfrac{\partial\mathbf{y}}{\partial\mathbf{x}} xy

    情况表达式分子布局分母布局
    $\mathbf{a}$不是$\mathbf{x}$的函数$\dfrac{\partial\mathbf{a}}{\partial\mathbf{x}}=$$\mathbf{0}$
    $\dfrac{\partial\mathbf{x}}{\partial\mathbf{x}}=$$\mathbf{I}$
    $\mathbf{A}$不是$\mathbf{x}$的函数$\dfrac{\partial\mathbf{Ax}}{\partial\mathbf{x}}=$$\mathbf{A}$$\mathbf{A}^T$
    $\dfrac{\partial\mathbf{x}^T\mathbf{A}}{\partial\mathbf{x}}=$$\mathbf{A}^T$$\mathbf{A}$
    $a$不是$\mathbf{x}$的函数,$\mathbf{u}=\mathbf{u}(\mathbf{x})$$\dfrac{\partial a\mathbf{u}}{\partial\mathbf{x}}=$$a\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}$
    $a=a(\mathbf{x})$,$\mathbf{u}=\mathbf{u}(\mathbf{x})$$\dfrac{\partial a\mathbf{u}}{\partial\mathbf{x}}=$$a\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}+\mathbf{u}\dfrac{\partial a}{\partial\mathbf{x}}$$a\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}+\dfrac{\partial a}{\partial\mathbf{x}}\mathbf{u}^T$
    $\mathbf{A}$不是$\mathbf{x}$的函数,$\mathbf{u}=\mathbf{u}(\mathbf{x})$$\dfrac{\partial \mathbf{A}\mathbf{u}}{\partial\mathbf{x}}=$$\mathbf{A}\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}$$\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}\mathbf{A}^T$
    $\mathbf{u}=\mathbf{u}(\mathbf{x})$,$\mathbf{v}=\mathbf{v}(\mathbf{x})$$\dfrac{\partial(\mathbf{u}+\mathbf{v})}{\partial\mathbf{x}}=$$\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}+\dfrac{\partial \mathbf{v}}{\partial\mathbf{x}}$
    $\mathbf{u}=\mathbf{u}(\mathbf{x})$$\dfrac{\partial\mathbf{g(u)}}{\partial\mathbf{x}}=$$\dfrac{\partial\mathbf{g(u)}}{\partial\mathbf{u}}\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}$$\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}\dfrac{\partial\mathbf{g(u)}}{\partial\mathbf{u}}$
    $\dfrac{\partial\mathbf{f(g(u))}}{\partial\mathbf{x}}=$$\dfrac{\partial\mathbf{f(g)}}{\partial\mathbf{g}}\dfrac{\partial\mathbf{g(u)}}{\partial\mathbf{u}}\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}$$\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}\dfrac{\partial\mathbf{g(u)}}{\partial\mathbf{u}}\dfrac{\partial\mathbf{f(g)}}{\partial\mathbf{g}}$

    ##标量对向量求导恒等式
    基本的恒等式在黑线的上方

    情况表达式分子布局分母布局
    第一部分
    $a$不是向量$\mathbf{x}$的方程$\dfrac{\partial a}{\partial\mathbf{x}}=$$\mathbf{0}^T$$\mathbf{0}$
    $a$不是向量$\mathbf{x}$的方程,$u=u(\mathbf{x})$$\dfrac{\partial au}{\partial\mathbf{x}}=$$a\dfrac{\partial u}{\partial\mathbf{x}}$
    $u=u(\mathbf{x})$,$v=v(\mathbf{x})$$\dfrac{\partial(u+v)}{\partial\mathbf{x}}=$$\dfrac{\partial{u}}{\partial\mathbf{x}}+\dfrac{\partial{v}}{\partial\mathbf{x}}$
    $\dfrac{\partial(uv)}{\partial\mathbf{x}}=$$u\dfrac{\partial{v}}{\partial\mathbf{x}}+v\dfrac{\partial{u}}{\partial\mathbf{x}}$
    $u=u(\mathbf{x})$$\dfrac{\partial{g(u)}}{\partial\mathbf{x}}=$$\dfrac{\partial{g(u)}}{\partial{u}}\dfrac{\partial{u}}{\partial\mathbf{x}}$
    $\dfrac{\partial{f(g(u))}}{\partial\mathbf{x}}=$ $\dfrac{\partial{f(g)}}{\partial{g}}\dfrac{\partial{g(u)}}{\partial{u}}\dfrac{\partial{u}}{\partial\mathbf{x}}$ $\mathbf{u} = \mathbf{u}(\mathbf{x}), \mathbf{v} = \mathbf{v}(\mathbf{x})$ $\dfrac{\partial(\mathbf{u}\cdot\mathbf{v})}{\partial\mathbf{x}}=\dfrac{\partial\mathbf{u}^T\mathbf{v}}{\partial\mathbf{x}}=$ $\mathbf{u}^T\dfrac{\partial\mathbf{v}}{\partial\mathbf{x}}+\mathbf{v}^T\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}$此处假定$\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}$和$\dfrac{\partial\mathbf{v}}{\partial\mathbf{x}}$为分子布局 $\dfrac{\partial\mathbf{v}}{\partial\mathbf{x}}\mathbf{v}+\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}\mathbf{u}$此处假定$\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}$和$\dfrac{\partial\mathbf{v}}{\partial\mathbf{x}}$为分母布局 $\mathbf{u} = \mathbf{u}(\mathbf{x}), \mathbf{v} = \mathbf{v}(\mathbf{x})$$\mathbf{A}$不是关于向量$\mathbf{x}$的函数 $\dfrac{\partial(\mathbf{u}\cdot\mathbf{A}\mathbf{v})}{\partial\mathbf{x}}=\dfrac{\partial\mathbf{u}^T\mathbf{A}\mathbf{v}}{\partial\mathbf{x}}=$ $\mathbf{u}^T\mathbf{A}\dfrac{\partial\mathbf{v}}{\partial\mathbf{x}}+\mathbf{v}^T\mathbf{A}^T\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}$此处假定$\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}$和$\dfrac{\partial\mathbf{v}}{\partial\mathbf{x}}$为分子布局 $\dfrac{\partial\mathbf{v}}{\partial\mathbf{x}}\mathbf{A}\mathbf{v}+\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}\mathbf{A}^T\mathbf{u}$此处假定$\dfrac{\partial\mathbf{u}}{\partial\mathbf{x}}$和$\dfrac{\partial\mathbf{v}}{\partial\mathbf{x}}$为分母布局 $\dfrac{\partial^2}{\partial\mathbf{x}\partial\mathbf{x}^T}=$ $\mathbf{H}$,海森矩阵 第二部分 $\mathbf{a}$不是关于向量$\mathbf{x}$的方程 $\dfrac{\partial{(\mathbf{a}\cdot\mathbf{x}})}{\partial{\mathbf{x}}}=\dfrac{\partial{(\mathbf{x}\cdot\mathbf{a}})}{\partial{\mathbf{x}}}=\dfrac{\partial{\mathbf{a}^T\mathbf{x}}}{\partial{\mathbf{x}}}=\dfrac{\partial{\mathbf{x}^T\mathbf{a}}}{\partial{\mathbf{x}}}=$ $\mathbf{a}^T$ $\mathbf{a}$ $\mathbf{A}$不是关于向量$\mathbf{x}$的方程,$\mathbf{a}$不是关于向量$\mathbf{x}$的方程 $\dfrac{\partial{\mathbf{b}^T\mathbf{Ax}}}{\partial{\mathbf{x}}}=$ $\mathbf{b}^T\mathbf{A}$ $\mathbf{A}^T\mathbf{b}$ $\mathbf{A}$不是关于向量$\mathbf{x}$的方程 $\dfrac{\partial{\mathbf{x}^T\mathbf{Ax}}}{\partial{\mathbf{x}}}=$ $\mathbf{x}^T(\mathbf{A}+\mathbf{A}^T)$ $(\mathbf{A}+\mathbf{A}^T)\mathbf{x}$ $\mathbf{A}$不是关于向量$\mathbf{x}$的方程,$\mathbf{A}$是对称矩阵 $\dfrac{\partial{\mathbf{x}^T\mathbf{Ax}}}{\partial{\mathbf{x}}}=$ $2\mathbf{x}^T\mathbf{A}$ $2\mathbf{A}\mathbf{x}$ $\mathbf{A}$不是关于向量$\mathbf{x}$的方程 $\dfrac{\partial^2{\mathbf{x}^T\mathbf{Ax}}}{\partial{\mathbf{x}}}=$ $\mathbf{A}+\mathbf{A}^T$ $\mathbf{A}$不是关于向量$\mathbf{x}$的方程,$\mathbf{A}$是对称矩阵 $\dfrac{\partial^2{\mathbf{x}^T\mathbf{Ax}}}{\partial{\mathbf{x}}}=$ $2\mathbf{A}$ $\dfrac{\partial{(\mathbf{x}\cdot\mathbf{x}})}{\partial{\mathbf{x}}}=\dfrac{\partial{\mathbf{x}^T\mathbf{x}}}{\partial{\mathbf{x}}}=$ $2\mathbf{x}^T$ $2\mathbf{x}$ 续表:
    情况表达式分子布局分母布局
    $\mathbf{a}$不是关于$\mathbf{x}$的函数,$\mathbf{u}=\mathbf{u}(\mathbf{x})$$\dfrac{\partial{(\mathbf{a}\cdot\mathbf{u}})}{\partial{\mathbf{x}}}=\dfrac{\partial{\mathbf{a}^T\mathbf{u}}}{\partial{\mathbf{x}}}=$$\mathbf{a}^T\dfrac{\partial{\mathbf{u}}}{\partial{\mathbf{x}}}$这里假设$\dfrac{\partial{\mathbf{u}}}{\partial{\mathbf{x}}}$采用分子布局$\dfrac{\partial{\mathbf{u}}}{\partial{\mathbf{x}}}\mathbf{a}$这里假设$\dfrac{\partial{\mathbf{u}}}{\partial{\mathbf{x}}}$采用分母布局
    $\mathbf{a}$和$\mathbf{b}$都不是关于$\mathbf{x}$的函数$\dfrac{\partial{\mathbf{a}^T\mathbf{x}\mathbf{x}^T\mathbf{b}}}{\partial{\mathbf{x}}}=$$\mathbf{x}^T(\mathbf{a}\mathbf{b}^T+\mathbf{b}\mathbf{a}^T)$$(\mathbf{a}\mathbf{b}^T+\mathbf{b}\mathbf{a}^T)\mathbf{x}^T$
    $\mathbf{A}$和$\mathbf{b}$,$\mathbf{C}$,$\mathbf{D}$都不是关于$\mathbf{x}$的函数$\dfrac{\partial{({\mathbf{Ax}+\mathbf{b}})^T\mathbf{C}({\mathbf{Dx}+\mathbf{e}})}}{\partial{\mathbf{x}}}=$$({\mathbf{Dx}+\mathbf{e}})^T\mathbf{C}^T\mathbf{A}+({\mathbf{Ax}+\mathbf{b}})^T\mathbf{C}\mathbf{D}$$\mathbf{D}^T\mathbf{C}^T({\mathbf{Ax}+\mathbf{b}})^T+\mathbf{A}^T\mathbf{C}({\mathbf{Dx}+\mathbf{e}})^T$
    $\mathbf{a}$不是关于$\mathbf{x}$的函$\dfrac{\partial{(\mathbf{a}\cdot\mathbf{u}})}{\partial{\mathbf{x}}}=\dfrac{\partial{\mathbf{a}^T\mathbf{u}}}{\partial{\mathbf{x}}}=$$\mathbf{a}^T\dfrac{\partial{\mathbf{u}}}{\partial{\mathbf{x}}}$这里假设$\dfrac{\partial{\mathbf{u}}}{\partial{\mathbf{x}}}$采用分子布局$\dfrac{\partial{\mathbf{u}}}{\partial{\mathbf{x}}}\mathbf{a}$这里假设$\dfrac{\partial{\mathbf{u}}}{\partial{\mathbf{x}}}$采用分母布局
    $\mathbf{a}$不是关于$\mathbf{x}$的函数$\dfrac{\partial{||\mathbf{x}-\mathbf{a}||}}{\partial{\mathbf{x}}}=$$\dfrac{(\mathbf{x}-\mathbf{a})^T}{||\mathbf{x}-\mathbf{a}||}$$\dfrac{\mathbf{x}-\mathbf{a}}{||\mathbf{x}-\mathbf{a}||}$

    #向量对标量求导恒等式

    情况表达式分子布局分母布局
    $\mathbf{a}$不是关于$x$的函数$\dfrac{\partial{\mathbf{a}}}{x}=$$\mathbf{0}$
    $a$不是关于$x$的函数,$\mathbf{u}=\mathbf{u}(\mathbf{x})$$\dfrac{\partial{a\mathbf{u}}}{x}=$$a\dfrac{\partial{\mathbf{u}}}{x}$
    $\mathbf{A}$不是关于$x$的函数,$\mathbf{u}=\mathbf{u}(\mathbf{x})$$\dfrac{\partial{\mathbf{A}\mathbf{u}}}{x}=$$\mathbf{A}\dfrac{\partial{\mathbf{u}}}{x}$$\dfrac{\partial{\mathbf{u}}}{x}\mathbf{A}^T$
    $\mathbf{u}=\mathbf{u}(\mathbf{x})$$\dfrac{\partial{\mathbf{u}^T}}{x}=$$\left(\dfrac{\partial{\mathbf{u}}}{x}\right)^T$
    $\mathbf{u}=\mathbf{u}(\mathbf{x}),\mathbf{v}=\mathbf{v}(\mathbf{x})$$\dfrac{\partial{(\mathbf{u}+\mathbf{v})}}{x}=$$\dfrac{\partial{\mathbf{u}}}{x}+\dfrac{\partial{\mathbf{v}}}{x}$
    $\mathbf{u}=\mathbf{u}(\mathbf{x}),\mathbf{v}=\mathbf{v}(\mathbf{x})$$\dfrac{\partial{(\mathbf{u}^T\times\mathbf{v})}}{x}=$$\left(\dfrac{\partial{\mathbf{u}}}{x}\right)^T\times\mathbf{v}+\mathbf{u}^T\times\dfrac{\partial{\mathbf{v}}}{x}$$\dfrac{\partial{\mathbf{u}}}{x}\times\mathbf{v}+\mathbf{u}^T\times\left(\dfrac{\partial{\mathbf{v}}}{x}\right)$
    $\mathbf{u}=\mathbf{u}(\mathbf{x})$$\dfrac{\partial{\mathbf{g(u)}}}{x}=$$\dfrac{\partial{\mathbf{g(u)}}}{\mathbf{u}}\dfrac{\partial{\mathbf{u}}}{x}注$$\dfrac{\partial{\mathbf{u}}}{x}\dfrac{\partial{\mathbf{g(u)}}}{\mathbf{u}}注$
    $\mathbf{u}=\mathbf{u}(\mathbf{x})$$\dfrac{\partial{\mathbf{f(g(u))}}}{x}=$$\dfrac{\partial{\mathbf{f(g)}}}{\mathbf{g}}\dfrac{\partial{\mathbf{g(u)}}}{\mathbf{u}}\dfrac{\partial{\mathbf{u(x)}}}{\mathbf{x}}注$$\dfrac{\partial{\mathbf{u(x)}}}{\mathbf{x}}\dfrac{\partial{\mathbf{g(u)}}}{\mathbf{u}}\dfrac{\partial{\mathbf{f(g)}}}{\mathbf{g}}注$
    $\mathbf{U}=\mathbf{U}(\mathbf{x}),\mathbf{v}=\mathbf{v}(\mathbf{x})$$\dfrac{\partial{(\mathbf{U}\times\mathbf{v})}}{x}=$$\dfrac{\partial{\mathbf{U}}}{x}\times\mathbf{v}+\mathbf{U}\times\dfrac{\partial{\mathbf{v}}}{x}$$\mathbf{v}^T\times\left(\dfrac{\partial{\mathbf{U}}}{x}\right)+\dfrac{\partial{\mathbf{v}}}{x}\times\mathbf{U}^T$
    注:在涉及了向量对向量($\dfrac{\partial\mathbf{g(u)}}{\partial{\mathbf{u}}}$和$\dfrac{\partial\mathbf{f(g)}}{\partial{\mathbf{g}}}$)求导的公式中,我们都假设矩阵和向量采用同一种布局方式。 #标量对矩阵求导 **部分:**
    情形表达式分子布局分母布局
    $a$不是关于$\mathbf{X}$的函数$\dfrac{\partial a}{\partial \mathbf{X}}=$$\mathbf{0}^T$$\mathbf{0}$
    $a$不是关于$\mathbf{X}$的函数$,u=u(x)$$\dfrac{\partial{au}}{\partial \mathbf{X}}$$a\dfrac{\partial{u}}{\partial \mathbf{X}}$
    $u=u(\mathbf{X}),v=v(\mathbf{X})$$\dfrac{\partial{(u+v)}}{\partial \mathbf{X}}$$\dfrac{\partial{u}}{\partial \mathbf{X}}+\dfrac{\partial{v}}{\partial \mathbf{X}}$
    $u=u(\mathbf{X}),v=v(\mathbf{X})$$\dfrac{\partial{(uv)}}{\partial \mathbf{X}}$$u\dfrac{\partial{v}}{\partial \mathbf{X}}+v\dfrac{\partial{u}}{\partial \mathbf{X}}$
    $u=u(\mathbf{X})$$\dfrac{\partial{g(u)}}{\partial \mathbf{X}}$$\dfrac{\partial{g(u)}}{\partial \mathbf{u}}\dfrac{\partial{u}}{\partial \mathbf{X}}$
    $u=u(\mathbf{X})$$\dfrac{\partial{f(g(u))}}{\partial \mathbf{X}}$$\dfrac{\partial{f(g)}}{\partial \mathbf{g}}\dfrac{\partial{g(u)}}{\partial \mathbf{u}}\dfrac{\partial{u}}{\partial \mathbf{X}}$
    #矩阵对标量 **部分:**
    情形表达式分子布局分母布局
    $\mathbf U=\mathbf U(x)$$\dfrac{\partial{a\mathbf U}}{\partial x}$$a\dfrac{\partial{\mathbf U}}{\partial x}$
    $A$,$B$不是关于$x$的函数,$\mathbf U=\mathbf U(x)$$\dfrac{\partial{\mathbf {AUB}}}{\partial x}$$\mathbf{A}\dfrac{\partial{\mathbf U}}{\partial x}\mathbf{B}$
    $\mathbf U=\mathbf U(x),\mathbf V=\mathbf V(x)$$\dfrac{\partial{(\mathbf U+\mathbf V) }}{\partial x}$$\dfrac{\partial{\mathbf U}}{\partial x}+\dfrac{\partial{\mathbf V} }{\partial x}$
    $\mathbf U=\mathbf U(x),\mathbf V=\mathbf V(x)$$\dfrac{\partial{(\mathbf U\mathbf V) }}{\partial x}$$\mathbf U\dfrac{\partial{\mathbf V}}{\partial x}+\mathbf V\dfrac{\partial{\mathbf U} }{\partial x}$
    $\mathbf U=\mathbf U(x),\mathbf V=\mathbf V(x)$$\dfrac{\partial{(\mathbf U\otimes\mathbf V) }}{\partial x}$$\mathbf U\otimes\dfrac{\partial{\mathbf V}}{\partial x}+\mathbf V\otimes\dfrac{\partial{\mathbf U} }{\partial x}$
    $\mathbf U=\mathbf U(x),\mathbf V=\mathbf V(x)$$\dfrac{\partial{(\mathbf U\circ\mathbf V) }}{\partial x}$$\mathbf U\circ\dfrac{\partial{\mathbf V}}{\partial x}+\mathbf V\circ\dfrac{\partial{\mathbf U} }{\partial x}$
    都是以前辛苦翻译的不想删除 #翻译: ##part1: http://blog.csdn.net/uncle_gy/article/details/78861467 ##part2: http://blog.csdn.net/uncle_gy/article/details/78871515 ##part3: http://blog.csdn.net/uncle_gy/article/details/78877594 ##part4: http://blog.csdn.net/uncle_gy/article/details/78878301 ##part5: http://blog.csdn.net/uncle_gy/article/details/78893519
    展开全文
  • 本质上来说,一个函数对(行)向量求导,本质上还是单独为向量的每个元素进行求导的。 比如 R n → R R^n \to R 的函数 f ( a ⃗  ) f(\vec a) ,则其导数【即梯度】为 ∇ f = [ ∂ f ∂ a 1 , ∂ f ∂ a 1 , ⋯ ...

    算是上一篇【数学】均匀分布生成其他分布的方法的一个数学基础补遗吧。

    函数对向量求导

    Jacobian矩阵相当于通用型的函数的一阶导数,Hessian矩阵是一个 RnR 的函数的二阶导数。
    这就牵扯到了函数对向量求导的运算,详细的话详见:对向量求导这篇百度文库。
    本质上来说,一个函数对(行)向量求导,本质上还是单独为向量的每个元素进行求导的。
    比如 RnR 的函数 f(a⃗ ) ,则其导数【即梯度】为 f=[fa1,fa1,,fan] ,此时其一阶导数就变成一个 RnRn 的函数
    对于 RnRm 的函数,其可以看成一个长度为m列向量对一个长度为n行向量求偏导。

    y⃗ a⃗ =y1a1yma1  y1anyman

    其可以看成一个换元变换,即 y1=f(a1,,an) 这样的方式进行换元。或者可以看成一个坐标变换。
    所以上式【多元函数值的导数】即为雅各比Jacobian矩阵。
    当m = n时,其为方阵,则可以求其雅各Jacobian比行列式。

    雅各比Jacobian矩阵与行列式

    雅各比矩阵的几何意义

    先补充另外一些数学知识,求微分其实就是线性化,即用直线近似代替取现, dx,dy 近似代替原来那段曲线。 导数其实就是线性空间之间的线性变换
    为了理解上面这句话,看下面两张图
    θ1θ2x,yx,y
    这里写图片描述
    将其写成矩阵形式即为:
    这里写图片描述
    可以看到其导数就是从 θ1θ2x,y

    更专业的说法是,导数就是在切空间到切空间之间的线性映射。【切空间就可以其理解为微分空间】
    切空间都是矢量空间,都有基底,所以这个线性变换就是矩阵。在欧氏空间子空间的开集上,切空间就是某个。
    所以把Jacobian矩阵看成切空间之间的基底之间的线性变换,
    而矩阵的行列式的值的几何意义:是矩阵对应的线性变换前后的面积比
    这也是为什么积分中变换坐标时前面会乘以一个Jacobian矩阵的行列式。

    雅各比行列式在积分坐标变换中的应用

    上一篇 【数学】均匀分布生成其他分布的方法文章中提到了讲直角坐标系中的无法直接计算正态分布的积分,则将其转换到极坐标之中。在转换之后计算积分的时候【这里相当于用概率累计密度CDF用积分求,然后求导即为概率密度函数PDF】需要乘以一个雅各比行列式。另外注意,因为雅各比行列式是行列式所以其对应的矩阵必为一个方阵,且线性无关。
    具体定理:
    这里写图片描述

    海森Hessian矩阵

    正如前面所说,一个 RnR 映射的函数,即多元实值函数,其一阶梯度为

    f=[fa1,fa1,,fan]
    其 是一个 RnRn 的函数,再对一阶梯度再求梯度,得到其二阶梯度:
    2f=2fa212fana1  2fa1an2fa2n

    海森矩阵在牛顿法中应用非常广泛。关于最优化算法这个下篇博客再更吧。

    参考文献

    如何理解雅克比矩阵?
    雅可比(Jacobi)矩阵的若干应用
    Jacobian矩阵和Hessian矩阵

    展开全文
  • 见图:

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

    展开全文
  • 作者:七月本文的目标读者是想快速掌握矩阵、向量求导法则的学习者,主要面向矩阵、向量求导在机器学习中的应用。因此,本教程而非一份严格的数学教材,而是希望帮助读者尽快熟悉相关的求导方法并在实践中应用。另外...
  • 本文的主要内容是帮助你学习如何进行向量、矩阵以及高阶张量(三维及以上的数组)的求导。并一步步引导你来进行向量、矩阵和张量的求导。1 简化、简化,还是简化(重要的事情说三遍)在求解涉及到数组的导数时,大...
  • 矢量求导之位移与速度及加速度

    千次阅读 2020-10-13 22:25:48
    矢量求导之位移与速度及加速度
  • 向量,矩阵,张量求导

    千次阅读 2017-04-30 20:30:56
    向量,矩阵,张量求导 英文原文:Partial Least Squares (PLS) Regression. 目录 用 [TOC]来生成目录: 对向量矩阵张量求导 目录 Expanding notation into explicit sums and equations for each ...
  • 向量点乘相关公式推导

    万次阅读 2018-06-29 16:07:21
    1.向量点乘公式推导和几何解释一般来说,点乘结果描述了两个向量的“相似”程度,点乘结果越大,两向量越相近。01.向量点乘(dot product)是其各个分量乘积的和,公式:用连加号写:02.几何解释:点乘的结果是一个...
  • 坐标系下的流体力学控制方程组的微分形式的推导 直角坐标系下描述 我们以NS方程(Navier-Stokes Equation)为例,来推导控制方程的柱坐标表示。我这里考虑不可压的,密度和粘性系数都为常数的情况。 此时,直角...
  • 雅克比矩阵求导推导

    2021-10-28 12:56:51
    {i} u˙i​=e˙i​×ri​+ei​×r˙i​ 为了求得 J ˙ \dot{\mathbf{J}} J˙ ,我们已知 e i \mathbf{e}_{i} ei​ 、 r i \mathbf{r}_{i} ri​ e i \mathbf{e}_{i} ei​ :坐标系{i}的Z轴单位方向向量在基坐标系下{0}...
  • 坐标上升算法 定义 过程 举个求解的栗子 基于坐标上升的SMO算法 SMO算法步骤 为什么要选两个参数 SVM算法推导过程: 目标函数转为二元函数 目标函数转为一元函数 一轮迭代中第一步求出a1和a2 先不加约束...
  • Frenet坐标推导过程整理

    千次阅读 2020-10-14 20:20:54
    1.1 对向量求导/点的相对运动 这里主要参考理论力学教材 Engineering_Mechanics_Dynamics_(13th_Edition) 第16.8小结 有两个坐标系,全局坐标系OXY,局部坐标系oxy。局部坐标系原点为A,自由运动点B。B可以表示在...
  • 之前对坐标系的变换背后的数学原理感到不解,花时间研究下,发现只是简单的矩阵变换。 数学推导 \[ \left[ \begin{matrix} v1 & v2 & v3 \end{matrix} \right] \tag{V} \] \[ \left[ \begin{matrix} u1 &...
  • 向量叉乘的推导

    万次阅读 2014-11-25 23:32:47
    向量P =(Px Py Pz), Q = (Qx Qy Qz),规定PXQ = (PyQz - PzQy PzQx - PxQz PxQy - PyQx); 那么这个叉积的结果是什么呢, 怎么推导出来的呢。 1: 首先可以看到,这叉乘出来的东西是个向量。 2: ...
  • 如何求导并形成可执行程序前言一、正常思路:目标/损失函数直接对优化变量求导1.实例:最小二乘位姿估计二、清奇思路:不直接求导1 追踪光流也能是优化问题?2.读入数据总结 前言 优化问题(可参考我的另一篇博文,...