【ML-0-1】矩阵求导-定义和求导布局

目录

  1. 矩阵向量求导定义
  2. 矩阵向量求导布局

机器学习中很多地方用到了标量,向量和矩阵之间的求导,计算求导确实非常麻烦,三个两两结合,就有9中基本形态,再加上转置,就更加晕乎了,因此作为后续学习基础,这个放到机器学习最前面作为先导知识。具体求导内容可见:

张贤达的《矩阵分析与应用》,电子档文本如下:

链接:https://pan.baidu.com/s/1iIcqAyJ1cfi2icdwgay0kw 提取码:rcwx

一、矩阵向量求导定义

求导其实高中就学过,基本都是标量对标量求导,也即是下图中的第一种形式,很简单就不展开。所谓向量对标量的求导,其实就是向量里的每个分量分别对标量求导,最后把求导的结果排列在一起,按一个向量表示而已。类似的结论也存在于标量对向量的求导,向量对向量的求导,向量对矩阵的求导,矩阵对向量的求导,以及矩阵对矩阵的求导等。

若没有特殊说明,默认情况定义如下:求导的自变量用x表示标量,x表示n维向量,X表示m×n维度的矩阵,求导的因变量用y表示标量,y表示m维向量,Y表示p×q维度的矩阵。默认向量为向量,若是行向量,本文全部使用对应字母的转置表示。

根据求导的自变量和因变量是标量,向量还是矩阵,我们有9种可能的矩阵求导定义,如下:

自变量因变量

标量y

向量y

矩阵Y

标量x

∂y/∂x

y/∂x

Y/∂x

向量x

∂y/x

y/x

Y/x

矩阵X

∂y/X

y/X

Y/X

但是向量和矩阵表示又区分行和列不同情况,实际也就是转置不同,需要统一标准,才能阅读方便,一般称之为求导布局。

二、 矩阵向量求导布局

最基本的求导布局有两个:分子布局(numerator layout)和分母布局(denominator layout )。总体原则:根据保持与前面向量或矩阵为一致作为默认形式 

2.1 分子布局(numerator layout)

一种解释:分子为 y 或者分母为 xT (即,分子为列向量或者分母为行向量)

另一种理解:以分子为主,求导的结果的维度和分子的维度是一致的。

如果向量y是一个m维的列向量,那么求导结果∂y/x也是一个m维列向量;

如果向量y是一个m维的行向量,那么求导结果∂y/∂x也是一个m维行向量。

2.2 分母布局(denominator layout )

一种解释:分子为 y或者分母为 x (即,分子为行向量或者分母为列向量)

另一种理解:对于分母布局来说,我们求导结果的维度以分母为主

如果向量y是一个m维的列向量,那么求导结果∂y/∂x是一个m维行向量;

如果向量y是一个m维的行向量,那么求导结果∂y/∂x是一个m维列向量。

2.3 举例说明:

总体来说还是有点绕,统一举例列表如下所示。

2.3.1 分子布局

标量/向量(行向量): 

向量 (列向量)/标量:默认形式  

向量/向量: (分子为列向量横向平铺,分母为行向量纵向平铺)默认形式 称为雅克比 (Jacobian)矩阵

标量/矩阵:  (注意这个矩阵部分是转置的,而下面的分母布局是非转置的

矩阵/标量默认形式 

2.3.2 分母布局

标量/向量 (分母的向量为列向量)默认形式 

向量/标量:  (分子的向量为行向量)

向量/向量: (分子为行向量纵向平铺,分母为列向量横向平铺)

标量/矩阵  (矩阵部分为原始矩阵)默认形式 

2.3.3 汇总

第一种太简单,不写了,后面三种情况太难,后续再展开。均有斜杠表示。我么按照列向量来举例子,行向量取转置即可。

自变量因变量

标量y

列向量ym维)

矩阵Y(p × q)

标量x

/

y/∂x

分子布局:m维列向量(默认布局)

分母布局:m维行向量

Y/∂x

分子布局:p × q矩阵(默认布局)

分母布局:q × p矩阵

列向量xn维)

∂y/∂x

分子布局:n维行向量

分母布局:n维列向量(默认布局)

  

y/∂x

分子布局:m × n雅可比矩阵(默认布局)

分母布局:n × m梯度矩阵

/

矩阵X

(p × q)

∂y/∂X

分子布局:q × p矩阵

分母布局:p × q矩阵(默认布局)

/

/

   

主要来自:

https://www.cnblogs.com/pinard/p/10750718.html

原文地址:https://www.cnblogs.com/yifanrensheng/p/12632456.html