0
点赞
收藏
分享

微信扫一扫

Matrix Derivative矩阵求导


​​Welcome To My Blog​​​
学习机器学习算法时总碰见矩阵求导,现学习一波,主要总结下
注意:这里只涉及实数的求导,研究通信的人可能接触的往往是负数求导
矩阵可以写成列向量(column vectors)或行向量(row vectors)的形式,这两种不同的形式把矩阵求导分成了两种不同的情况

求导类型

Matrix Derivative矩阵求导_scala


表格列举了六种不同的矩阵求导类型,粗体代表向量或者矩阵(其实标量和向量也可以看作矩阵).

表格中还有三个空格没写出,实际上也是存在,但暂时先不讨论,因为这三种情况的求导结果大部分都是高于二阶的张量(tensor)形式,与常见的二维矩阵形式不同.

布局约定Layout conventions

机器学习中,以线性回归为例,每个输入都有多个属性,在表示属性时可以采用列向量或者行向量的形式,这两种形式会造成求导结果形式的不同.

注意是形式上的不同,因为本质上形式的不同不会影响求导结果,只不过将结果按照不同的方式组织起来,方便进一步运算

布局决定(Layout conventions)就是为了将不同形式的求导分类.分为两种布局:分子布局(numerator layout)和分母布局(denominator layout)

通俗解释,现规定向量或者矩阵分为原始形式和转置形式两种,比如在线性回归中我们把列向量作为属性值的原始形式,其转置形式就是行向量

+ 对于分子布局(numerator layout),求导结果中分子保持原始形式,分母为转置形式

+ 对于分母布局(denominator layout),求导结果中分子为转置形式,分母保持原始形式

下图展示各种类型求导与两种布局之间的关系

Matrix Derivative矩阵求导_scala_02

numerator layout

将上述表格中的分子布局单独拿出来,求导结果如下

Matrix Derivative矩阵求导_转置_03


下面的两种定义只在分子布局中有意义

Matrix Derivative矩阵求导_scala_04

denominator layout

将上述表格中的分母布局单独拿出来,求导结果如下

Matrix Derivative矩阵求导_scala_05

常见求导结果

现给出常见的求导结果,推导相关公式时可以查表
求导有链式法则(Chain Rule),但是矩阵乘积不满足交换律,所以链式法则对于matrix-by-scalar derivatives和scalar-by-matrix derivatives这两种情况不适用
下面贴出三种求导结果

Vector-by-vector

之所以先展示vector-by-vector的表格,是因为所有适用于vector-by-vector求导的操作也直接适用于vector-by-scalar or scalar-by-vector这两种情况

Matrix Derivative矩阵求导_scala_06

Scalar-by-vector

Matrix Derivative矩阵求导_矩阵求导_07

Matrix Derivative矩阵求导_矩阵求导_08

Vector-by-scalar

Matrix Derivative矩阵求导_矩阵求导_09

参考:
​​​Matrix calculus​​


举报

相关推荐

0 条评论