ML@矩阵微积分@Matrix calculus@part2

ref@part1

向量求导@Derivatives with vectors

向量对标量求导@切向量@Vector-by-scalar

  • 由于向量可看成仅有一列的矩阵,最简单的矩阵求导向量求导

  • 通过如下方式表达大部分向量微积分

    • n维向量构成的空间M(n,1)等同为欧氏空间 R n R^n Rn, 标量 M ( 1 , 1 ) M(1,1) M(1,1)等同于R
  • 向量 y = [ y 1 y 2 ⋯ y m ] T {\displaystyle \mathbf {y} ={\begin{bmatrix}y_{1}&y_{2}&\cdots &y_{m}\end{bmatrix}}^{\mathsf {T}}} y=[y1y2ym]T关于标量 x x x的导数可以(用分子记法(in numerator layout notation))写成

    • y i = y i ( x ) y_i=y_i(\mathbf{x}) yi=yi(x)多元(输入)标量(输出)函数

      • 即, y i y_i yi是个向量输入,标量输出的函数
      • i = 1 , 2 , ⋯   , m i=1,2,\cdots,m i=1,2,,m
      • 对标量 x x x进行广播,再分别求导
    • ∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋮ ∂ y m ∂ x ] {\displaystyle {\frac {\partial \mathbf {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}}} xy= xy1xy2xym

  • 在向量微积分中,向量 y \mathbf {y} y关于标量变量 x x x的导数也被称为向量 y \mathbf {y} y的切向量(在 x x x方向的), ∂ y ∂ x {\displaystyle {\frac {\partial \mathbf {y} }{\partial x}}} xy

  • 例子

    • 简单的样例包括欧式空间中的速度向量,它是位移向量(看作关于时间的函数)的切向量。
    • 更进一步而言, 加速度是速度的切向量。

标量对向量求导@梯度向量@Scalar-by-vector

  • 讨论数量函数 y y y对向量 x \mathbf{x} x求导

  • 函数 y y y接收 x \mathbf{x} x作为输入参数, y y y对向量 x = [ x 1 x 2 ⋯ x n ] T {\displaystyle \mathbf {x} ={\begin{bmatrix}x_{1}&x_{2}&\cdots &x_{n}\end{bmatrix}}}^T x=[x1x2xn]T的导数可以(用分子记法)写成

    • ∂ y ∂ x = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ⋯ ∂ y ∂ x n ] {\displaystyle {\frac {\partial y}{\partial \mathbf {x} }}={\begin{bmatrix}{\frac {\partial y}{\partial x_{1}}}&{\frac {\partial y}{\partial x_{2}}}&\cdots &{\frac {\partial y}{\partial x_{n}}}\end{bmatrix}}} xy=[x1yx2yxny]

      • 这里使用分子记法,因此 ∂ y ∂ x \frac{\partial{y}}{\partial{\mathbf{x}}} xy的行数m是 y y y决定的(m=1),而列数n由 x \mathbf{x} x决定(n=n)
      • 即,对被求导的多元函数 y = y ( x ) y=y(\mathbf{x}) y=y(x)进行广播(broadcasting),再进行求导
      • 相当于梯度: ∇ x y ( x ) \nabla_{\mathbf{x}}y(\mathbf{x}) xy(x)
  • 在向量微积分中,标量 y y y在的空间 R n R^n Rn(其独立坐标是 x \mathbf{x} x的分量)中的梯度是标量y对向量 x \mathbf{x} x的导数的转置。

    • In vector calculus, the gradient of a scalar field f f f in the space R n R^n Rn (whose independent coordinates are the components of x \mathbf{x} x) is the transpose of the derivative of a scalar by a vector.

    • ∇ f = [ ∂ f ∂ x 1 ⋮ ∂ f ∂ x n ] = ( ∂ f ∂ x ) T {\displaystyle \nabla f={\begin{bmatrix}{\frac {\partial f}{\partial x_{1}}}\\\vdots \\{\frac {\partial f}{\partial x_{n}}}\end{bmatrix}}=\left({\frac {\partial f}{\partial \mathbf {x} }}\right)^{\mathsf {T}}} f= x1fxnf =(xf)T

    • 这里将 x \mathbf{x} x定义成列向量,有的地方也定义成行向量,但是表达的内涵是一样的

  • 在物理学中,电场是电势(electric potential)的负梯度向量。

  • 标量函数 y = f ( x ) y=f(x) y=f(x)对空间向量 x \mathbf{x} x在单位向量 u \mathbf{u} u(在这里表示为列向量)方向上的方向导数可以用梯度定义

    • ∇ u f ( x ) = ∇ f ( x ) ⋅ u \displaystyle \nabla _{\mathbf {u} }{f}(\mathbf {x} )=\nabla f(\mathbf {x} )\cdot \mathbf {u} uf(x)=f(x)u

      • ∇ x f ( x ) \nabla_{\mathbf{x}} f(\mathbf{x}) xf(x)通常在没有歧义时被 ∇ f ( x ) \nabla f(\mathbf{x}) f(x)取代。

      • x = ( x 1 , x 2 , x 3 ) \mathbf x=(x_1,x_2,x_3) x=(x1,x2,x3)

      • u = ( cos ⁡ α , cos ⁡ β , cos ⁡ γ ) \mathbf{u}=(\cos\alpha,\cos\beta,\cos\gamma) u=(cosα,cosβ,cosγ),即该单位向量是由 u \mathbf{u} u方向的方向余弦构成的

      • ∇ f ( x ) ⋅ u = ( ∂ y ∂ x 1 , ∂ y ∂ x 2 , ∂ y ∂ x 3 ) ⋅ ( cos ⁡ α , cos ⁡ β , cos ⁡ γ ) = ( ∂ y ∂ x 1 ∂ y ∂ x 2 ∂ y ∂ x 3 ) ( cos ⁡ α , cos ⁡ β , cos ⁡ γ ) = ( ∂ y ∂ x ) T u \nabla{f(x)}\cdot\mathbf{u}=(\frac {\partial y}{\partial {x_1} },\frac {\partial y}{\partial {x_2} },\frac {\partial y}{\partial {x_3} }) \cdot(\cos\alpha,\cos\beta,\cos\gamma) \\=\begin{pmatrix} \frac {\partial y}{\partial {x_1} }\\ \frac {\partial y}{\partial {x_2} }\\ \frac {\partial y}{\partial {x_3}} \end{pmatrix}(\cos\alpha,\cos\beta,\cos\gamma) =(\frac{\partial{y}}{\partial{\mathbf{x}}})^T\mathbf{u} f(x)u=(x1y,x2y,x3y)(cosα,cosβ,cosγ)= x1yx2yx3y (cosα,cosβ,cosγ)=(xy)Tu

