矩阵微分

自己学习矩阵微分的笔记,包含了迹函数、行列式函数以及逆矩阵的求导方法。 
主要是练习求导的链式法则;以及利用微分求导数。 
更具体的参见
引用:张贤达,矩阵分析与应用,清华大学出版社,2004

c458bd85-c37b-3191-956b-813345b12709.png 

c81e805c-d887-3395-a744-247f08d68b88.png 

29f7821f-6f02-3da0-9603-f75c5f80d270.png 

5f6ad819-ecd0-3ed3-9aee-1e48db215987.png 

81bacb4f-2c5b-348d-920d-bcd503c86fab.png 

34cdcb9b-9c8b-3ea7-af74-f075064b3921.png 

91699d51-152d-32f2-99f1-e97d23712792.png


afb8ea45-a425-3d43-8a97-738ceb190497.png


Note:向量用加粗的小写字母表示,行向量表示为,列向量表示为

Note:矩阵用加粗的大写字母表示,如,其转置为

Note:单位矩阵用表示,det()表示矩阵的行列式,tr()表示矩阵的迹

Note:矩阵和向量不依赖于

参考网站:http://www.psi.toronto.edu/matrix/calculus.html

1.符号说明:


2.矩阵的线性微分(Linear Products)

首先介绍一个重要的性质(类似于函数的求导): 


经验:若d(行向量)/d(列向量)或者d(列向量)/d(行向量),则也适合这个公式,如下面的前两个公式:


微笑矩阵转置

           

       图 矩阵的转置过程,转置后行变成列

微笑用一个数字去加或者乘以矩阵

这相当于对矩阵中的每一个元素都独立地进行加法或乘法运算。由于矩阵元素之间的相对值没有发生变化,而只有比例发生了变化,所以上述这类运算称为标量运算(scalar operation)。如果相对矩阵进行常数缩放或者加上一个常数偏移值,就可以使用矩阵标量乘法或加法运算。

     图 矩阵上的标量运算,最后的结果是每个元素乘上或者加上某个标量

微笑两矩阵求和

两矩阵要求和,首先必须满足两矩阵的行列数完全一致,矩阵求和相当于每个位置上对应元素求和。


   图 矩阵求和

微笑矩阵乘法

两个矩阵要相乘,前一个矩阵的列数必须要等于后一个矩阵的行数。


       图 矩阵乘法示意图,

矩阵相乘还可以看成是列的加权求和。


微笑矩阵求逆


矩阵要可逆,首先要是方阵,及矩阵的行数等于列数。

方阵也不一定可逆,这时称它奇异(singular)或退化(degenerate)矩阵。如果某个矩阵的某一列可以表示为其它列的线性组合,则该矩阵是奇异矩阵。

如果能够这样表示,则可以把一列的元素全部归于0.


图 一个奇异矩阵的例子。该矩阵有一列为0,意味着该矩阵不可逆。

微笑向量的范数

范数可以看成向量的长度,可以定义任意阶范数,其形式化定义如下:


可以任意定义自己的向量范数,只要能将向量转换为标量值即可。

微笑矩阵求导



1.行向量对元素求导


2.列向量对元素求导


对于向量,可以对x求导,得到另一个向量

3.矩阵对元素求导


4.元素对行向量求导


5.元素对列向量求导


6.元素对矩阵求导



7.行向量对列向量求导



比如,对于向量另一个向量                

如果A(一个2*1的向量)要对B(一个3*1的向量)求导,会得到如下3*2的矩阵:


8.列向量对行向量求导

9.行向量对行向量求导、.列向量对列向量求导、矩阵对行向量求导、矩阵对列向量求导、行向量对矩阵求导、列向量对矩阵求导、矩阵对矩阵求导:

计算方式与可以类比于前边的方法,不过区别在于这几个求导得出的结果都是超向量或超矩阵,即它们的元素本身就是向量或矩阵。

10.向量积对列向量求导


