矩陣及矩陣范數求導


矩陣求導公式

基本公式:
Y = A * X --> DY/DX = AT,

Y = X * A --> DY/DX = A

Y=XT*A--> DY/DX = A

Y = A * X--> DYT/DX = AT

Y = A * X -->DY/DXT = (DYT/DX)T=A

Y = AT * X * B --> DY/DX = A * BT

Y = AT * XT * B --> DY/DX = B * AT

乘積的導數: 
d(f*g)/dx=(dfT/dx)g+(dg/dx)fT

dY/dXT = (dYT/dX)T

dYT/dX = (dY/dXT)T

 

1.矩陣Y對標量x求導:

相當於每個元素求導數后轉置一下,注意M×N矩陣求導后變成N×M

    Y = [y(ij)] --> dY/dx = [dy(ji)/dx]

2. 標量y對列向量X求導:

注意與上面不同,這次括號內是求偏導,不轉置,對N×1向量求導后還是N×1向量

y = f(x1,x2,..,xn) --> dy/dX =(Dy/Dx1,Dy/Dx2,..,Dy/Dxn)T

3. 行向量Y對列向量X求導:

注意1×M向量對N×1向量求導后是N×M矩陣。

Y的每一列對X求偏導,將各列構成一個矩陣。

重要結論:

dXT/dX = I

d(AX)T/dX = AT

4. 列向量Y對行向量XT求導:

轉化為行向量YT對列向量X的導數,然后轉置。

注意M×1向量對1×N向量求導結果為M×N矩陣。

dY/dXT = (dYT/dX)T

5. 向量積對列向量X求導運算法則:

注意與標量求導有點不同。

d(UVT)/dX = (dU/dX)VT + U(dVT/dX)

d(UTV)/dX = (dUT/dX)V + (dVT/dX)U

重要結論:

d(XTA)/dX = (dXT/dX)A + (dAT/dX)X = IA + 0X = A

d(AX)/dXT = (d(XTAT)/dX)T = (AT)T = A

d(XTAX)/dX = (dXT/dX)AX + (d(AX)T/dX)X = AX + ATX

6. 矩陣Y對列向量X求導:

YX的每一個分量求偏導,構成一個超向量。

注意該向量的每一個元素都是一個矩陣。

7. 矩陣積對列向量求導法則:

d(UV)/dX = (dU/dX)V + U(dV/dX)

重要結論:

d(XTA)/dX = (dXT/dX)A + XT(dA/dX) = IA + XT0 = A

8. 標量y對矩陣X的導數:

類似標量y對列向量X的導數,

y對每個X的元素求偏導,不用轉置。

dy/dX = [ Dy/Dx(ij) ]

重要結論:

y = UTXV = ΣΣu(i)x(ij)v(j) 於是 dy/dX = [u(i)v(j)] = UVT

y = UTXTXU dy/dX = 2XUUT

y = (XU-V)T(XU-V) dy/dX = d(UTXTXU - 2VTXU + VTV)/dX = 2XUUT -2VUT + 0 = 2(XU-V)UT

9. 矩陣Y對矩陣X的導數:

Y的每個元素對X求導,然后排在一起形成超級矩陣。

10.乘積的導數

d(f*g)/dx=(dfT/dx)g+(dg/dx)fT

結論

d(xTAx)=(d(xTT)/dx)Ax+(d(Ax)/dx)(xTT)=Ax+ATx  (注意:TT是表示兩次轉置)

轉自:https://blog.csdn.net/u010025211/article/details/51646739

 https://blog.csdn.net/txwh0820/article/details/46392293

  

  

 

 

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM