关于向量与矩阵的求导

机器学习的算法中会遇到大量的与矩阵相关的微分与求导,在这里介绍一些常见的矩阵和向量相关的求导公式。

可以将常见的数据类型分为标量(scalar),向量(vector)和矩阵(matrix)这么几种,其中常见的求导运算分别为标量对标量/向量/矩阵的求导,向量对标量/向量的求导,矩阵对标量的求导这么几种,其他的求导计算的结果为张量,这里暂时不讨论。

对于求导结果的表示,分为分子布局(Numerator-layout notation)和分母布局(Denominator-layout notation)两种,这两种表示方式都是正确的,目前并没有相关的标准,最近看的《凸优化》上面通常采用分子布局的方式。

在分子布局的情况下,相关的求导维数如下表: 向量和矩阵求导的表格

如果是向量与标量之间的求导,或者矩阵与标量之间的求导,求导结果即为矩阵或向量对标量的逐点求导得到的矩阵或向量,向量与向量之间的求导则会得到一个矩阵,称之为Jacobian matrix。

当向量对标量求导时为:向量对标量求导 标量对向量求导时为:标量对向量求导 矩阵与标量之间的求导的与上面的类似,当标量对矩阵求导时同样也需要转置。

当两个向量之间求导时,会得到一个雅各比矩阵:向量对向量求导

一些常见的矩阵求导公式如下: 向量对向量的求导 向量对标量的求导 标量对向量的求导 标量对向量的求导