精华内容
下载资源
问答
  • 矩阵求导、几种重要的矩阵及常用的矩阵求导公式

    万次阅读 多人点赞 2018-06-08 11:16:02
    一、矩阵求导   一般来讲,我们约定x=(x1,x2,...xN)Tx=(x1,x2,...xN)Tx=(x_1,x_2,...x_N)^T,这是分母布局。... 其他的可以参考wiki:维基百科矩阵求导公式 二、几种重要的矩阵 1、梯度(Gr...

    一、矩阵求导

      一般来讲,我们约定x=(x1,x2,...xN)T,这是分母布局。常见的矩阵求导方式有:向量对向量求导,标量对向量求导,向量对标量求导。

    1、向量对向量求导

    这里写图片描述

    2、标量对向量求导

    这里写图片描述
    这里写图片描述

    3、向量对标量求导

    这里写图片描述

    其他的可以参考wiki:维基百科矩阵求导公式

    二、几种重要的矩阵

    1、梯度(Gradient)

    这里写图片描述
    这里写图片描述

    2、雅克比矩阵(Jacobian matrix)

    这里写图片描述
    这里写图片描述

    3、海森矩阵(Hessian matrix)

    这里写图片描述

    三、常用的矩阵求导公式

    这里写图片描述
    这里写图片描述

    参考:
    https://blog.csdn.net/xtydtc/article/details/51133903
    https://blog.csdn.net/yc461515457/article/details/49682473

    展开全文
  • 机器学习门槛之矩阵求导(二)​zhuanlan.zhihu.com提到有六种矩阵求导的形式如下:矩阵求导形式总结 1: ,就是高中所学的那些求导公式2: 3: 4: 5: 6: 常用的矩阵求导公式(采用分子布局的矩阵求导公式):...

    机器学习门槛之矩阵求导(二)

    行云流水秀:机器学习门槛之矩阵求导(二)zhuanlan.zhihu.com

    提到有六种矩阵求导的形式如下:

    243955f72001bdf8b474c9ce8f4fcf72.png
    矩阵求导形式总结

    1:

    ,就是高中所学的那些求导公式

    2:

    3:

    4:

    5:

    6:

    常用的矩阵求导公式(采用分子布局的矩阵求导公式):

    下面的式子中小写字母a表示标量a,带横线的小写字母

    表示列向量,大写字母A表示矩阵,
    a,
    和A都不是x或
    的函数。

    需要记住 下面的求导公式,就像记住高中常见的求导公式一样。

    (c1)

    (
    是与
    相同规模的列向量)

    (c2)

    (
    是与
    相同规模的行向量)

    (c3)

    (
    是与
    相同规模的矩阵)

    (c4)

    (
    是矩阵)

    (c5)

    (
    是单位矩阵)

    下面的几个最重要:

    下面的式子中小写字母a表示标量a,带横线的小写字母

    表示列向量,大写字母A表示矩阵,a,
    和A都不是x或
    的函数。

    (c6)

    (c7)

    (c8)

    (c9)

    (c10)

    (c11)

    回到多元线性回归模型:

    行云流水秀:机器学习门槛之矩阵求导(一)zhuanlan.zhihu.com
    行云流水秀:机器学习门槛之矩阵求导(二)zhuanlan.zhihu.com

    下面的式子中小写字母a表示标量a,带横线的小写字母

    表示列向量,大写字母A表示矩阵,a,
    和A都不是x或
    的函数。

    所以loss对

    求导转化为了以上四个式子对
    求导:

    (1)

    ,因为
    无关

    (2)

    根据公式(c6)

    可知

    就是公式c6的
    ,故

    (3)

    根据公式(c6)

    可知:

    就是公式里的

    (4)

    根据公式(c11):

    可知

    就是公式c11里的A:

    综上(1)(2)(3)(4)可知:

    大功告成!

    多元线性回归或者最小二乘法(最小平方法)的解为:

    等号两边同时转置得:

    所以可得:

    ,这就是多元线性回归的解。

    大功彻底告成!

    总结:矩阵求导要会套公式,和高中数学求导一样。

    去哪里找矩阵求导公式,一个是 The Matrix Cookbook ,一个小册子。下载链接:链接:https://pan.baidu.com/s/12_Xqlw1VWosEOpwqB_S1SA

    提取码:71md

    二是Matrix Calculus网站

    Matrix Calculuswww.matrixcalculus.org

    ,使用参考:

    二圈妹:矩阵求导简介zhuanlan.zhihu.com
    9a35551c80f9f360e784e255e16ccf1a.png
    展开全文
  • 矩阵求导公式

    2018-09-26 14:47:57
    原文地址:矩阵求导公式【转】作者:三寅 今天推导公式,发现居然有对矩阵的求导,狂汗--完全不会。不过还好网上有人总结了。吼吼,赶紧搬过来收藏备份。 基本公式: Y = A * X --> DY/DX = A' Y = X * A -...

    原文地址:矩阵求导公式【转】作者:三寅

    今天推导公式,发现居然有对矩阵的求导,狂汗--完全不会。不过还好网上有人总结了。吼吼,赶紧搬过来收藏备份。

    基本公式:
    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'

    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   (注意:''是表示两次转置)

     

     

    比较详细点的如下:

     

     [转载]矩阵求导公式【转】


    [转载]矩阵求导公式【转】

    [转载]矩阵求导公式【转】

    [转载]矩阵求导公式【转】

    [转载]矩阵求导公式【转】
     

     

    http://lzh21cen.blog.163.com/blog/static/145880136201051113615571/

    http://hi.baidu.com/wangwen926/blog/item/eb189bf6b0fb702b720eec94.html

     

    其他参考:

     

    Contents

    • Notation
    • Derivatives of Linear Products
    • Derivatives of Quadratic Products

    Notation

    • d/dx (y) is a vector whose (i) element is dy(i)/dx
    • d/dx (y) is a vector whose (i) element is dy/dx(i)
    • d/dx (yT) is a matrix whose (i,j) element is dy(j)/dx(i)
    • d/dx (Y) is a matrix whose (i,j) element is dy(i,j)/dx
    • d/dX (y) is a matrix whose (i,j) element is dy/dx(i,j)

    Note that the Hermitian transpose is not used because complex conjugates are not analytic.

    In the expressions below matrices and vectors ABC do not depend on X.

    Derivatives of Linear Products

    • d/dx (AYB) =A * d/dx (Y) * B
      • d/dx (Ay) =A * d/dx (y)
    • d/dx (xTA) =A
      • d/dx (xT) =I
      • d/dx (xTa) = d/dx (aTx) = a
    • d/dX (aTXb) = abT
      • d/dX (aTXa) = d/dX (aTXTa) = aaT
    • d/dX (aTXTb) = baT
    • d/dx (YZ) =Y * d/dx (Z) + d/dx (Y) * Z

    Derivatives of Quadratic Products

    • d/dx (Ax+b)TC(Dx+e) = ATC(Dx+e) + DTCT(Ax+b)
      • d/dx (xTCx) = (C+CT)x
        • [C: symmetric]: d/dx (xTCx) = 2Cx
        • d/dx (xTx) = 2x
      • d/dx (Ax+b)T (Dx+e) = AT (Dx+e) + DT (Ax+b)
        • d/dx (Ax+b)T (Ax+b) = 2AT (Ax+b)
      • [C: symmetric]: d/dx (Ax+b)TC(Ax+b) = 2ATC(Ax+b)
    • d/dX (aTXTXb) = X(abT + baT)
      • d/dX (aTXTXa) = 2XaaT
    • d/dX (aTXTCXb) = CTXabT + CXbaT
      • d/dX (aTXTCXa) = (C + CT)XaaT
      • [C:Symmetricd/dX (aTXTCXa) = 2CXaaT
    • d/dX ((Xa+b)TC(Xa+b)) = (C+CT)(Xa+b)aT

    Derivatives of Cubic Products

    • d/dx (xTAxxT) = (A+AT)xxT+xTAxI

    Derivatives of Inverses

    • d/dx (Y-1) = -Y-1d/dx (Y)Y-1

    Derivative of Trace

    Note: matrix dimensions must result in an n*n argument for tr().

    • d/dX (tr(X)) = I
    • d/dX (tr(Xk)) =k(Xk-1)T
    • d/dX (tr(AXk)) = SUMr=0:k-1(XrAXk-r-1)T
    • d/dX (tr(AX-1B)) = -(X-1BAX-1)T
      • d/dX (tr(AX-1)) =d/dX (tr(X-1A)) = -X-TATX-T
    • d/dX (tr(ATXBT)) = d/dX (tr(BXTA)) = AB
      • d/dX (tr(XAT)) = d/dX (tr(ATX)) =d/dX (tr(XTA)) = d/dX (tr(AXT)= A
    • d/dX (tr(AXBXT)) = ATXBT + AXB
      • d/dX (tr(XAXT)) = X(A+AT)
      • d/dX (tr(XTAX)) = XT(A+AT)
      • d/dX (tr(AXTX)) = (A+AT)X
    • d/dX (tr(AXBX)) = ATXTBT + BTXTAT
    • [C:symmetricd/dX (tr((XTCX)-1A) = d/dX (tr(A (XTCX)-1) = -(CX(XTCX)-1)(A+AT)(XTCX)-1
    • [B,C:symmetricd/dX (tr((XTCX)-1(XTBX)) = d/dX (tr( (XTBX)(XTCX)-1) = -2(CX(XTCX)-1)XTBX(XTCX)-1 + 2BX(XTCX)-1

    Derivative of Determinant

    Note: matrix dimensions must result in an n*n argument for det().

    • d/dX (det(X)) = d/dX (det(XT)) = det(X)*X-T
      • d/dX (det(AXB)) = det(AXB)*X-T
      • d/dX (ln(det(AXB))) = X-T
    • d/dX (det(Xk)) = k*det(Xk)*X-T
      • d/dX (ln(det(Xk))) = kX-T
    • [Real] d/dX (det(XTCX)) = det(XTCX)*(C+CT)X(XTCX)-1
      • [CReal,Symmetricd/dX (det(XTCX)) = 2det(XTCX)* CX(XTCX)-1
    • [CReal,Symmetriccd/dX (ln(det(XTCX))) = 2CX(XTCX)-1

    Jacobian

    If y is a function of x, then dyT/dx is the Jacobian matrix of y with respect to x.

    Its determinant, |dyT/dx|, is the Jacobian of y with respect to x and represents the ratio of the hyper-volumes dy and dx. The Jacobian occurs when changing variables in an integration: Integral(f(y)dy)=Integral(f(y(x)) |dyT/dx| dx).

    Hessian matrix

    If f is a function of x then the symmetric matrix d2f/dx2 = d/dxT(df/dx) is the Hessian matrix of f(x). A value of x for which df/dx = 0 corresponds to a minimum, maximum or saddle point according to whether the Hessian is positive definite, negative definite or indefinite.

    • d2/dx2 (aTx) = 0
    • d2/dx2 (Ax+b)TC(Dx+e) = ATCD + DTCTA
      • d2/dx2 (xTCx) = C+CT
        • d2/dx2 (xTx) = 2I
      • d2/dx2 (Ax+b)T (Dx+e) = ATD + DTA
        • d2/dx2 (Ax+b)T (Ax+b) = 2ATA
      • [C: symmetric]: d2/dx2 (Ax+b)TC(Ax+b) = 2ATCA  

    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

    --------------------- 本文来自 时光碎了天 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u013289254/article/details/69055876?utm_source=copy

    展开全文
  • 常见矩阵求导公式:(c6) ,(c7) ,(c8) ,(c9) ,(c10) ,(c11) 常见矩阵求导公式证明:(c6) , ,属于 型证明:令 ,是一个数,故属于 型。 单对 求导: ,故 。注:这里采用分子布局的求导,即求导结果按...

    常见矩阵求导公式:

    (c6)

    ,(c7)
    ,(c8)
    ,

    (c9)

    ,(c10)
    ,(c11)

    常见矩阵求导公式证明:

    (c6)

    ,属于

    证明:令

    ,是一个数,故属于
    型。

    单对

    求导:
    ,故

    注:这里采用分子布局的求导,即求导结果按分子的格式来,如果分子是标量,则标量对列向量求导的结果为行向量;如果分子是列向量,则向量对标量求导的结果为列向量。

    (c7)

    , 属于

    证明:令

    是一个数,

    单对

    求导:
    ,故

    (c8)

    , 属于

    证明:令

    是一个数,单对
    求导:
    ,根据上面的公式(c6)
    ,故
    ,

    所以

    (c9)

    , 属于

    证明:令

    是一个列向量

    5aaf2b0d66efb163448a719554851efd.png

    令列向量

    的第i行为
    ,则
    是一个数,
    ,故

    (c10)

    , 属于

    证明:

    89dc56dc686fd17f5d6a057eec4e54f7.png

    可知

    是一个行向量,令
    ,令
    表示A的第j列,则
    ,根据公式(c6)
    ,故
    ,所以

    (c11)

    , 属于

    首先引入公式

    (后面再证明)

    则令

    再利用公式(c9)

    可得:

    总结:(1)分子布局还是分母布局看情况。

    (2)分子布局和分母布局的区别:

    27c31a3967be03d8def4f2b0ea59f50e.png
    分子布局和分母布局的区别

    接下来继续采用矩阵求导的公式对逻辑斯蒂回归,SVM,EM,多层感知机等求导。

    参考资料:

    1.https://latex.91maths.com/,latex公式

    2.这个百度文库和简书的矩阵求导简直太棒了,强烈推荐。

    矩阵求导 分子布局 分母布局 Matrix Differentiation Numerator Layout Denominator Layoutwenku.baidu.com机器学习中的矩阵、向量求导www.jianshu.com
    7d1fd69643489601df28f2838b328b84.png

    强烈建议好好看这两个。

    3.https://blog.csdn.net/pipisorry/article/details/68961388

    4.南瓜书

    https://datawhalechina.github.io/pumpkin-book/#/chapter3/chapter3datawhalechina.github.io

    5.

    线性回归原理小结 - 刘建平Pinard - 博客园www.cnblogs.com
    展开全文
  • 一、矩阵求导 一般来讲,我们约定x=(x1,x2,…xN)Tx=(x1,x2,…xN)T,这是分母布局。常见的矩阵求导方式有:向量...其他的可以参考wiki:维基百科矩阵求导公式 二、几种重要的矩阵 1、梯度(Gradient) 2、雅克比矩阵
  • 符号约定矩阵求导矩阵A对矩阵B求导的本质:矩阵A的每个元素分别对矩阵B中的每个元素进行求导。不同维度的A和B,其导数个数:A1*1 B1*1: 1个导数Am*1 B1*1: Am*1 Bp*1: m*p个导数Am*n Bp*q: m*n*p*q个导数标量函数和...
  • 0 矩阵求导(分布布局) 1,矩阵求导的本质 矩阵A对矩阵B求导: 矩阵A中的每一个元素分别对矩阵B中的每个元素进行求导。 一、矩阵求导 常见的矩阵求导方式有:...三、常用的矩阵求导公式 参考资料 http://blog.sina.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 517
精华内容 206
关键字:

矩阵求导公式