向量求导@梯度记法🎈
  • 使用刚才定义的标量对向量的导数的记法,可以把方向导数写作:

  • ∇ u f ( x ) = ( ∂ ∂ x f ( x ) ) ⊤ u 简写 : ∇ u f = ( ∂ f ∂ x ) ⊤ u \displaystyle \nabla _{\mathbf {u} }f(\mathbf{x})=\left({\frac {\partial }{\partial \mathbf {x} }f(\mathbf{x})}\right)^{\top }\mathbf {u} \\简写: \\ \displaystyle \nabla _{\mathbf {u} }f=\left({\frac {\partial f}{\partial \mathbf {x} }}\right)^{\top }\mathbf {u} uf(x)=(xf(x))u简写:uf=(xf)u

  • 这类记法在证明乘法法则和链式法则的时候非常直观,因为它们与我们熟悉的标量导数的形式较为相似。

补充@数量函数对于向量的导数
  • 在场论中,对数量函数 f ( x , y , z ) f(x,y,z) f(x,y,z)定义梯度向量为:

    • g r a d   f = ∇ f = ( ∂ f ∂ x , ∂ f ∂ y , ∂ f ∂ z ) grad\:f=\nabla{f}=(\frac{\partial{f}}{\partial{x}},\frac{\partial{f}}{\partial{y}},\frac{\partial{f}}{\partial{z}}) gradf=f=(xf,yf,zf)

    • 可以理解为数量函数 f ( x , y , z ) f(x,y,z) f(x,y,z)对向量 ( x , y , z ) (x,y,z) (x,y,z)的导数(是一种简单的数量(标量)函数对向量求导)

    • 设向量 x = ( x 1 , ⋯   , x n ) T \mathbf{x}=(x_1,\cdots,x_n)^T x=(x1,,xn)T, f ( x ) = f ( x 1 , ⋯   , x n ) f(\mathbf{x})=f(x_1,\cdots,x_n) f(x)=f(x1,,xn)是以向量 x \mathbf{x} x为自变量的数量函数,(即n元函数),规定数量函数( f ( x ) f(\mathbf{x}) f(x))对于向量 x \mathbf{x} x的导数为:

      • d y d x = ( ∂ y ∂ x 1 ∂ y ∂ x 2 ⋯ ∂ y ∂ x n ) T {\displaystyle {\frac {d y}{d\mathbf {x} }}={\begin{pmatrix}{\frac {\partial y}{\partial x_{1}}}&{\frac {\partial y}{\partial x_{2}}}&\cdots &{\frac {\partial y}{\partial x_{n}}}\end{pmatrix}}}^T dxdy=(x1yx2yxny)T
