矩阵求导的实质
A矩阵对B矩阵求导,实质是矩阵A中的每个元素对矩阵B中的每个元素进行求导。
分子布局和分母布局
广义上,矩阵可以认为是一个单独的标量(矩阵中只有一个元素)、一个向量(m1矩阵或者1n矩阵)。那么矩阵对矩阵求导实际上可以分为以下几种:
- 标量对向量求导
- 向量对标量求导
- 向量对向量求导
求导结果的形状是很难界定的。比如说,标量对一个列向量求导,得到的向量的形状是行向量呢,还是列向量呢?
这就有一个分子布局和分母布局的说法。简单来说,如果是分子布局,结果的形状就跟着分子走。如果是分母布局,结果的形状就跟着分母走。
一般,在机器学习或者深度学习之中,我们遇到的情况大部分都是一个标量对一个向量求导,或者一个向量对一个标量求导。这时候通常会采用混合布局。即:
- 标量对向量求导:采用分母布局,结果形状跟着分母走。
- 向量对标量求导:采用分子布局,结果形状跟着分子走。
- 向量对向量求导:这种看情况,分子布局和分母布局都是有可能出现的。
例如,以下图片中,均是分子布局,第一张图片中,y向量中的每一个元素都对x进行求导。第二张图片中,y向量的每一个元素都对x向量的每一个元素进行求导。
链式求导法则
标量中有链式求导法则,向量求导中同样存在链式求导。可以把一些运算式变成中间变量,之后一步步进行简单求导。
计算机在计算矩阵求导时,一般不会采用定义法去求导,而是使用链式求导法则。链式求导法则在计算机中是采用计算图的方式体现的。
计算图分为前向累积和反向累积。如上图所示即为前向累积,将上图中的箭头反向一下,就是反向累积。前向累积和反向累积有什么区别呢?前向累积从自变量开始一步步通过中间变量向因变量求导,反向累积从最上层的中间变量开始(其实就是因变量),一步步向自变量求导。计算图的节点表示中间变量(因变量也会用中间变量表示)或者自变量。
- 对于前向累积而言,每一条有向边表示后一个节点对前一个节点求导,并且把结果存储在后一个节点中。
- 对于反向累积而言,每一条有向边表示前一个节点对后一个节点求导,并且把结果存储在后一个节点中。
两者其实是一样的。在高等数学里,我们手算多元复合函数求偏导的时候,也会用到计算图,同时采用的是反向累积求导。
常用矩阵求导公式
最后,是一些常用的矩阵求导公式。
图片出处:https://blog.csdn.net/weixin_40994552/article/details/123804543
向量对向量求导
标量对向量求导
文章来源:https://www.toymoban.com/news/detail-765101.html
向量对标量求导
文章来源地址https://www.toymoban.com/news/detail-765101.html
到了这里,关于【机器学习/深度学习】数学基础——矩阵求导的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!