微分法
2021-9-13
| 2023-8-6
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property
 
定义法对于比较复杂的求导式子,中间运算会很复杂,同时排列求导出的结果也很麻烦。因此需要其他的一些求导方法。这里讨论使用微分法来求解标量对向量的求导,以及标量对矩阵的求导。
 

矩阵微分

在高数里面学习过标量的导数和微分,他们之间有这样的关系:
如果是多变量的情况,则微分可以写成:
可以发现标量对向量的求导和它的向量微分有一个转置的关系。
 
现在再推广到矩阵,对于矩阵微分,定义为:
其中第二步使用了矩阵迹的性质,即迹函数等于主对角线的和。即
从上面矩阵微分的式子,可以看到矩阵微分和它的导数也有一个转置的关系,不过在外面套了一个迹函数而已。由于标量的迹函数就是它本身,那么矩阵微分和向量微分可以统一表示,即:

矩阵微分的性质

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

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

若标量函数是矩阵经加减乘法、逆、行列式、逐元素函数等运算构成,则使用相应的运算法则对求微分,再使用迹函数技巧给 套上迹并将其它项交换至 左侧,那么对于迹函数里面在 左边的部分,只需要加一个转置就可以得到导数了。
 
这里需要用到的迹函数的技巧主要有这么几个:
  1. 标量的迹等于自己:
  1. 转置不变:
  1. 交换率: ,需要满足 同维度
  1. 加减法:
  1. 矩阵乘法和迹交换: ,需要满足同维度
 
看第一个例子:
首先,使用微分乘法的性质对 求微分,得到:
第二步,两边套上迹函数:
根据矩阵导数和微分的定义,迹函数里面在 左边的部分 ,加上一个转置即为要求的导数,即:
 
以上就是微分法的基本流程,先求微分再做迹函数变换,最后得到求导结果。比起定义法,不需要去对矩阵中的单个标量进行求导了。
 
再来看看
求导结果为:
 
 

迹函数对向量矩阵求导

由于微分法使用了迹函数的技巧,那么迹函数对对向量矩阵求导这一大类问题,使用微分法是最简单直接的,下面给出一些常见的迹函数的求导过程。
 
,直接根据矩阵微分的定义即可得到
 
:
因此可以得到:
 
:
因此可以得到:
  • Scikit-Learn
  • 定义法链式法则
    目录