【机器学习/深度学习】数学基础——矩阵求导

文章目录

  • 矩阵求导的实质
  • 分子布局和分母布局
  • 链式求导法则
  • 常用矩阵求导公式
      • 向量对向量求导
      • 标量对向量求导
      • 向量对标量求导

矩阵求导的实质

A矩阵对B矩阵求导,实质是矩阵A中的每个元素对矩阵B中的每个元素进行求导。

分子布局和分母布局

广义上,矩阵可以认为是一个单独的标量(矩阵中只有一个元素)、一个向量(m1矩阵或者1n矩阵)。那么矩阵对矩阵求导实际上可以分为以下几种:

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

求导结果的形状是很难界定的。比如说,标量对一个列向量求导,得到的向量的形状是行向量呢,还是列向量呢?
这就有一个分子布局和分母布局的说法。简单来说,如果是分子布局,结果的形状就跟着分子走。如果是分母布局,结果的形状就跟着分母走。
一般,在机器学习或者深度学习之中,我们遇到的情况大部分都是一个标量对一个向量求导,或者一个向量对一个标量求导。这时候通常会采用混合布局。即:

  • 标量对向量求导:采用分母布局,结果形状跟着分母走。
  • 向量对标量求导:采用分子布局,结果形状跟着分子走。
  • 向量对向量求导:这种看情况,分子布局和分母布局都是有可能出现的。

例如,以下图片中,均是分子布局,第一张图片中,y向量中的每一个元素都对x进行求导。第二张图片中,y向量的每一个元素都对x向量的每一个元素进行求导。
【机器学习/深度学习】数学基础——矩阵求导_第1张图片
【机器学习/深度学习】数学基础——矩阵求导_第2张图片

链式求导法则

标量中有链式求导法则,向量求导中同样存在链式求导。可以把一些运算式变成中间变量,之后一步步进行简单求导。
【机器学习/深度学习】数学基础——矩阵求导_第3张图片

计算机在计算矩阵求导时,一般不会采用定义法去求导,而是使用链式求导法则。链式求导法则在计算机中是采用计算图的方式体现的。
【机器学习/深度学习】数学基础——矩阵求导_第4张图片
计算图分为前向累积和反向累积。如上图所示即为前向累积,将上图中的箭头反向一下,就是反向累积。前向累积和反向累积有什么区别呢?前向累积从自变量开始一步步通过中间变量向因变量求导,反向累积从最上层的中间变量开始(其实就是因变量),一步步向自变量求导。计算图的节点表示中间变量(因变量也会用中间变量表示)或者自变量。

  • 对于前向累积而言,每一条有向边表示后一个节点对前一个节点求导,并且把结果存储在后一个节点中。
  • 对于反向累积而言,每一条有向边表示前一个节点对后一个节点求导,并且把结果存储在后一个节点中。

两者其实是一样的。在高等数学里,我们手算多元复合函数求偏导的时候,也会用到计算图,同时采用的是反向累积求导。
【机器学习/深度学习】数学基础——矩阵求导_第5张图片

常用矩阵求导公式

最后,是一些常用的矩阵求导公式。
图片出处:https://blog.csdn.net/weixin_40994552/article/details/123804543

向量对向量求导

【机器学习/深度学习】数学基础——矩阵求导_第6张图片

标量对向量求导

【机器学习/深度学习】数学基础——矩阵求导_第7张图片
【机器学习/深度学习】数学基础——矩阵求导_第8张图片

向量对标量求导

【机器学习/深度学习】数学基础——矩阵求导_第9张图片

你可能感兴趣的:(深度学习,机器学习,深度学习,矩阵,线性代数)