矩阵求导法则与性质

矩阵求导法则与性质介绍矩阵求导法则 以及常用的求导公式 迹函数 行列式求导结论矩阵求导法则矩阵求导应该分为标量求导 向量求导 矩阵求导三个方面来介绍 公式繁多 但仔细看看其实是有规律可循的 标量求导无论是矩阵 向量对标量求导 或者是标量对矩阵 向量求导 其结论都是一样的 等价于对矩阵 向量 的每个分量求导 并且保持维数不变 例如 我们可以计算标量对向量求导 设 yyy 为一个元素 x

介绍矩阵求导法则,以及常用的求导公式、迹函数、行列式求导结论

矩阵求导法则

矩阵求导应该分为标量求导、向量求导、矩阵求导三个方面来介绍,公式繁多,但仔细看看其实是有规律可循的。

标量求导

无论是矩阵、向量对标量求导,或者是标量对矩阵、向量求导,其结论都是一样的:等价于对矩阵(向量)的每个分量求导,并且保持维数不变。

例如,我们可以计算标量对向量求导:

y y 为一个元素, x T = [ x 1 . . . x q ] ” role=”presentation”> x T = [ x 1 . . . x q ] q q 维行向量,则:

y x T = [ y x 1 . . . y x q ] ” role=”presentation”> y x T = [ y x 1 . . . y x q ]

向量求导

对于向量求导,我们可以先将向量看做一个标量,然后使用标量求导法则,最后将向量形式化为标量进行。

例如,我们可以计算行向量对列向量求导:

yT=[y1...yn] y T = [ y 1 . . . y n ] n n 维行向量, x = [ x 1 , . . . , x p ] ” role=”presentation”> x = [ x 1 , . . . , x p ] p p 维列向量,则:

y T x = [ y 1 x . . . y n x ] = [ y 1 x 1 . . . y n x 1 . . . . . . . . . y 1 x p . . . y n x p ] ” role=”presentation”> y T x = [ y 1 x . . . y n x ] = [ y 1 x 1 . . . y n x 1 . . . . . . . . . y 1 x p . . . y n x p ]

矩阵求导

与向量求导类似,先将矩阵化当做一个标量,再使用标量对矩阵的运算进行。

例如,我们可以计算矩阵对列向量求导:

Y=y11...ym1.........y1n...ymn Y = [ y 11 . . . y 1 n . . . . . . . . . y m 1 . . . y m n ] m×n m × n 矩阵, x=[x1,...,xp] x = [ x 1 , . . . , x p ] p p 维列向量,则:

Y x = [ Y x 1 , . . . , Y x p ] ” role=”presentation”> Y x = [ Y x 1 , . . . , Y x p ]

矩阵微积分

常见求导性质

实值函数相对于实向量的梯度

f(x)=x=[x1,...,xn]T f ( x ) = x = [ x 1 , . . . , x n ] T

f(x)xT=xxT=In×n ∂ f ( x ) ∂ x T = ∂ x ∂ x T = I n × n

(f(x))Tx=xTx=In×n ∂ ( f ( x ) ) T ∂ x = ∂ x T ∂ x = I n × n

f(x)x=xx=vec(In×n) ∂ f ( x ) ∂ x = ∂ x ∂ x = v e c ( I n × n )

(f(x))TxT=xTxT=vec(In×n)T ∂ ( f ( x ) ) T ∂ x T = ∂ x T ∂ x T = v e c ( I n × n ) T

其中, vec v e c 表示向量化矩阵,按列将矩阵表示为向量,具体可见Wikipedia。

常见性质

  1. f(x)=Ax f ( x ) = A x ,则

    f(x)xT=(Ax)xT=A ∂ f ( x ) ∂ x T = ∂ ( A x ) ∂ x T = A

  2. f(x)=xTAx f ( x ) = x T A x ,则

    f(x)x=(xTAx)x=Ax+ATx ∂ f ( x ) ∂ x = ∂ ( x T A x ) ∂ x = A x + A T x

  3. f(x)=aTx f ( x ) = a T x ,则

    aTxx=xTax=a ∂ a T x ∂ x = ∂ x T a ∂ x = a

  4. f(x)=xTAy f ( x ) = x T A y ,则

    xTAyx=Ay ∂ x T A y ∂ x = A y

    xTAyA=xyT ∂ x T A y ∂ A = x y T

  5. df(X)=tr((f(X)X)TdX) d f ( X ) = t r ( ( ∂ f ( X ) ∂ X ) T d X )

  6. 矩阵微分也满足线性法则、乘积法则。
  7. 矩阵的逆的微分

    d(X1)=X1(dX)X1 d ( X − 1 ) = − X − 1 ( d X ) X − 1

迹函数

迹函数相对于矩阵的梯度

(tr(ZZT))Z=(tr(ZTZ))Z=2Z ∂ ( t r ( Z Z T ) ) ∂ Z = ∂ ( t r ( Z T Z ) ) ∂ Z = 2 Z

矩阵微分算子和迹算子的可交换性

d(tr(X))=tr(d(X))=i=1ndxii d ( t r ( X ) ) = t r ( d ( X ) ) = ∑ i = 1 n d x i i

