矩阵导数(Matrix Differentia)
常见的偏导,导数形式都是标量形式的,比如说方程y=2x+10,那么y关于x的导数dy/dx=2,但是对于一般情况下,方程组Y=AX等情况来说,X,Y都有可能是向量或者矩阵的形式,这个时候怎么求dY/dX呢?
矩阵求导主要分为以下一些情况:
1:x∈
,y∈
,y=Ψ(x)
对于y,x都是向量的情况下,dy/dx的形式如下,是一个m*n的矩阵:

此时,当y是一个标量的时候,结果就是一个1*n的行向量,当x是一个标量的时候,结果就是一个m*1的列向量。
2:y=Ax, x∈
,y∈
,A∈
,A与x无关

3:y=Ax, x∈
,y∈
,A∈
,x是z的函数,x=Φ(z),A与x以及z都无关

4:设α=
,x∈
,y∈
,A∈
,A和x,y无关,α是标量



5:对于4的特殊情况,α=


此时,如果A是一个对称矩阵的话,那么,所以结果变成了:

6:对于
α=
,x∈
,y∈
,x,y都是关于z的函数,z是向量


将叠加的式子转化为矩阵形式不那么明显,由于向量相乘是
xiyi的形式,因此上面的式子首先可以转化为向量相乘,然后在转化为矩阵,如下:

然后再将zk转化为z,就行了,结果就是1中的矩阵形式。
对于y=x的特殊情况,结果如下:

7:设α=
,x∈
,y∈
,A∈
,A和z无关,α是标量,y,x都是关于z的函数


8:对于α=
,A和z无关,α是标量,x是关于z的函数

当A时对称的时候,结果如下:

9:如果A是一个矩阵,α是标量

如果A是非奇异m*m的矩阵,那么
关于α的偏导为:


注意:
有可能别的论文或者文章里面求导的结果和本文不一致,是因为矩阵偏导的形式不同,和X是行矩阵(每一行为一个向量)还是列矩阵(每一列为一个向量)有关联,两者的结果差一个转置,因为:
![]()
本文的结果是行矩阵的结果,列矩阵的结果可以参考https://www.math.uwaterloo.ca/~hwolkowi/matrixcookbook.pdf.
参考文献:
Matrix Differentiation. Randal J. Barnes
矩阵导数详解
本文深入解析了矩阵导数的不同情况,包括向量和矩阵的偏导数,以及在各种复杂函数和变换下的导数计算方法。特别关注了矩阵求导在标量、向量和矩阵形式下的应用。
975





