本文主要参考B站UP主GRNovmbrain的推导视频,链接如下:
https://www.bilibili.com/video/BV1xk4y1B7RQ/?vd_source=eef9eaf7d8271401f6cbf1b7afa000c0
矩阵求导的本质
矩阵对矩阵求导,表示为,本质是矩阵中的每个元素对矩阵中的每个元素求导。
求导后中元素的个数:
- 若为矩阵,为矩阵,则 中元素个数为;
- 若为矩阵,为矩阵,则 中元素个数为;
- 若为矩阵,为矩阵,则 中元素个数为。
矩阵求导元素布局方法
矩阵对矩阵求导,得到的结果为,本质上就是矩阵中的每个元素对矩阵中的每个元素求导;那么,不同的元素布局方式,就能得到不同的求导结果(指不同的结果矩阵)。元素的布局可以分为:1)分母布局,2)分子布局,两种布局的关系为:将分母布局得到的结果矩阵进行转置,即可得到分子布局的结果。
本文的例子中采用的是分母布局的形式,也是目前比较主流的机器学习矩阵求导布局形式。有些金融类的教材可能会采用分子布局的形式,两种布局没有优劣之分,为了计算会推导的方便可以采用任意一种布局。需要注意的是:在同一个项目中需保持布局的一致性。
分母布局口诀
- 标量保持不变,向量需要拉伸;
- 分子横向拉伸,分母纵向拉伸;
【例1】 为标量,为列向量,求。
此例中,分子为标量,分母为向量,求导获得的矩阵共有个元素。依照布局口诀,分子为标量,保持不变,分母为向量,需将其各元素纵向拉伸。由此,我们可以得到:
【例2】 为向量函数,为标量,求。
此例中,分子为向量,分母为标量,求导获得的矩阵共有个元素。依照布局口诀,分子为向量,需将其各元素横向拉伸,分母为标量,保持不变。由此,我们可以得到:
【例3】 为向量函数,为列向量,求。
此例中,分子为向量,分母为也为向量,求导获得的矩阵共有个元素。依照布局口诀,分子为向量,需将其各元素横向拉伸,分母为向量,需将其各元素纵向拉伸。我们先将分母纵向拉伸,再将分子横向拉伸,可以得到:
常用矩阵求导公式
符号说明:
- , 为列向量;
- 为矩阵。
推荐书籍
The Matrix Cookbook : http://www2.imm.dtu.dk/pubdb/edoc/imm3274.pdf