矩阵导数(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的特殊情况,α=![x^{t}Ax](https://i-blog.csdnimg.cn/blog_migrate/1709ce6734c4d2649461ad51acde1575.png)
此时,如果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