转载自:

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

矩阵的迹求导法则 
 

1. 复杂矩阵问题求导方法:可以从小到大,从scalar到vector再到matrix 


2. x is a column vector, A is a matrix

d(A∗x)/dx=A 
d(xT∗A)/dxT=A 
d(xT∗A)/dx=AT 
d(xT∗A∗x)/dx=xT(AT+A)

3. Practice: 
 
4. 矩阵求导计算法 
求导公式(撇号为转置): 
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

矩阵的f范数及其求偏导法则的更多相关文章

  1. 矩阵的 Frobenius 范数及其求偏导法则

    cr:http://blog.csdn.net/txwh0820/article/details/46392293 一.矩阵的迹求导法则   1. 复杂矩阵问题求导方法:可以从小到大,从scalar到 ...

  2. 矩阵的frobenius范数及其求偏导法则

    例子: http://www.mathchina.net/dvbbs/dispbbs.asp?boardid=4&Id=3673

  3. Maths | 二次型求偏导

  4. 用tensorflow求偏导

    # coding:utf-8 from __future__ import absolute_import from __future__ import unicode_literals from _ ...

  5. MathType二次偏导怎么表示

    求导以及求偏导运算在数学中是很重要的一个部分,尤其是在高等数学中,基本都由函数的导数与偏导组成,很多公式定理也是关于这方面的,如果少了这一部分,数学将会黯然失色.因此在文档中涉及到这些内容时,必然会少 ...

  6. 2范数和F范数的区别

    2范数和F范数是不同的. 2范数表示矩阵或向量的最大奇异值,max⁡(svd(X)) 而 F范数表示矩阵所有元素平方和的开方根 sqrt(∑_(x_(i,j∈X))▒x_(i,j)^2 )

  7. Educational Codeforces Round 12 F. Four Divisors 求小于x的素数个数(待解决)

    F. Four Divisors 题目连接: http://www.codeforces.com/contest/665/problem/F Description If an integer a i ...

  8. C++实现矩阵的相加/相称/转置/求鞍点

    1.矩阵相加 两个同型矩阵做加法,就是对应的元素相加. #include<iostream> using namespace std; int main(){ int a[3][3]={{ ...

  9. 螺旋矩阵O(1)根据坐标求值

    传送门 洛谷2239 •题意 从矩阵的左上角(第11行第11列)出发,初始时向右移动: 如果前方是未曾经过的格子,则继续前进,否则右转: 重复上述操作直至经过矩阵中所有格子. 根据经过顺序,在格子中依 ...

随机推荐

  1. [刷题]算法竞赛入门经典(第2版) 5-8/UVa230 - Borrowers

    //又开学啦,不知不觉成为大二的老人了...时间过得好快啊,感觉好颓废... 题意:建立一个借书/归还系统.有借.还.把还的书插到书架上这三个指令. 代码:(Accepted, 0ms) //UVa2 ...

  2. HTML5本地存储之Web Storage应用介绍

    Web Storage是HTML5引入的一个非常重要的功能,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,Web Sto ...

  3. FutureTask——另一种闭锁的实现

    关于多线程,我们接触对多的,最基础,入门的可能就是实现Runnable接口继承Thead类,因为Java单继承的原因,通常建议是实现Runnable接口.但这种"简单"的线程会带来 ...

  4. 9、JcomboBox下拉框事件监听

    9.JcomboBox下拉框事件监听 JComboBox()的事件监听类ItemListener.其范例代码如下: import java.awt.*; import java.awt.event.* ...

  5. 一个基于thinkphp的微信授权登陆功能

    共享一份基于thinkphp开发的用户授权登陆的功能代码,本实例使用thinkphp的第三方微信公众平台PHP-SDK,地址https://github.com/dodgepudding/wechat ...

  6. [asp.net mvc 奇淫巧技] 02 - 巧用Razor引擎在Action内生成Html代码

    在web开发中经常会遇到在内部代码中获取Html,这些Html是需要和数据进行一起渲染.并不是直接把Html代码返回给客户端.这样的做法有很多应用场景,例如分页.Ajax一次性获取几段Html片段.生 ...

  7. 开涛spring3(6.4) - AOP 之 6.4 基于@AspectJ的AOP

    Spring除了支持Schema方式配置AOP,还支持注解方式:使用@AspectJ风格的切面声明. 6.4.1  启用对@AspectJ的支持 Spring默认不支持@AspectJ风格的切面声明, ...

  8. laravel5.2之logout注销账号无效

    问题描述:laravel5.2的框架,使用框架auth用户认证后,进行账号注销退出的时候,无法实现. 只有清除浏览器缓存,才能实现账号退出. 解决办法: 改变路由 Route::get('auth/l ...

  9. std::cin>>

    cin>> 不吃最后的回车换行,字符串自动补'\0'与最后回车换行无关 时常忘记,紧记!

  10. twemproxy发送流程探索——剖析twemproxy代码正编

    本文想要完成对twemproxy发送流程--msg_send的探索,对于twemproxy发送流程的数据结构已经在<twemproxy接收流程探索--剖析twemproxy代码正编>介绍过 ...