标量函数矩阵求导方法¶
1 矩阵求导的定义¶
标量f对矩阵X的导数,定义为: 也就是逐元素求导的和X尺寸一致的矩阵。
2 矩阵导数表示方法¶
2.1 标量对标量和向量的导数¶
-
在标量对标量的导数中,导数和微分的联系为:
-
在标量对向量的导数中,引入了梯度的概念: 这里面,第一个等会是因为全微分公式,第二个等号表达了梯度和微分的关系。可以理解为,当方向上每增加, 的增量
2.2 标量对矩阵的导数¶
对尺寸相同的矩阵A,B,,即是矩阵A,B的内积。这里第一个等号是全微分公式,第二个等号表达了矩阵导数与微分的联系
3 矩阵微分运算法则¶
-
一般运算
-
加减法 证明很显然
-
乘法
-
转置和矩阵的迹
-
逆运算
-
行列式
-
证明:
-
逐元素乘法
-
-
逐元素函数:
-
4 矩阵微分和导数的转换¶
4.1 迹技巧(trace trick)¶
- 对于标量
- 转置:
-
加减法:
-
矩阵乘法交换:
-
-
交换律
-
4.3 微分和导数(梯度)关系¶
-
对于向量
-
由, 则可以得到若, 则
-
对于矩阵
-
由于, 可以得到如果, 则
- 若标量函数f是矩阵X经加减乘法、逆、行列式、逐元素函数等运算构成,则使用相应的运算法则对f求微分,再使用迹技巧给df套上迹并将其它项交换至dX左侧,对照导数与微分的联系就能得到导数。
5 复合函数求导¶
-
不能随意沿用标量的链式法则, 因为矩阵对矩阵的导数未定义。所以应该从微分入手,写写出, 然后把用表示出来
-
对于, 有
-
对于和都是标量,且已知,则
-
证明:
6 算例¶
-
, 求, 其中a和b是向量。
-
, 求。
-
, 求 , 其中是对称矩阵。
-
-
-
-
-
方法1:直接硬算
-
方法2:矩阵表示
-
, 给出牛顿迭代的形式(求)
-
一阶导数
-
二阶导数
-
法1
-
法2