矩阵求导法则与性质

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

矩阵求导法则

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

标量求导

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

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

y y 为一个元素,xT=[x1...xq] q q 维行向量,则:

yxT=[yx1...yxq]

向量求导

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

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

yT=[y1...yn] y T = [ y 1 . . . y n ] n n 维行向量,x=[x1,...,xp] p p 维列向量,则:

yTx=[y1x...ynx]=[y1x1...ynx1.........y1xp...ynxp]

矩阵求导

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

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

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 维列向量,则:

Yx=[Yx1,...,Yxp]

矩阵微积分

常见求导性质

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

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. 矩阵的导数与迹
  • 87
    点赞
  • 570
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值