> 文章列表 > ML@矩阵微积分基础

ML@矩阵微积分基础

ML@矩阵微积分基础

文章目录

  • 矩阵微积分@Matrix calculus
    • 记法
      • 简单Jacobi Matrix
        • 分子记法
        • 分母记法
        • 一般形式的Jacobi Matrix
    • Types of matrix derivative
    • 向量求导
      • 向量对标量求导
      • 标量对向量求导
      • 向量对向量求导
    • 矩阵求导
      • 矩阵对标量求导(切矩阵)
      • 标量对矩阵求导
  • 记法
  • 向量求导
    • 向量对标量求导
    • 标量对向量求导
    • 向量对向量求导
  • 矩阵求导
    • 矩阵对标量求导
    • 标量对矩阵求导

矩阵微积分@Matrix calculus

  • 深度学习中的矩阵微积分学 - Dezeming Family https://dezeming.top › uploads › 2022/02 › 深度…
  • 矩阵论 第2版_图书搜索 (superlib.net)
    • **作者:**方保镕,周继东,李医民编著 **页数:**401 **出版社:**北京:清华大学出版社 **出版日期:**2013.12
    • 简介:本书比较全面、系统地介绍了矩阵的基本理论、方法及其应用。
    • 全书分上、下两篇,上篇为基础篇,下篇为应用篇。
  • Matrix calculus - Wikipedia
  • 矩阵微积分 (wikipedia.org)

记法

  • 在表示向量和矩阵时,通过用单个变量(字母)来表示许多变量的方式,把矩阵记法的效用发挥到最大。
  • 可以用不同字体来区分标量、向量和矩阵。
  • 我们使用M(n,m)M(n,m)M(n,m)来表示包含n行m列n×mn×mn×m实矩阵的空间
    • 该空间中的一般矩阵大写字母表示,例如A,X,Y等。
  • 而若该矩阵属于M(n,1)M(n,1)M(n,1),即列向量,则用粗体小写字母表示,如a,x,y等。(但有时为例放便,不以粗体书写)
  • 特别地,M(1,1)中的元素为标量,用小写斜体字母表示,如a,t,x等。
  • XTX^TXT 表示矩阵转置,tr(X)tr(X)tr(X)表示矩阵的迹,而 det⁡(X)\\det(X)det(X)∣X∣|X|X表示行列式。
  • 除非专门注明,所有函数都默认属于光滑函数。
  • 通常字母表前半部分的字母(a,b,c,…)(a, b, c, …)(a,b,c,)用于表示常量
  • 而后半部分的字母(t,x,y,…)(t, x, y, …)(t,x,y,)用于表示变量
    • 变量可以是标量,也可以是向量
    • 标量可能是常数,也可能是变量

简单Jacobi Matrix

分子记法

  • 这个矩阵我们称为雅克比矩阵 (Jacobian matrix),一下是分子记法(分子布局 (numerator layout))

    • J=[∇f(x,y)∇g(x,y)]=[∂f(x,y)∂x∂f(x,y)∂y∂g(x,y)∂x∂g(x,y)∂y]\\mathcal{J}=\\left[\\begin{array}{l} \\nabla f(x, y) \\\\ \\nabla g(x, y) \\end{array}\\right]=\\left[\\begin{array}{ll} \\frac{\\partial f(x, y)}{\\partial x} & \\frac{\\partial f(x, y)}{\\partial y} \\\\ \\frac{\\partial g(x, y)}{\\partial x} & \\frac{\\partial g(x, y)}{\\partial y} \\end{array}\\right] J=[f(x,y)g(x,y)]=[xf(x,y)xg(x,y)yf(x,y)yg(x,y)]

      分母记法

  • 有许多著作和软件会使用分母布局 (denominator layout),其实这就是分子布局的矩阵转置:

    • [∂f(x,y)∂x∂f(x,y)∂y∂g(x,y)∂x∂g(x,y)∂y]T=[∂f(x,y)∂x∂g(x,y)∂x∂f(x,y)∂y∂g(x,y)∂y]\\left[\\begin{array}{ll} \\frac{\\partial f(x, y)}{\\partial x} & \\frac{\\partial f(x, y)}{\\partial y} \\\\ \\frac{\\partial g(x, y)}{\\partial x} & \\frac{\\partial g(x, y)}{\\partial y} \\end{array}\\right]^{T}=\\left[\\begin{array}{ll} \\frac{\\partial f(x, y)}{\\partial x} & \\frac{\\partial g(x, y)}{\\partial x} \\\\ \\frac{\\partial f(x, y)}{\\partial y} & \\frac{\\partial g(x, y)}{\\partial y} \\end{array}\\right] [xf(x,y)xg(x,y)yf(x,y)yg(x,y)]T=[xf(x,y)yf(x,y)xg(x,y)yg(x,y)]