导数法则
  • x = ( x 1 , ⋯   , x n ) \boldsymbol{x}=(x_1,\cdots,x_n) x=(x1,,xn)

    • 注意粗体和细体的含义区别
  • f ( x ) = f ( x 1 , ⋯   , x n ) f(\boldsymbol{x})=f(x_1,\cdots,x_n) f(x)=f(x1,,xn)

  • h ( x ) = h ( x 1 , ⋯   , x n ) h(\boldsymbol{x})=h(x_1,\cdots,x_n) h(x)=h(x1,,xn)

  • d [ f ( x ) ± h ( x ) ] d x = d f ( x ) d x ± d h ( x ) d x d f ( x ) h ( x ) d x = d f ( x ) d x h ( x ) + f ( x ) d h ( x ) d x \begin{array}{l} \frac{\mathrm{d}[f(\boldsymbol{x}) \pm h(\boldsymbol{x})]}{\mathrm{d} \boldsymbol{x}} =\frac{\mathrm{d} f(\boldsymbol{x})}{\mathrm{d} \boldsymbol{x}} \pm \frac{\mathrm{d} h(\boldsymbol{x})}{\mathrm{d} \boldsymbol{x}} \\\\ \frac{\mathrm{d} f(\boldsymbol{x}) h(\boldsymbol{x})}{\mathrm{d} \boldsymbol{x}} =\frac{\mathrm{d} f(\boldsymbol{x})}{\mathrm{d} \boldsymbol{x}} h(\boldsymbol{x})+f(\boldsymbol{x}) \frac{\mathrm{d} h(\boldsymbol{x})}{\mathrm{d} \boldsymbol{x}} \end{array} dxd[f(x)±h(x)]=dxdf(x)±dxdh(x)dxdf(x)h(x)=dxdf(x)h(x)+f(x)dxdh(x)

  • x = ξ = ( ξ 1 ( t ) , ⋯   , ξ n ( t ) ) T \mathbf{x=\xi}=(\xi_1(t),\cdots,\xi_{n}(t))^T x=ξ=(ξ1(t),,ξn(t))T,是一个函数向量(列向量)

    • 简记 ξ i = ξ i ( t ) \xi_{i}=\xi_i(t) ξi=ξi(t)

    • f ( x ) = f ( ξ ) = f ( ξ 1 , ⋯   , ξ n ) f(\mathbf{x})=f(\mathbf\xi)=f(\xi_1,\cdots,\xi_n) f(x)=f(ξ)=f(ξ1,,ξn)结果是标量

    • d f d t = d d t f ( x ) = ( d f d x ) T d x d t \frac{df}{dt}=\frac{d}{dt}f(\mathbf{x}) =(\frac{df}{d\mathbf{x}})^T\frac{d{\mathbf{x}}}{dt} dtdf=dtdf(x)=(dxdf)Tdtdx

  • 推导:

    • 首先确定, d d t f ( x ) \frac{d}{dt}f(\mathbf{x}) dtdf(x)是一个接收向量输入的标量函数对自变量t进行求导(中间变量为 ξ i \xi_i ξi),结果是一个标量(和t相同)

    • ( d f d x ) = ( d f d ξ 1 , ⋯   , d f d ξ n ) T (\frac{df}{d{\mathbf{x}}})=(\frac{df}{d\xi_1},\cdots,\frac{df}{d\xi_n})^T (dxdf)=(dξ1df,,dξndf)T

    • 由偏导数复合函数求导法则(偏导数的链式法则):

    • d f d t = d d t f ( x ) = ∑ i = 1 n d f d ξ i d ξ i d t = ( d f d ξ 1 , ⋯   , d f d ξ n ) ( d ξ 1 d t , ⋯   , d ξ n d t ) T = ( d f d x ) T d x d t \frac{df}{dt}=\frac{d}{dt}f(\mathbf{x}) =\sum_{i=1}^{n}\frac{df}{d\xi_i}\frac{d\xi_i}{dt} =(\frac{df}{d\xi_1},\cdots,\frac{df}{d\xi_n}) (\frac{d\xi_1}{dt},\cdots,\frac{d\xi_n}{dt})^T \\ =(\frac{df}{d{\mathbf{x}}})^T\frac{d\mathbf{x}}{dt} dtdf=dtdf(x)=i=1ndξidfdtdξi=(dξ1df,,dξndf)(dtdξ1,,dtdξn)T=(dxdf)Tdtdx

  • A = ( a i j ) n × A=(a_{ij})_{n\times{}} A=(aij)n×是常量矩阵, x = ( x 1 , ⋯   , x n ) T \mathbf{x}=(x_1,\cdots,x_n)^T x=(x1,,xn)T

    • 证明 f ( x ) = x T A x f(\mathbf{x})=\mathbf{x^{T}}A\mathbf{x} f(x)=xTAx的导数 ∂ f ∂ x = ( A + A T ) x \frac{\partial{f}}{\partial{\mathbf{x}}}=(A+A^T)\mathbf{x} xf=(A+AT)x

    • 首先考察二次型 f ( x ) f(\mathbf{x}) f(x)本质上是一个二次多项式,是一个数值函数(只不过这个多项式可以用矩阵乘法表达)

    • f ( x ) = f(\mathbf{x)}= f(x)=使用标量函数对向量的求导法则

    • f ( x ) = x T A x = ∑ i , j = 1 n a i j x i x j 记矩阵 S = ( a 11 x 1 x 1 a 12 x 1 x 2 ⋯ a 1 n x 1 x n a 21 x 2 x 1 a 22 x 2 x 2 ⋯ a 2 n x 2 x n ⋮ ⋮ ⋮ a n 1 x n x 1 a n 2 x n x 2 ⋯ a n n x n x n ) n × n 记矩阵 J n 为 n 阶全 1 矩阵 则 f ( x ) = ∑ i , j S i j = ∑ i n ∑ j n S i j = T r ( S J n ) f(\mathbf{x})=\mathbf{x^{T}}A\mathbf{x} =\sum_{i,j=1}^{n}a_{ij}x_ix_j \\ 记矩阵S=\begin{pmatrix} a_{11}x_1x_1&a_{12}x_1x_2&\cdots&a_{1n}x_1x_n \\ a_{21}x_2x_1&a_{22}x_2x_2&\cdots&a_{2n}x_2x_n \\ \vdots&\vdots&&\vdots\\ a_{n1}x_nx_1&a_{n2}x_nx_2&\cdots&a_{nn}x_nx_n \\ \end{pmatrix}_{n\times{n}} \\记矩阵J_{n}为n阶全1矩阵 \\ 则f(\mathbf{x})=\sum_{i,j}S_{ij}=\sum_{i}^{n}\sum_{j}^{n}S_{ij} =Tr(SJ_n) f(x)=xTAx=i,j=1naijxixj记矩阵S= a11x1x1a21x2x1an1xnx1a12x1x2a22x2x2an2xnx2a1nx1xna2nx2xnannxnxn n×n记矩阵Jnn阶全1矩阵f(x)=i,jSij=injnSij=Tr(SJn)

      • 上面展示了计算矩阵所有元素之和的记号和方法
      • 矩阵S有助于理解对 ∂ ∂ x 1 ∑ i , j = 1 n a i j x i x j \frac{\partial{}}{\partial{x_1}}\sum_{i,j=1}^{n}a_{ij}x_ix_j x1i,j=1naijxixj的求导结果
    • d f d x = ( ∂ ∂ x 1 ∑ i , j = 1 n a i j x i x j , ⋯   , ∂ ∂ x n ∑ i , j = 1 n a i j x i x j ) T = ( 2 a 11 x 1 + ( a 12 + a 21 ) x 2 + ⋯ + ( a 1 n + a n 1 ) x n ⋮ ( a 1 n + a n 1 ) x 1 + ( a n 2 + a 2 n ) x 2 + ⋯ + 2 a n n x n ) = ( ∑ j = 1 n ( a 1 j + a j 1 ) x j ⋮ ∑ j = 1 n ( a n j + a j n ) x j ) = ( ∑ j = 1 n ( a 1 j ) x j + ∑ j = 1 n ( a j 1 ) x j ⋮ ∑ j = 1 n ( a n j ) x j + ∑ j = 1 n ( a j n ) x j ) = ( ∑ j = 1 n ( a 1 j ) x j ⋮ ∑ j = 1 n ( a n j ) x j ) + ( ∑ j = 1 n ( a j 1 ) x j ⋮ ∑ j = 1 n ( a j n ) x j ) = ( a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n ⋮ a n 1 x 1 + a n 2 x 2 + ⋯ + a n n x n ) + ( a 11 x 1 + a 21 x 2 + ⋯ + a n 1 x n ⋮ a 1 n x 1 + a 2 n x 2 + ⋯ + a n n x n ) = A x + A T x = ( A + A T ) x \frac{df}{d{\mathbf{x}}} =(\frac{\partial{}}{\partial{x_1}}\sum_{i,j=1}^{n}a_{ij}x_ix_j, \cdots, \frac{\partial{}}{\partial{x_n}}\sum_{i,j=1}^{n}a_{ij}x_ix_j)^T \\ =\begin{pmatrix} 2a_{11}x_1+(a_{12}+a_{21})x_2+\cdots+(a_{1n}+a_{n1})x_n\\ \vdots\\ (a_{1n}+a_{n1})x_1+(a_{n2}+a_{2n})x_2+\cdots+2a_{nn}x_n \end{pmatrix} \\ =\begin{pmatrix} \sum_{j=1}^{n}(a_{1j}+a_{j1})x_j\\ \vdots\\ \sum_{j=1}^{n}(a_{nj}+a_{jn})x_j\\ \end{pmatrix} %\\ =\begin{pmatrix} \sum_{j=1}^{n}(a_{1j})x_j+\sum_{j=1}^{n}(a_{j1})x_j\\ \vdots\\ \sum_{j=1}^{n}(a_{nj})x_j+\sum_{j=1}^{n}(a_{jn})x_j\\ \end{pmatrix} \\ =\begin{pmatrix} \sum_{j=1}^{n}(a_{1j})x_j\\ \vdots\\ \sum_{j=1}^{n}(a_{nj})x_j \end{pmatrix} +\begin{pmatrix} \sum_{j=1}^{n}(a_{j1})x_j\\ \vdots\\ \sum_{j=1}^{n}(a_{jn})x_j \end{pmatrix} \\ =\begin{pmatrix} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n\\ \vdots\\ a_{n1}x_1+a_{n2}x_2+\cdots+a_{nn}x_n \end{pmatrix} \\ +\begin{pmatrix} a_{11}x_1+a_{21}x_2+\cdots+a_{n1}x_n\\ \vdots\\ a_{1n}x_1+a_{2n}x_2+\cdots+a_{nn}x_n \end{pmatrix} \\=A\mathbf{x}+A^T\mathbf{x}=(A+A^T)\mathbf{x} dxdf=(x1i,j=1naijxixj,,xni,j=1naijxixj)T= 2a11x1+(a12+a21)x2++(a1n+an1)xn(a1n+an1)x1+(an2+a2n)x2++2annxn = j=1n(a1j+aj1)xjj=1n(anj+ajn)xj = j=1n(a1j)xj+j=1n(aj1)xjj=1n(anj)xj+j=1n(ajn)xj = j=1n(a1j)xjj=1n(anj)xj + j=1n(aj1)xjj=1n(ajn)xj = a11x1+a12x2++a1nxnan1x1+an2x2++annxn + a11x1+a21x2++an1xna1nx1+a2nx2++annxn =Ax+ATx=(A+AT)x