常见性质

  1. tr(A)A=In×n ∂ t r ( A ) ∂ A = I n × n

  2. tr(AB)A=BT ∂ t r ( A B ) ∂ A = B T

  3. d(tr(AXB))=tr(A(dX)B)=tr(BA(dx)) d ( t r ( A X B ) ) = t r ( A ( d X ) B ) = t r ( B A ( d x ) )

    tr(AXB)X=(BA)T=ATBT ∂ t r ( A X B ) ∂ X = ( B A ) T = A T B T

  4. d(tr(AX1B))=tr(A(dX1)B)=tr(AX1(dX)X1B)=tr(X1BAX1dX) d ( t r ( A X − 1 B ) ) = t r ( A ( d X − 1 ) B ) = − t r ( A X − 1 ( d X ) X − 1 B ) = − t r ( X − 1 B A X − 1 d X )

    tr(AX1B)X=(X1BAX1)T=XTATBTXT ∂ t r ( A X − 1 B ) ∂ X = − ( X − 1 B A X − 1 ) T = − X − T A T B T X − T

  5. tr(XTX)X=2X ∂ t r ( X T X ) ∂ X = 2 X

行列式

行列式相对于矩阵的梯度

|Z|Z=|Z|(Z1)T ∂ | Z | ∂ Z = | Z | ( Z − 1 ) T

微分形式

d|X|=tr(|X|X1dX) d | X | = t r ( | X | X − 1 d X )

常见性质

  1. d|AXB|===tr(|AXB|(AXB)1d(AXB))tr(|AXB|(AXB)1A(dX)B)tr(|AXB|B(AXB)1A(dX)) d | A X B | = t r ( | A X B | ( A X B ) − 1 d ( A X B ) ) = t r ( | A X B | ( A X B ) − 1 A ( d X ) B ) = t r ( | A X B | B ( A X B ) − 1 A ( d X ) )

    |AXB|X=|AXB|AT(BTXTAT)1BT ∂ | A X B | ∂ X = | A X B | A T ( B T X T A T ) − 1 B T

  2. |X|X=|X|XT ∂ | X | ∂ X = | X | X − T

  3. |XXT|X=2|XXT|(XXT)1X ∂ | X X T | ∂ X = 2 | X X T | ( X X T ) − 1 X

reference

  1. 矩阵的导数与迹
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202251.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午7:33
下一篇 2026年3月20日 上午7:33


相关推荐

  • NVIC中断管理

    NVIC中断管理使用中断之前,第一步要了解的是其优先级管理,下面总结一下STM32NVIC的中断优先级管理。(正点原子系列)以smt32f103系列为例,其具有16个内核中断和60个可屏蔽中断。下面介绍其库函数的开发:MDK内与NVIC相关的寄存器包含在结构体中,通过创建结构体,配置其内部组成员也就是寄存器,来配置NVIC各个配置。先介绍其结构体的内部内容:在结构体内有介绍!中断配置寄存器[]内的…

    2022年5月27日
    71
  • linux中fork()函数详解(原创!!实例讲解)

    linux中fork()函数详解(原创!!实例讲解)一 fork 入门知识二 fork 进阶知识三 fork 高阶知识

    2026年3月17日
    3
  • microsoft visual studio2010 密钥_windows7产品密钥

    microsoft visual studio2010 密钥_windows7产品密钥4D974-9QX42-9Y43G-YJ7JG-JDYBP

    2022年10月14日
    4
  • json在线解析与格式化

    json在线解析与格式化这种操作 可以通过 https www json cn 的方式进行格式化 但是目前使用的网站内容是有故障的 如果直接使用其中的下载按钮可以下载出相应的 json 文件 但是该文件是错误的 需要通过按钮复制 再粘贴到相关的文件内 如图 第一个为下载按钮 第 2 个为复制按钮

    2026年3月18日
    1
  • tomcat 设置允许跨域访问「建议收藏」

    tomcat 设置允许跨域访问「建议收藏」既然想到使用tomcat进行跨域的设置,而不使用在项目中设置header来解决,说明你也是tomcat下的资源需要做跨域处理吧?这也是一个统一的允许跨域设置,tomcat下的所有请求都将放开,请注意。具体步骤:1.首先找到你的tomcat所在路径,并在conf文件夹下找到web.xml2.打开该文件,在以下位置加上这段:<filter><…

    2026年4月19日
    5
  • 服务器维护中 verycd,强大的VeryCD服务器终于挂了…

    服务器维护中 verycd,强大的VeryCD服务器终于挂了…VeryCD.com是我喜欢的少数几个资源站点之一,也是一个浏览量非常大的网站。无法想象每个网友在上面Download自己喜爱的资源的时候VeryCD的那一排排主机承受着多大的压力与负载。VeryCD.com的首页设置的很有个性。每次你访问的时候都会在标题栏跟上一句富有哲理与人生韵味的格言或警句。所以有时候闷了,就闲来无事去刷它的主页。但是,今天下午一点钟左右试图登录VeryCD的时候发现开网页的…

    2022年8月10日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号