矩阵的求导问题小结

科研问题中,我们经常遇到各种各样的矩阵求导问题,归纳起来主要有这两类:
1. 数量函数对矩阵变量的求导
2. 矩阵值函数对矩阵变量的求导
(注:遇到点乘等问题时,通过转置等手段转换为矩阵问题)
latex 符号参考:
http://www.mohu.org/info/symbols/symbols.htm
http://zhidao.baidu.com/link?url=For6yUOPJuqgZMpSpSZB_RYkIUTQo9tvLunp9WwNWS6K7xHoYAgZJ4io3qMyo2V938KbUbk0bxO_bOSQmLxiCVRy3oC19e6u9MqvGk-9E8i 矩阵的输入

数量函数对矩阵变量的求导

f(X) 是以矩阵 X=(xij)m×n 为自变量的 mn 元函数,且 fxij(i=1,2,,n) 都存在,规定 f X d 导数 dfdX

dfdX=(fxij)m×n=fx11fxm1fx1nfxmn

特别地,以 x=(x1,x2,,xn)T 为自变量的函数 f(x) 的导数
dfdx=(fx1,fx2,,fxn)T

称为数量函数对向量变量的导数

【例1】设 a=(a1,a2,,an)T 为给定的向量, x=(x1,x2,,xn)T 是向量变量,且

f(x)=aTx=axT

dfdx .
解:由 f(x)=ni=1aixi ,则
fxi=ai,i=1,2,,n

所以, dfdx=(fxi)n×1=(a1,a2,,an)T=a

【例2】设 A=(aij)n×n 为给定的矩阵, x=(x1,,xn)T 是向量变量, f(x)=xTAx ,求 dfdx
解: xT=(x1,,xn)

f(x)=xTAx=s=1nk=1nxsaskxk

fxi=k=1naikxk+s=1nxsasi

dfdx=(fxi)n×1=(k=1na1kxk,,k=1nankxk)T+(s=1nas1xs,,s=1nasnxs)T=AX+ATX

特别的,当 A 为对称矩阵时,有 dfdx=2AX

矩阵值函数对矩阵变量的求导(有点像链式求导法则)

X=(xij)m×n .由mn元函数 fij(x)(i=1,2,,r;j=1,2,,s) 定义的矩阵值函数 F(X)=(fijX)r×s 对矩阵X的导数为:

dFdX=Fx11Fxm1Fx1nFxmn

其中
Fxij=f11xijfr1xijf1sxijfrsxij

【例3】设 x=(x1,x2,,xn) , n 元函数 fj(x)=fj(x1,x2,,xn)(j=1,2,,n) ,令

F(x)=(f1(x),f2(x),,fn(x))T
.
dFdx
解: dFdx=(Fx1,Fx2,,Fxn)
=f1x1,fnxn,f1xnf1xn

和迹相关的求导

(注:迹为矩阵主对角线的个元素之和)
【例4】 设 X n×m 的矩阵, A,B 分别为 n×n m×n 的常数矩阵,证明:
(1) ddX(tr(BX))=ddX(tr(XTBT))=BT
(2) ddX(tr(XTAX))=(A+AT)X
证明:(1) tr(BX)=nk=1ms=1bksxsk
所以 ddxij(tr(BX))=bji,(i=1,2,,n;j=1,2,,m)
ddX(tr(BX))=BT
又由于 tr(BX)=tr((BX)T)=tr(XTBT)
所以上式成立
(2)

XT=x11x12x1mx21x22x2mxn1xn2xnm

AX=s=1na1sxs1s=1na2sxs1s=1nansxs1s=1na1sxs2s=1na2sxs1s=1na2sxs2s=1na1sxsms=1na2sxsms=1nansxsm

f=tr(XTAX)=nl=1xl1ns=1alsxs1++nl=1xljns=1alsxsj++nl=1xljns=1alsxsm
则:
fxij=
以下部分省略..

矩阵求导的一些性质以及注意事项

1.对矩阵的求导和对数的求导一样满足相应的加减乘除的性质
2.在解决矩阵的求导问题时,我们经常先化为对矩阵元素的求导问题,再进行组合
3. 注意相关下标符号的选取,比如我们要求 fxij ,在求解的过程中对 f 的表示我们一般用 xks ,这样便于符号的区分

你可能感兴趣的:(深度学习)