本文主要参考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