矩阵,向量求导-求导布局,表格查找

矩阵,向量求导(Matrix calculus)

Not to be confused with geometric calculus or vector calculus.

0.约定

  • 标量用x,yx,y小写字母表示。
  • 向量用x,y\mathbf{x},\mathbf{y}小写粗体字母表示。(默认为列向量x[n1]\mathbf{x}_{[n*1]}nn维;y[m1]\mathbf{y}_{[m*1]}mm维)。
  • 矩阵用XY,A\mathbf{X},\mathbf{Y},\mathbf{A}大写粗体字母表示。可能表示mnm*n维,也可能是nmn*m维,也可能是pqp*q维度。

1.目标

  • 理清标量,向量和矩阵之间的求导关系。

    矩阵,向量求导-求导布局,表格查找

2.完整的求导表格

完整表格

矩阵,向量求导-求导布局,表格查找

1.布局说明

前提说明:若xx为向量,则默认xx为列向量,xTx^T为行向量。

分子布局(Numerator-layout)

  • 分子布局: 分子列向量 yy,分母为行向量xTx^T (即,分子为列向量或者分母为行向量)。

分母布局(Denominator-layout)

  • 分母布局: 分子为行向量yTy^T,分母为 列向量xx (即,分子为行向量或者分母为列向量)。

2.举个例子

分子布局例子

矩阵,向量求导-求导布局,表格查找

矩阵,向量求导-求导布局,表格查找

说明:上述公式依次表示在分子布局下,,\frac{标量}{向量},\frac{向量}{标量},\frac{向量}{向量},\frac{标量}{矩阵},\frac{矩阵}{标量}

  • 其中y\mathbf{y}是列向量(n1n*1),x\mathbf{x}是列向量(m1m*1),X\mathbf{X}是矩阵(pqp*q),YY是矩阵(mnm*n)。
  1. 标量/向量(分母是向量,且是分子布局,则把分母的向量按照行向量铺开)
  2. 向量/标量:(分子是向量,且是分子布局,则把分子按照列向量铺开)
  3. 向量/向量:(分子分母都是向量,且是分子布局,则分子向量按照列向量铺开,分母向量按照行向量铺开)【雅克比式】
  4. 标量/矩阵(分子布局下,X\mathbf{X}矩阵是转置后铺开的)
  5. 矩阵/标量(分子布局下,Y\mathbf{Y}矩阵是原型铺开)

分母布局例子

矩阵,向量求导-求导布局,表格查找