11.矩阵积对列向量求导法则


微笑



矩阵求导链式法则的相关用法参见《矩阵运算的若干应用》
http://blog.csdn.net/u012176591/article/details/41552269



  • http://www.atmos.washington.edu/~dennis/MatrixCalculus.pdf

  • http://en.wikipedia.org/wiki/Matrix_calculus

  • http://www.colorado.edu/engineering/cas/courses.d/IFEM.d/IFEM.AppF.d/IFEM.AppF.pdf

  • http://www.colorado.edu/engineering/cas/courses.d/IFEM.d/

  • http://select.cs.cmu.edu/class/10725-S10/recitations/r4/Matrix_Calculus_Algebra.pdf

求导公式(撇号为转置):

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

乘积的导数

d(f*g)/dx=(df'/dx)g+(dg/dx)f'

 



  



 

于是把以前学过的矩阵求导部分整理一下:

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)'

3. 行向量Y'对列向量X求导:

注意1×M向量对N×1向量求导后是N×M矩阵。

将Y的每一列对X求偏导,将各列构成一个矩阵。

重要结论:

dX'/dX =I

d(AX)'/dX =A'

4. 列向量Y对行向量X’求导:

转化为行向量Y’对列向量X的导数,然后转置。

注意M×1向量对1×N向量求导结果为M×N矩阵。

dY/dX' =(dY'/dX)'

5. 向量积对列向量X求导运算法则:

注意与标量求导有点不同。

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

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

重要结论:

d(X'A)/dX =(dX'/dX)A + (dA/dX)X' = IA + 0X' = A

d(AX)/dX' =(d(X'A')/dX)' = (A')' = A

d(X'AX)/dX =(dX'/dX)AX + (d(AX)'/dX)X = AX + A'X

6. 矩阵Y对列向量X求导:

将Y对X的每一个分量求偏导,构成一个超向量。

注意该向量的每一个元素都是一个矩阵。

7. 矩阵积对列向量求导法则:

d(uV)/dX =(du/dX)V + u(dV/dX)

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

重要结论:

d(X'A)/dX =(dX'/dX)A + X'(dA/dX) = IA + X'0 = A

8. 标量y对矩阵X的导数:

类似标量y对列向量X的导数,

把y对每个X的元素求偏导,不用转置。

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

重要结论:

y = U'XV= ΣΣu(i)x(ij)v(j) 于是 dy/dX = [u(i)v(j)] =UV'

y = U'X'XU 则dy/dX = 2XUU'

y =(XU-V)'(XU-V) 则 dy/dX = d(U'X'XU - 2V'XU + V'V)/dX = 2XUU' - 2VU' +0 = 2(XU-V)U'

9. 矩阵Y对矩阵X的导数:

将Y的每个元素对X求导,然后排在一起形成超级矩阵。

10.乘积的导数

d(f*g)/dx=(df'/dx)g+(dg/dx)f'

结论

d(x'Ax)=(d(x'')/dx)Ax+(d(Ax)/dx)(x'')=Ax+A'x (注意:''是表示两次转置)

 

 

矩阵求导 属于 矩阵计算,应该查找 Matrix Calculus 的文献:

http://www.psi.toronto.edu/matrix/intro.html#Intro

http://www.psi.toronto.edu/matrix/calculus.html

http://www.stanford.edu/~dattorro/matrixcalc.pdf

http://www.colorado.edu/engineering/CAS/courses.d/IFEM.d/IFEM.AppD.d/IFEM.AppD.pdf

http://www4.ncsu.edu/~pfackler/MatCalc.pdf

http://center.uvt.nl/staff/magnus/wip12.pdf


汇总自:

http://cherishlc.iteye.com/blog/1765932

http://blog.csdn.net/u012176591/article/details/34251843

http://blog.sina.com.cn/s/blog_4a033b090100pwjq.html


你可能感兴趣的:(矩阵微分,矩阵求导)