矩陣及矩陣範數求導

矩陣求導公式算法

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

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

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

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

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

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

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

相關文章
相關標籤/搜索