📝笔记:简明矩阵求导术之分子布局与分母布局
矩阵或者向量求导时经常会被分子/分母布局搞得头大,如什么时候转置,什么时候不转置。本文将简明介绍常用的矩阵/向量求导技巧。
简单例子
- 对向量求导,举个例子:
令:
则:
于是
注意,上述结果以分母布局进行排布,具体见后一节的一般形式。
- 对向量求导,可以举一个具体的例子对求导过程进行推导。
令:
则:
所以,
或者,
上述求导结果的排列方式分别展示了分母布局与分子布局。
一般形式
向量一般可以被认为成一维矩阵,默认按列进行排列。向量对向量求导,如,其中:
以及:
于是 是一个拥有 元素的矩阵,那么应该如何组织这个矩阵呢?目前有两种矩阵排列方式,它们分别是:分子布局(Numerator Layout)和分母布局(Denominator Layout)
分子布局
一句话就是按照分子的排列方式进行排列,分子原来怎样排列,求导之后的结果就怎样排列,如:
上式结果中,分子 的每个元素是按照下标 按列排布,于是:
这种形式也被叫做雅可比矩阵(Jacobian matrix)。
当 是标量, 是向量时:
上述分子布局在标量对向量的求导的数据排布中并不常见。
分母布局
上式结果中,分母 的每个元素是按照下标 按列排布,于是:
当 是标量, 是向量时:
这种标量对向量求导的情况非常常见,通常是以分母布局对求导结果进行排布。那么向量求导两种方式结果数据排布方式的图示效果如下图所示:
以分母布局为例,常用的矩阵求导公式有:
以上两种形式比较容易搞混(通常在是否使用转置之间徘徊),在使用时务必要说明使用哪种布局!但是实际读论文时很少看到作者写明到底用的哪种,此时需要结合上下文进行判断,推理出论文公式使用的何种布局。另外,值得说明的是,如果作者没有明确说明,自己又懒得看,这时候你可以认为作者使用了”混合布局”,具体地:
按照分子布局:
按照分母布局。
这里有个小技巧,即分母布局中要加个转置,这是为什么呢?因为分母布局中要求按照分母的排列方式进行组织(一般为列),而分子呢,则”被迫”需要进行转置,反映在求导结果上也就需要转置。
当 为对称矩阵时,我们有如下公式:
小节
- 向量对向量求导
- 标量对向量求导
特别需要注意的是:
应用
最小化误差 :
其中 ,:
为标量。
推导过程如下:
我们对每项进行求导:
所以:
令:
我们有:
就是上述线性最小二乘问题的解。
参考
- Matrix Differentiation in Lecture CS5240 Theoretial Foundations in Multimedia, pdf
- Matrix Cookbook, pdf
- Matrix calculus, wiki
- Vector/Matrix Calculus — More notes on matrix differentiation
- Matrix Differentiation — Randal J. Barnes, University of Minnesota
- Matrix Calculus(一款矩阵求导计算器)