矩阵求导方法

1、全微分

  • 当X是矩阵, d y = t r ( ∂ y ∂ X T d X ) dy = tr(\frac{\partial y}{\partial X}^T dX) dy=tr(XyTdX)

  • 当X是向量, d y = ∂ y ∂ X T d X = t r ( ∂ y ∂ X T d X ) dy = \frac{\partial y}{\partial X}^T dX=tr(\frac{\partial y}{\partial X}^T dX) dy=XyTdX=tr(XyTdX)

2、活用迹(tr)

( 1 ) a 是 标 量 , a = t r ( a ) (1) a是标量,a = tr(a) (1)aa=tr(a)

( 2 ) A , B 为 方 阵 , t r ( A B ) = t r ( B A ) (2) A,B为方阵,tr(AB) = tr(BA) (2)ABtr(AB)=tr(BA)

( 3 ) t r ( A ) = t r ( A T ) (3) tr(A) = tr(A^T) (3)tr(A)=tr(AT)

( 4 ) t r ( A + B ) = t r ( A ) + t r ( B ) (4) tr(A+B) = tr(A)+tr(B) (4)tr(A+B)=tr(A)+tr(B)

( 5 ) 微 分 d ( X T ) = ( d X ) T (5) 微分d(X^T) = (dX)^T (5)d(XT)=(dX)T

这些公式将用于下面的求导

3、矩阵求导例子

下面将展示一些用上面公式求矩阵导数的例子:


例1:

X = ( x 1 , . . . , x n ) T X = (x_1,...,x_n)^T X=(x1,...,xn)T是向量, A A A是与 X X X无关的矩阵: y = X T A X , 求 ∂ y ∂ X ? y = X^TAX ,求 \frac{\partial y}{\partial X}? y=XTAXXy?

全微分表达式:
d y = ( d X T ) A X + X T A ( d X ) dy = (dX^T)AX + X^TA(dX) dy=(dXT)AX+XTA(dX)

由公式(1)得:

d y = t r ( ( d X T ) A X + X T A ( d X ) ) dy = tr((dX^T)AX + X^TA(dX)) dy=tr((dXT)AX+XTA(dX))

由公式(2)得:

d y = t r ( ( d X T ) A X ) + t r ( X T A ( d X ) ) dy = tr((dX^T)AX)+tr( X^TA(dX)) dy=tr((dXT)AX)+tr(XTA(dX))

由公式(5) (3)得:

d y = t r ( ( d X ) T A X ) + t r ( X T A ( d X ) ) = t r ( X T A T d X ) + t r ( X T A ( d X ) ) dy = tr((dX)^TAX)+tr( X^TA(dX))= tr(X^TA^TdX)+tr( X^TA(dX)) dy=tr((dX)TAX)+tr(XTA(dX))=tr(XTATdX)+tr(XTA(dX))

由公式(2)得:

d y = t r ( X T A T ( d X ) + X T A ( d X ) ) = t r ( X T ( A T + A ) d X ) dy = tr(X^TA^T(dX) + X^TA(dX))=tr(X^T(A^T+A)dX) dy=tr(XTAT(dX)+XTA(dX))=tr(XT(AT+A)dX)

∵ d y = t r ( ∂ y ∂ X T d X ) \because dy = tr(\frac{\partial y}{\partial X}^T dX) dy=tr(XyTdX)

⇒ ∂ y ∂ X T = X T ( A T + A ) \Rightarrow \frac{\partial y}{\partial X}^T = X^T(A^T+A) XyT=XT(AT+A)

⇒ ∂ y ∂ X = ( X T ( A T + A ) ) T = ( A + A T ) X \Rightarrow \frac{\partial y}{\partial X} = (X^T(A^T+A))^T= (A+A^T)X Xy=(XT(AT+A))T=(A+AT)X


例2:

y = t r ( A B ) , 求 ∂ y ∂ A ? y = tr(AB),求\frac{\partial y}{\partial A}? y=tr(AB),Ay?

全微分表达式:
d y = t r [ ( d A ) B ] dy = tr[(dA)B] dy=tr[(dA)B]

由公式(2)得:
d y = t r [ B   d A ] dy = tr[B\ dA] dy=tr[B dA]

∵ d y = t r ( ∂ y ∂ X T d X ) \because dy = tr(\frac{\partial y}{\partial X}^T dX) dy=tr(XyTdX)

⇒ ∂ y ∂ A T = B \Rightarrow \frac{\partial y}{\partial A}^T = B AyT=B

⇒ ∂ y ∂ A = B T \Rightarrow \frac{\partial y}{\partial A} =B^T Ay=BT

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值