关于向量与矩阵的求导
机器学习的算法中会遇到大量的与矩阵相关的微分与求导,在这里介绍一些常见的矩阵和向量相关的求导公式。
可以将常见的数据类型分为标量(scalar),向量(vector)和矩阵(matrix)这么几种,其中常见的求导运算分别为标量对标量/向量/矩阵的求导,向量对标量/向量的求导,矩阵对标量的求导这么几种,其他的求导计算的结果为张量,这里暂时不讨论。
对于求导结果的表示,分为分子布局(Numerator-layout notation)和分母布局(Denominator-layout notation)两种,这两种表示方式都是正确的,目前并没有相关的标准,最近看的《凸优化》上面通常采用分子布局的方式。
在分子布局的情况下,相关的求导维数如下表:
如果是向量与标量之间的求导,或者矩阵与标量之间的求导,求导结果即为矩阵或向量对标量的逐点求导得到的矩阵或向量,向量与向量之间的求导则会得到一个矩阵,称之为Jacobian matrix。
当向量对标量求导时为:
标量对向量求导时为:
矩阵与标量之间的求导的与上面的类似,当标量对矩阵求导时同样也需要转置。
当两个向量之间求导时,会得到一个雅各比矩阵:
一些常见的矩阵求导公式如下: