All posts

📝笔记:简明矩阵求导术之分子布局与分母布局

(Updated: )

矩阵或者向量求导时经常会被分子/分母布局搞得头大,如什么时候转置,什么时候不转置。本文将简明介绍常用的矩阵/向量求导技巧。

简单例子

  1. 对向量求导,举个例子:

令:

则:

于是

注意,上述结果以分母布局进行排布,具体见后一节的一般形式。

  1. 对向量求导,可以举一个具体的例子对求导过程进行推导。

令:

则:

所以,

或者,

上述求导结果的排列方式分别展示了分母布局与分子布局。

一般形式

向量一般可以被认为成一维矩阵,默认按列进行排列。向量对向量求导,如,其中:

以及:

于是 是一个拥有 元素的矩阵,那么应该如何组织这个矩阵呢?目前有两种矩阵排列方式,它们分别是:分子布局(Numerator Layout)分母布局(Denominator Layout)

分子布局

一句话就是按照分子的排列方式进行排列,分子原来怎样排列,求导之后的结果就怎样排列,如:

上式结果中,分子 的每个元素是按照下标 按列排布,于是:

这种形式也被叫做雅可比矩阵(Jacobian matrix)。

是标量, 是向量时:

上述分子布局在标量对向量的求导的数据排布中并不常见。

分母布局

上式结果中,分母 的每个元素是按照下标 按列排布,于是:

是标量, 是向量时:

这种标量对向量求导的情况非常常见,通常是以分母布局对求导结果进行排布。那么向量求导两种方式结果数据排布方式的图示效果如下图所示:

分子-分母布局图示

以分母布局为例,常用的矩阵求导公式有:

以上两种形式比较容易搞混(通常在是否使用转置之间徘徊),在使用时务必要说明使用哪种布局!但是实际读论文时很少看到作者写明到底用的哪种,此时需要结合上下文进行判断,推理出论文公式使用的何种布局。另外,值得说明的是,如果作者没有明确说明,自己又懒得看,这时候你可以认为作者使用了”混合布局”,具体地:

按照分子布局:

按照分母布局。

这里有个小技巧,即分母布局中要加个转置,这是为什么呢?因为分母布局中要求按照分母的排列方式进行组织(一般为列),而分子呢,则”被迫”需要进行转置,反映在求导结果上也就需要转置。

为对称矩阵时,我们有如下公式:

小节

  • 向量对向量求导
  • 标量对向量求导

特别需要注意的是:

应用

最小化误差

其中

为标量。

推导过程如下:

我们对每项进行求导:

所以:

令:

我们有:

就是上述线性最小二乘问题的解。

参考


  1. Matrix Differentiation in Lecture CS5240 Theoretial Foundations in Multimedia, pdf
  2. Matrix Cookbook, pdf
  3. Matrix calculus, wiki
  4. Vector/Matrix Calculus — More notes on matrix differentiation
  5. Matrix Differentiation — Randal J. Barnes, University of Minnesota
  6. Matrix Calculus(一款矩阵求导计算器)