跳转至

标量函数矩阵求导方法

1 矩阵求导的定义

标量f对矩阵X的导数,定义为: 也就是逐元素求导的和X尺寸一致的矩阵。

2 矩阵导数表示方法

2.1 标量对标量和向量的导数

  1. 在标量对标量的导数中,导数和微分的联系为:

  2. 在标量对向量的导数中,引入了梯度的概念: 这里面,第一个等会是因为全微分公式,第二个等号表达了梯度和微分的关系。可以理解为,当方向上每增加, 的增量

2.2 标量对矩阵的导数

对尺寸相同的矩阵A,B,,即是矩阵A,B的内积。这里第一个等号是全微分公式,第二个等号表达了矩阵导数与微分的联系

3 矩阵微分运算法则

  1. 一般运算

  2. 加减法 证明很显然

  3. 乘法

  4. 转置和矩阵的迹

  5. 逆运算

  1. 行列式

  • 证明:

  • 逐元素乘法

  • 逐元素函数:

4 矩阵微分和导数的转换

4.1 迹技巧(trace trick)

  1. 对于标量
  2. 转置:
  3. 加减法:

  4. 矩阵乘法交换:

  5. 交换律

4.3 微分和导数(梯度)关系

  1. 对于向量

  2. , 则可以得到若, 则

  3. 对于矩阵

  4. 由于, 可以得到如果, 则

  5. 若标量函数f是矩阵X经加减乘法、逆、行列式、逐元素函数等运算构成,则使用相应的运算法则对f求微分,再使用迹技巧给df套上迹并将其它项交换至dX左侧,对照导数与微分的联系就能得到导数。

5 复合函数求导

  1. 不能随意沿用标量的链式法则, 因为矩阵对矩阵的导数未定义。所以应该从微分入手,写写出, 然后把表示出来

  2. 对于, 有

  3. 对于都是标量,且已知,则

  4. 证明:

6 算例

  1. , 求, 其中a和b是向量。

  2. , 求

  3. , 求 , 其中是对称矩阵。

  4. 1610651107854

  1. 1610651123699

  2. 1610651135713

  3. 1610651156561

  4. 1610651179287

  5. 方法1:直接硬算

  6. 方法2:矩阵表示

  7. , 给出牛顿迭代的形式(求)

  8. 一阶导数

  9. 二阶导数

  10. 法1

  11. 法2