Matrix Derivative矩阵求导

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matrix Derivative矩阵求导相关的知识,希望对你有一定的参考价值。


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

求导类型

Matrix


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

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

布局约定Layout conventions

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

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

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

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

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

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

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

Matrix

numerator layout

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

Matrix


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

Matrix

denominator layout

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

Matrix

常见求导结果

现给出常见的求导结果,推导相关公式时可以查表
求导有链式法则(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

Scalar-by-vector

Matrix

Matrix

Vector-by-scalar

Matrix

参考:
​​​Matrix calculus​


以上是关于Matrix Derivative矩阵求导的主要内容,如果未能解决你的问题,请参考以下文章

矩阵求导

矩阵求导记录

numpy的矩阵乘法

机器学习中的矩阵向量求导 矩阵向量求导之微分法

矩阵求导问题

线性代数笔记:标量向量矩阵求导