一般形式的Jacobi Matrix

  • 对于多个标量函数,讲它们组合到一个向量中:

    • y=f(x)\\mathbf{y}=\\mathbf{f(x)}y=f(x)是一个由若干(设为m个)多元(设为n元)标量函数构成的向量

    • 把n维向量x\\mathbf{x}x作为输入,fi(x)f_i(\\mathbf{x})fi(x)返回一个标量值(Rn→RR^n\\to{R}RnR)

    • y=(y1y2⋮ym)=f(x)=(f1(x)f2(x)⋮fm(x))\\mathbf{y}=\\begin{pmatrix} y_{1}\\\\ y_{2}\\\\ \\vdots\\\\ y_{m}\\\\ \\end{pmatrix} =\\mathbf{f(x)} =\\begin{pmatrix} f_{1}(\\mathbf{x})\\\\ f_{2}(\\mathbf{x})\\\\ \\vdots\\\\ f_{m}(\\mathbf{x})\\\\ \\end{pmatrix} y=y1y2ym=f(x)=f1(x)f2(x)fm(x)

    • m=nm=nm=n的情况是很常见的

    • Jacobi矩阵就是与x\\mathbf{x}x函数相关的的m个梯度

    • ∂y∂x=(∇f1(x)∇f2(x)⋮∇fm(x))=(∂∂xf1(x)∂∂xf2(x)⋮∂∂xfm(x))=(∂∂x1f1(x)∂∂x2f1(x)⋯∂∂xnf1(x)∂∂x1f2(x)∂∂x2f2(x)⋯∂∂xnf2(x)⋮∂∂x1fm(x)∂∂x2fm(x)⋯∂∂xnfm(x))m×nX∈Rn∇fi(x)=∂∂xfi(x)=[∂∂x1fi(x),∂∂x2fi(x),⋯,∂∂xnfi(x)]\\frac{\\partial\\mathbf{y}}{\\partial{\\mathbf{x}}} =\\begin{pmatrix} \\nabla f_{1}{(\\mathbf{x})}\\\\ \\nabla f_{2}{(\\mathbf{x})}\\\\ \\vdots\\\\ \\nabla f_{m}{(\\mathbf{x})}\\\\ \\end{pmatrix} =\\begin{pmatrix} \\frac{\\partial}{\\partial{\\mathbf{x}}}f_{1}(\\mathbf{x})\\\\ \\frac{\\partial}{\\partial{\\mathbf{x}}}f_{2}(\\mathbf{x})\\\\ \\vdots\\\\ \\frac{\\partial}{\\partial{\\mathbf{x}}}f_{m}(\\mathbf{x})\\\\ \\end{pmatrix}\\\\ =\\begin{pmatrix} \\frac{\\partial}{\\partial{{x_1}}}f_{1}(\\mathbf{x})& \\frac{\\partial}{\\partial{{x_2}}}f_{1}(\\mathbf{x})& \\cdots& \\frac{\\partial}{\\partial{{x_n}}}f_{1}(\\mathbf{x})\\\\ \\frac{\\partial}{\\partial{{x_1}}}f_{2}(\\mathbf{x})& \\frac{\\partial}{\\partial{{x_2}}}f_{2}(\\mathbf{x})& \\cdots& \\frac{\\partial}{\\partial{{x_n}}}f_{2}(\\mathbf{x})\\\\ \\vdots\\\\ \\frac{\\partial}{\\partial{{x_1}}}f_{m}(\\mathbf{x})& \\frac{\\partial}{\\partial{{x_2}}}f_{m}(\\mathbf{x})& \\cdots& \\frac{\\partial}{\\partial{{x_n}}}f_{m}(\\mathbf{x})\\\\ \\end{pmatrix}_{m\\times{n}} \\\\ \\mathbf{X}\\in{R^n} \\\\ \\nabla f_{i}{(\\mathbf{x})}=\\frac{\\partial}{\\partial{\\mathbf{x}}}f_{i}(\\mathbf{x}) = [\\frac{\\partial}{\\partial{{x_1}}}f_{i}(\\mathbf{x}), \\frac{\\partial}{\\partial{{x_2}}}f_{i}(\\mathbf{x}), \\cdots, \\frac{\\partial}{\\partial{{x_n}}}f_{i}(\\mathbf{x})] xy=f1(x)f2(x)fm(x)=xf1(x)xf2(x)xfm(x)=x1f1(x)x1f2(x)x1fm(x)x2f1(x)x2f2(x)x2fm(x)xnf1(x)xnf2(x)xnfm(x)m×nXRnfi(x)=xfi(x)=[x1fi(x),x2fi(x),,xnfi(x)]

  • 对于 fi(x)=fi([x1,x2,⋯,xn])=xif_i(\\mathbf{x})=f_i([x_1,x_2,\\cdots,x_n])= x_ifi(x)=fi([x1,x2,,xn])=xi (构成的)的恒等函数 f(x)=x\\mathbf{f(x)} = \\mathbf{x}f(x)=x,我们可以计算得到它的雅克比矩阵(这里的 m 等于 n)

    • y=f(x)=(f1(x),f2(x),⋯,fn(x))=x\\mathbf{y=f(x)}=(f_1(\\mathbf{x}),f_2(\\mathbf{x}),\\cdots,f_n(\\mathbf{x}))=\\mathbf{x} y=f(x)=(f1(x),f2(x),,fn(x))=x

    • 注意这里的函数f\\mathbf{f}f是向量输入x\\mathbf{x}x,同时向量输出y\\mathbf{y}y

      • 假设它么的维数分别是n,mn,mn,m,且有m=nm=nm=n
      • 对上述恒等函数求jacobi matrix
    • ∂y∂x=(∂∂x1f1(x)∂∂x2f1(x)⋯∂∂xnf1(x)∂∂x1f2(x)∂∂x2f2(x)⋯∂∂xnf2(x)⋮∂∂x1fm(x)∂∂x2fm(x)⋯∂∂xnfm(x))m×n=(∂∂x1x1∂∂x2x1⋯∂∂xnx1∂∂x1x2∂∂x2x2⋯∂∂xnx2⋮∂∂x1xm∂∂x2xm⋯∂∂xnxm)m×n=n2=(10⋯001⋯0⋮⋮⋱⋮00⋯1)n×n\\frac{\\partial\\mathbf{y}}{\\partial{\\mathbf{x}}} =\\begin{pmatrix} \\frac{\\partial}{\\partial{{x_1}}}f_{1}(\\mathbf{x})& \\frac{\\partial}{\\partial{{x_2}}}f_{1}(\\mathbf{x})& \\cdots& \\frac{\\partial}{\\partial{{x_n}}}f_{1}(\\mathbf{x})\\\\ \\frac{\\partial}{\\partial{{x_1}}}f_{2}(\\mathbf{x})& \\frac{\\partial}{\\partial{{x_2}}}f_{2}(\\mathbf{x})& \\cdots& \\frac{\\partial}{\\partial{{x_n}}}f_{2}(\\mathbf{x})\\\\ \\vdots\\\\ \\frac{\\partial}{\\partial{{x_1}}}f_{m}(\\mathbf{x})& \\frac{\\partial}{\\partial{{x_2}}}f_{m}(\\mathbf{x})& \\cdots& \\frac{\\partial}{\\partial{{x_n}}}f_{m}(\\mathbf{x})\\\\ \\end{pmatrix}_{m\\times{n}} \\\\ =\\begin{pmatrix} \\frac{\\partial}{\\partial{{x_1}}}x_1& \\frac{\\partial}{\\partial{{x_2}}}x_1& \\cdots& \\frac{\\partial}{\\partial{{x_n}}}x_1\\\\ \\frac{\\partial}{\\partial{{x_1}}}x_2& \\frac{\\partial}{\\partial{{x_2}}}x_2& \\cdots& \\frac{\\partial}{\\partial{{x_n}}}x_2\\\\ \\vdots\\\\ \\frac{\\partial}{\\partial{{x_1}}}x_m& \\frac{\\partial}{\\partial{{x_2}}}x_m& \\cdots& \\frac{\\partial}{\\partial{{x_n}}}x_m\\\\ \\end{pmatrix}_{m\\times{n}=n^2} =\\begin{pmatrix} 1 &0 &\\cdots&0 \\\\ 0 &1 &\\cdots&0 \\\\ \\vdots&\\vdots&\\ddots&\\vdots\\\\ 0 &0 &\\cdots&1 \\\\ \\end{pmatrix}_{n\\times{n}} xy=x1f1(x)x1f2(x)x1fm(x)x2f1(x)x2f2(x)x2fm(x)xnf1(x)xnf2(x)xnfm(x)m×n=x1x1x1x2x1xmx2x1x2x2x2xmxnx1xnx2xnxmm×n=n2=100010001n×n