向量对向量求导@Vector-by-vector

  • 前面两种情况可以看作是向量对向量求导在其中一个是一维向量情况下的特例

  • 类似地我们将会发现有关矩阵的求导可被以一种类似的方式化归(reduce)为向量求导

  • 分量为函数的向量 y = [ y 1 y 2 ⋯ y m ] T {\displaystyle \mathbf {y} ={\begin{bmatrix}y_{1}&y_{2}&\cdots &y_{m}\end{bmatrix}}^{\mathsf {T}}} y=[y1y2ym]T对输入向量 x = [ x 1 x 2 ⋯ x n ] T {\displaystyle \mathbf {x} ={\begin{bmatrix}x_{1}&x_{2}&\cdots &x_{n}\end{bmatrix}}^{\mathsf {T}}} x=[x1x2xn]T的导数 x → y i ( x ) \mathbf{x}\to{y_i(\mathbf{x})} xyi(x),可以(用分子记法) 写作

    • Note: y i = y i ( x ) y_i=y_i(\mathbf{x}) yi=yi(x), i = 1 , 2 , ⋯   , m i=1,2,\cdots,m i=1,2,,m

    • 这部分在开头做过展示(Jacobi Matrix)

    • ∂ 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 ] {\displaystyle {\frac {\partial \mathbf {y} }{\partial \mathbf {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 &\ddots &\vdots \\{\frac {\partial y_{m}}{\partial x_{1}}}&{\frac {\partial y_{m}}{\partial x_{2}}}&\cdots &{\frac {\partial y_{m}}{\partial x_{n}}}\\\end{bmatrix}}} xy= x1y1x1y2x1ymx2y1x2y2x2ymxny1xny2xnym

      • 每一行相当于函数 y i y_i yi对向量 x \mathbf{x} x求导
      • y \mathbf{y} y中包含了n个向量,所以 y \mathbf{y} y x \mathbf{x} x会产生n行,它们构成矩阵 ∂ y ∂ x \frac{\partial{\mathbf{y}}}{\partial{\mathbf{x}}} xy
  • 在向量微积分中,向量函数y对分量表示一个空间的向量 x \mathbf{x} x的导数也被称为前推 (微分),或雅可比矩阵

    • In vector calculus, the derivative of a vector function y with respect to a vector x whose components(分量) represent a space is known as the pushforward (or differential), or the Jacobian matrix.
    • 在向量微积分中,向量函数y关于向量x的导数(其分量表示空间)被称为推进(或微分),或称为雅克比矩阵。
  • 向量函数 f \mathbf{f} f R n R^n Rn空间中向量v的前推 d   f ( v ) = ∂ f ∂ v d   v \displaystyle d\,\mathbf {f} (\mathbf {v} )={\frac {\partial \mathbf {f} }{\partial \mathbf {v} }}d\,\mathbf {v} df(v)=vfdv

矩阵求导

  • 有两种类型的矩阵求导可以被写成相同大小的矩阵:矩阵对标量求导和标量对矩阵求导。
  • 它们在解决应用数学的许多领域常见的最小化问题中十分有用。
  • 类比于向量求导,相应的概念有切矩阵梯度矩阵

矩阵对标量求导(切矩阵)@Matrix-by-scalar

  • 函数矩阵 Y \mathbf{Y} Y对标量变量 x x x的导数被称为切矩阵,(用分子记法)可写成:

    • y i j = y i j ( x ) y_{ij}=y_{ij}(\mathbf{x}) yij=yij(x), x \mathbf{x} x是1维还是多维不影响公式

      • y i j = y i j ( x ) y_{ij}=y_{ij}(x) yij=yij(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 ] {\displaystyle {\frac {\partial \mathbf {Y} }{\partial x}}={\begin{bmatrix}{\frac {\partial y_{11}}{\partial x}}&{\frac {\partial y_{12}}{\partial x}}&\cdots &{\frac {\partial y_{1n}}{\partial x}}\\{\frac {\partial y_{21}}{\partial x}}&{\frac {\partial y_{22}}{\partial x}}&\cdots &{\frac {\partial y_{2n}}{\partial x}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial y_{m1}}{\partial x}}&{\frac {\partial y_{m2}}{\partial x}}&\cdots &{\frac {\partial y_{mn}}{\partial x}}\\\end{bmatrix}}} xY= xy11xy21xym1xy12xy22xym2xy1nxy2nxymn

标量对矩阵求导@梯度矩阵@Scalar-by-matrix

  • 标量函数对变量矩阵求导

  • 标量(函数 y y y)对(变量)矩阵 X \mathbf{X} X求导

    • 标量函数 y ( X ) y(X) y(X)可以接收一个矩阵,计算该矩阵(的某个属性值(标量))返回标量
  • 定义在元素是独立变量的 p × q p×q p×q矩阵 X ∈ R n × n X\in{\mathbb{R}^{n\times{n}}} XRn×n上的标量函数 y y y X X X的导数可以(用分子记法)写作

    • ∂ 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 ] {\displaystyle {\frac {\partial y}{\partial \mathbf {X} }}={\begin{bmatrix}{\frac {\partial y}{\partial x_{11}}}&{\frac {\partial y}{\partial x_{21}}}&\cdots &{\frac {\partial y}{\partial x_{p1}}}\\{\frac {\partial y}{\partial x_{12}}}&{\frac {\partial y}{\partial x_{22}}}&\cdots &{\frac {\partial y}{\partial x_{p2}}}\\\vdots &\vdots &\ddots &\vdots \\{\frac {\partial y}{\partial x_{1q}}}&{\frac {\partial y}{\partial x_{2q}}}&\cdots &{\frac {\partial y}{\partial x_{pq}}}\\\end{bmatrix}}} Xy= x11yx12yx1qyx21yx22yx2qyxp1yxp2yxpqy
  • 定义矩阵上的标量函数例如矩阵的行列式(它们都接收方阵作为参数,而返回一个标量值)

    • y ( X ) = ∣ X ∣ y(X)=|X| y(X)=X
    • y ( X ) = T r ( X ) y(X)=Tr(X) y(X)=Tr(X)