说明:上述公式依次表示在分母布局下,\frac{标量}{向量},\frac{向量}{标量},\frac{向量}{向量},\frac{标量}{矩阵}

  • 其中y\mathbf{y}是列向量(n1n*1),x\mathbf{x}是列向量(m1m*1),X\mathbf{X}是矩阵(pqp*q
  • 分母中没有\frac{矩阵}{标量}
  1. 标量/向量(分母是向量,且是分母布局,则把分母的向量按照列向量铺开)
  2. 向量/标量:(分子是向量,且是分母布局,则把分子按照行向量铺开)
  3. 向量/向量:(分子分母都是向量,且是分母布局,则分子向量按照行向量铺开,分母向量按照列向量铺开)【梯度矩阵】
  4. 标量/矩阵(分母布局下,X矩阵无需转置,就是原始矩阵)

3.表格细化

  • 实际操作时可以参考以下。

1.Vector-by-vector

矩阵,向量求导-求导布局,表格查找

2.Scalar-by-vector

矩阵,向量求导-求导布局,表格查找

矩阵,向量求导-求导布局,表格查找

3.Vector-by-scalar

矩阵,向量求导-求导布局,表格查找

4.Scalar-by-matrix

  • 直接维基https://en.wikipedia.org/wiki/Matrix_calculus

5.Matrix-by-scalar

  • 直接维基https://en.wikipedia.org/wiki/Matrix_calculus

6.Scalar-by-scalar

  • 直接维基https://en.wikipedia.org/wiki/Matrix_calculus

3.实际操作

  • 参考自:https://blog.****.net/nomadlx53/article/details/50849941

举一个线性模型的例子

(yXw)T(yXw)w \frac{\partial(y-Xw)^{T}(y-Xw)}{\partial w}

w,yw,y均为列向量,ww(n1)(n*1),yy(m1)(m*1)XX为矩阵,为(mn)(m*n).

  • 分析:该式属于\frac{标量}{向量},目标是得出结果为列向量,所以更加上述的总表,整体采用分母布局。

  • 展开
    w(yTwTXT)(yXw)=w(yTyyTXwwTXTy+wTXTXw)=w(yTy)w(yTXw)w(wTXTy)+w(wTXTXw) \frac{\partial}{\partial w}(y^T-w^TX^T)(y-Xw)=\frac{\partial}{\partial w}(y^Ty-y^TXw-w^TX^Ty+w^TX^TXw)\\=\frac{\partial}{\partial w}(y^Ty)-\frac{\partial}{\partial w}(y^TXw)-\frac{\partial}{\partial w}(w^TX^Ty)+\frac{\partial}{\partial w}(w^TX^TXw)

    1. w(yTy)\frac{\partial}{\partial w}(y^Ty)
      • 查上述的Scalar-by-vector identities,在表格中匹配形式到第1行的位置,因为分母为列向量,因此为分母布局,对应的求导结果就是 00
    2. w(yTXw)\frac{\partial}{\partial w}(y^TXw)
    3. w(wTXTy)\frac{\partial}{\partial w}(w^TX^Ty)
    4. w(wTXTXw)\frac{\partial}{\partial w}(w^TX^TXw)
  • 合并:
    (yXw)T(yXw)w=0XTyXTy+2XTXw==2XT(wXw) \frac{\partial(y-Xw)^{T}(y-Xw)}{\partial w}=0-X^Ty-X^Ty+2X^TXw==-2X^T(w-Xw)

4.习惯上使用混合布局

  • ,\frac{标量}{向量},\frac{标量}{矩阵}使用分母布局,保证求导完之后结果是列向量。

  • ,\frac{向量}{标量},\frac{矩阵}{向量}使用分子布局,保证求导完之后结果是列向量。

  • \frac{向量}{向量}使用雅克比式(Jaocibian)。

    矩阵,向量求导-求导布局,表格查找

    说明,y\mathbf{y}是(m*1)的列向量,x\mathbf{x}是(n*1)的列向量,yx\frac{\mathbf{y}}{\mathbf{x}}的结果是(m*n)大小的矩阵。

  • 详细参见:https://www.cnblogs.com/pinard/p/10750718.html

    矩阵,向量求导-求导布局,表格查找

矩阵向量求导的链式法则

1. 一般步骤

  1. 按照标量的链式法则写出链式关系。(预想布局方式(采用一种))
  2. 对于前后导数相乘的行列上的不匹配,进行调整。(不是分子上加转置,就是分母上加转置),矩阵前后可以相乘。
  3. 对于求导的每一项,简单的可以直接写出,不能直接写出的,进行查表。

2.深入了解和推导

  • 如果想深入了解和推导每一步的过程:

    参见:https://www.cnblogs.com/pinard/p/10750718.html【关于求导的合辑】,这个博主是个大佬!

总结

1.个人操作

  1. 首先掌握布局方式
  2. 能根据表(不一定都记住),写出求导结果
  3. 链式法则,可能会修改前后关系,调整符号表示
  4. 想一步步推导出来,参见刘建平大佬https://www.cnblogs.com/pinard/p/10750718.html

2.其他

  • 网上关于这方面的教材有:
    1. 张贤达《矩阵分析与应用》
    2. 《matrix vector derivatives for machine learning》
    3. 《The Matrix Cookbook》
    4. https://www.zhihu.com/question/25399811【知乎上关于矩阵求导教材的讨论】
    5. http://psi.toronto.edu/
  • 知乎:https://pan.百度.com/s/1jGFBSNk#list/path=%2F【来自知乎的一个分享,把百度换成baidu即可】

参考:

https://en.wikipedia.org/wiki/Matrix_calculus

https://www.cnblogs.com/pinard/p/10750718.html【合辑】

https://blog.****.net/lcczzu/article/details/89160371

https://www..com/article/5516168061/

https://blog.****.net/nomadlx53/article/details/50849941