天天看点

【机器学习中的矩阵求导】(三)矩阵向量求导(微分法)

学习总结

(1)用微分法,要熟练矩阵微分和迹函数的性质。由于微分法使用了迹函数的技巧,那么迹函数对向量矩阵求导这一大类问题,使用微分法是最简单直接的。

(2)有一些场景,求导的自变量和因变量直接有复杂的多层链式求导的关系,此时微分法使用起来也有些麻烦。如果我们可以利用一些常用的简单求导结果,再使用链式求导法则(下个task),则会非常的方便。

(3)本task是求解标量对向量的求导,以及标量对矩阵的求导。注意此处统一规定:使用分母布局(维度和分母一致)。

机器学习算法中一般会使用一种叫混合布局的思路,即如果是向量或者矩阵对标量求导,则使用分子布局为准,如果是标量对向量或者矩阵求导,则以分母布局为准。对于向量对对向量求导,有些分歧,后面统一以分子布局的雅克比矩阵为主。

文章目录

  • ​​学习总结​​
  • ​​一、矩阵微分​​
  • ​​二、矩阵微分的性质​​
  • ​​三、使用微分法求解矩阵向量求导​​
  • ​​3.1 迹函数的技巧​​
  • ​​3.2 栗子1​​
  • ​​3.3 栗子2​​
  • ​​四、迹函数对向量矩阵求导​​
  • ​​Reference​​

一、矩阵微分

我们熟悉的标量的微分:

如果是多变量情况:

从上面可以发现:标量对向量的求导,和向量的微分,之间存在一个转置的一项。

推广到矩阵微分:

注意:

  • 上面矩阵微分的第二步,用了【迹函数等于主对角线的和】性质:
  • 矩阵微分和它的导数也有一个转置的关系,不过在外面套了一个迹函数而已。由于标量的迹函数就是它本身,那么矩阵微分和向量微分可以统一表示,即:

二、矩阵微分的性质

  • 微分加法:
  • 微分乘法:
  • 微分转置:
  • 微分的迹:
  • 微分哈达玛积:
  • 逐元素求导:
  • 逆矩阵微分:
  • 行列式微分:

三、使用微分法求解矩阵向量求导

3.1 迹函数的技巧

  • 标量的迹等于自己:;转置则迹不变
  • 交换律:,需要满足、同维度
  • 加减法:
  • 矩阵乘法和迹交换:,注意A,B,C的维度要相同

3.2 栗子1

看上一次定义法的求导问题:

(1)用微分乘法对求微分,得到:

(2)两边套上迹函数,其中第一步到第二步用到了3.1迹函数的性质1,第三步到第四步用到了性质2(交换律):

(3)根据我们矩阵导数和微分的定义,迹函数里面在左边的部分,加上一个转置即为我们要求的导数,即:

小结:以上就是微分法的基本流程,先求微分再做迹函数变换,最后得到求导结果。比起定义法,我们现在不需要去对矩阵中的单个标量进行求导了。

3.3 栗子2

第三到第四步,用了迹函数的矩阵乘法和迹交换(性质4)。求导结果为:

四、迹函数对向量矩阵求导

Reference

继续阅读