矩阵求导@梯度记法🎈
  • 类比于向量微积分 ∂ x ∂ y \frac{\partial{\mathbf{x}}}{\partial\mathbf{y}} yx

    • ∇ u f ( x ) = ( ∂ ∂ x f ( x ) ) ⊤ u \displaystyle \nabla _{\mathbf {u} }f(\mathbf{x})=\left({\frac {\partial }{\partial \mathbf {x} }f(\mathbf{x})}\right)^{\top }\mathbf {u} uf(x)=(xf(x))u
  • 矩阵对变量求导常被写成如下形式:

    • ∇ X y ( X ) = ∂ y ( X ) ∂ X \displaystyle \nabla _{\mathbf {X} }y(\mathbf {X} )={\frac {\partial y(\mathbf {X} )}{\partial \mathbf {X} }} Xy(X)=Xy(X)
  • 类似地,标量函数 f ( X ) f(X) f(X)关于矩阵X在方向 Y \mathbf{Y} Y方向导数可写成

    • ∇ Y f = tr ⁡ ( ∂ f ∂ X Y ) \displaystyle \nabla _{\mathbf {Y} }f=\operatorname {tr} \left({\frac {\partial f}{\partial \mathbf {X} }}\mathbf {Y} \right) Yf=tr(XfY)
  • 梯度矩阵经常被应用在估计理论的最小化问题中,比如卡尔曼滤波算法的推导,因此在这些领域中有着重要的地位。

posted @   xuchaoxin1375  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-03-25 linux_重命名主机名hostname&注意事项
2022-03-25 powershell@字符串修改/替换字符串@抽取markdown中的各级标题大纲
点击右上角即可分享
微信分享提示