Types of matrix derivative

Types Scalar Vector Matrix
Scalar ∂y∂x\\frac{\\partial y}{\\partial x}xy ∂y∂x\\frac{\\partial \\mathbf{y}}{\\partial x}xy ∂Y∂x\\frac{\\partial \\mathbf{Y}}{\\partial x}xY
vector ∂y∂x\\frac{\\partial y}{\\partial \\mathbf{x}}xy ∂y∂x\\frac{\\partial \\mathbf{y}}{\\partial \\mathbf{x}}xy
Matrix ∂y∂X\\frac{\\partial y}{\\partial \\mathbf{X}}Xy

向量求导

向量对标量求导

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

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

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

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

      • i=1,2,⋯,mi=1,2,\\cdots,mi=1,2,,m
      • 对标量xxx进行广播,再分别求导
    • ∂y∂x=[∂y1∂x∂y2∂x⋮∂ym∂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关于标量变量xxx的导数也被称为向量y\\mathbf {y}y的切向量(在xxx方向的),∂y∂x{\\displaystyle {\\frac {\\partial \\mathbf {y} }{\\partial x}}}xy

  • 例子

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

标量对向量求导

  • 标量y对向量x=[x1x2⋯xn]T{\\displaystyle \\mathbf {x} ={\\begin{bmatrix}x_{1}&x_{2}&\\cdots &x_{n}\\end{bmatrix}}^{\\mathsf {T}}}x=[x1x2xn]T的导数可以(用分子记法)写成

    • ∂y∂x=[∂y∂x1∂y∂x2⋯∂y∂xn]{\\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=y(x)y=y(\\mathbf{x})y=y(x)进行广播(broadcasting),再进行求导
    • (∂y∂x)T=(∂y∂x1∂y∂x2∂y∂x3)(\\frac{\\partial{y}}{\\partial{\\mathbf{x}}})^T =\\begin{pmatrix} \\frac {\\partial y}{\\partial \\mathbf {x_1} }\\\\ \\frac {\\partial y}{\\partial \\mathbf {x_2} }\\\\ \\frac {\\partial y}{\\partial \\mathbf {x_3}} \\end{pmatrix} (xy)T=x1yx2yx3y

  • 在向量微积分中,标量y在的空间RnR^nRn(其独立坐标是x的分量)中的梯度是标量y对向量x的导数的转置。

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

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

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

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

      • ∇f(x)u=(∂y∂x1,∂y∂x2,∂y∂x3)⋅(cos⁡α,cos⁡β,cos⁡γ)=(∂y∂x1∂y∂x2∂y∂x3)(cos⁡α,cos⁡β,cos⁡γ)=(∂y∂x)Tu\\nabla{f(x)}u=(\\frac {\\partial y}{\\partial \\mathbf {x_1} },\\frac {\\partial y}{\\partial \\mathbf {x_2} },\\frac {\\partial y}{\\partial \\mathbf {x_3} }) \\cdot(\\cos\\alpha,\\cos\\beta,\\cos\\gamma) \\\\=\\begin{pmatrix} \\frac {\\partial y}{\\partial \\mathbf {x_1} }\\\\ \\frac {\\partial y}{\\partial \\mathbf {x_2} }\\\\ \\frac {\\partial y}{\\partial \\mathbf {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

        • x=(x1,x2,x3)\\mathbf x=(x_1,x_2,x_3)x=(x1,x2,x3)
  • 使用刚才定义的标量对向量的导数的记法,可以把方向导数写作 ∇uf=(∂f∂x)⊤u\\displaystyle \\nabla _{\\mathbf {u} }f=\\left({\\frac {\\partial f}{\\partial \\mathbf {x} }}\\right)^{\\top }\\mathbf {u}uf=(xf)u 这类记法在证明乘法法则和链式法则的时候非常直观,因为它们与我们熟悉的标量导数的形式较为相似。

向量对向量求导

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

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

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

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

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

    • ∂y∂x=[∂y1∂x1∂y1∂x2⋯∂y1∂xn∂y2∂x1∂y2∂x2⋯∂y2∂xn⋮⋮⋱⋮∂ym∂x1∂ym∂x2⋯∂ym∂xn]{\\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

      • 每一行相当于函数yiy_iyi对向量x\\mathbf{x}x求导
      • y\\mathbf{y}y中包含了n个向量,所以y\\mathbf{y}yx\\mathbf{x}x会产生n行,它们构成矩阵∂y∂x\\frac{\\partial{\\mathbf{y}}}{\\partial{\\mathbf{x}}}xy
    • 向量函数

      • 向量值函数,有时也称为向量函数,是一个单变量或多变量的、值域是多维向量或者无穷维向量的集合的函数。向量值函数的输入可以是一个标量或者一个向量(定义域的维度可以是1或大于1);定义域的维度不取决于值域的维度。
      • A vector-valued function, also referred to as a vector function, is a mathematical function of one or more variables whose range is a set of multidimensional vectors or infinite-dimensional vectors.
      • The input of a vector-valued function could be a scalar or a vector (that is, the dimension of the domain could be 1 or greater than 1);
      • the dimension of the function’s domain has no relation to the dimension of its range.
  • 在向量微积分中,向量函数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}fRnR^nRn空间中向量v的前推df(v)=∂f∂vdv\\displaystyle d\\,\\mathbf {f} (\\mathbf {v} )={\\frac {\\partial \\mathbf {f} }{\\partial \\mathbf {v} }}d\\,\\mathbf {v}df(v)=vfdv

矩阵求导

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

矩阵对标量求导(切矩阵)

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

    • ∂Y∂x=[∂y11∂x∂y12∂x⋯∂y1n∂x∂y21∂x∂y22∂x⋯∂y2n∂x⋮⋮⋱⋮∂ym1∂x∂ym2∂x⋯∂ymn∂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

标量对矩阵求导

  • 定义在元素是独立变量的p×qp×qp×q矩阵X∈RnX\\in{\\mathbb{R}^n}XRn上的标量函数yyyXXX的导数可以(用分子记法)写作

    • ∂y∂X=[∂y∂x11∂y∂x21⋯∂y∂xp1∂y∂x12∂y∂x22⋯∂y∂xp2⋮⋮⋱⋮∂y∂x1q∂y∂x2q⋯∂y∂xpq]{\\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)=Tr(X)y(X)=Tr(X)y(X)=Tr(X)
  • 类比于向量微积分,这个导数常被写成如下形式:

    • ∇Xy(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的方向导数可写成

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