typemath矩阵外怎么套数字_矩阵微分

本文符号定义

:标量
或者
:n维向量
维的矩阵
:标量
或者
:m维向量
维的矩阵

1 求导定义与布局方式

1.1 矩阵求导术

根据求导的自变量和因变量是标量,向量还是矩阵,我们有9种可能的矩阵求导定义,如下:

1.2 分子布局和分母布局

依旧使用一个m维向量

对标量
的求导,结果也是个m维向量
来举例,我们很确定
是一个m维向量,可问题是:它究竟应该表示成行向量,还是表示成列向量呢?

答案是:都可以。求导的本质是把导数信息,即求导的结果排列起来,至于是按行排列还是按列排列都是可以的。但是这样也有问题,在我们机器学习算法法优化过程中,如果行向量或者列向量随便写,那么结果就不唯一,所以为了解决这个问题,我们引入求导布局的概念。

  • 分子布局:导数的维度以分子为主。
  • 分母布局:导数的维度以分母为主。

向量对标量求导(表第2项):

比如上面的

(单独提到
或者
均按照列向量讨论),如果按照分子布局,结果就会是m维列向量,与分子维度一致。如果按照分母布局,结果就会是m维行向量。

标量对向量求导(表第4项):

比如

,注意这次自变量是列向量,因变量是标量了。如果按照分子布局,结果就会是m维行向量。如果按照分母布局,结果就会是m维列向量,与分母维度一致。

标量对矩阵求导(表第7项):

比如,标量

对矩阵
求导,那么如果按分母布局,则求导结果的维度和矩阵
的维度
是一致的。如果是分子布局,则求导结果的维度为

矩阵对标量求导(表第3项):

比如,矩阵

对标量
求导,那么如果按分子布局,则求导结果的维度和矩阵
的维度
是一致的。如果是分母布局,则求导结果的维度为

向量对向量求导(表第5项):

比如,

维的向量
维的向量
求导,一共有
个标量对标量的求导。求导的结果一般是排列为一个矩阵。那么如果按分子布局,则结果矩阵的第一个维度以分子为准,即结果是个
维的矩阵:

如果按分母布局,则结果矩阵的第一个维度以分子为准,即结果是个

维的矩阵:

结论:分子布局和分母布局的结果相差一个转置。

在机器学习的算法推导里,通常遵循以下布局的规范:

  • 如果向量或者矩阵对标量求导,则以分子布局为准。
  • 如果标量对向量或者矩阵求导,则以分母布局为准。
  • 对于向量对对向量求导,有些分歧,一般以分子布局的雅克比矩阵为主。

总结如下:

2 标量对矩阵的求导术的基本思想

2.1 定义法

在进行标量对矩阵的求导时我们默认按照分母布局,即求导的结果与矩阵的维度一致。比如

,其中
是标量,
是m维向量,
是n维向量,
维的矩阵。

如果求

,则结果是也应当是
维的矩阵。这个矩阵里面的每一个元素应该是标量
里面的每个元素
的导数。因为结果是分母布局,所以:

所以最后的结果应该长成这个样子:

维的矩阵。

当然,上面的做法相当于是硬生生把标量对矩阵的求导拆成了一堆标量对标量的求导,再把这些结果按照分母布局给组合了起来。这种方法可以称为定义法,但是它只适用于表达式不复杂,你能展开的情况。就像上面的

但如果表达式很复杂,你没法展开成分量的形式,那就没法转化成标量对标量的求导,这种方法就不再适用了。定义法所遵循的逐元素求导破坏了整体性。求导时不宜拆开矩阵,而是要找一个从整体出发的算法。即下面的微分法。

2.2 微分法

  • 在高等数学的一元微积分中,导数(标量对标量的导数)与微分有联系:

  • 在多元微积分中,梯度(标量对向量的导数)也与微分有联系:

这里第一个等号是全微分公式,第二个等号表达了梯度与微分的联系。

全微分

是梯度向量
与微分向量
的内积;受此启发,我们将矩阵导数与微分建立联系。在这之前要先了解一个关于
矩阵迹的性质:

对尺寸相同的矩阵

,即
是矩阵A,B的
内积
  • 把多元微积分中的梯度与微分之间的联系扩展到矩阵,则有:

其中tr代表迹(trace)是方阵对角线元素之和,最后一步的变换是根据上面的矩阵迹的性质。

全微分

是导数
与微分矩阵
的内积。

从上面矩阵微分的式子,我们可以看到矩阵微分和它的导数也有一个转置的关系,不过在外面套了一个迹函数而已。由于标量的迹函数就是它本身,那么矩阵微分和向量微分可以统一表示,即:


  • 得到这2个式子的作用是什么?

答:这2个式子里面的

,正是我们要求的
标量对矩阵/向量的导数

换句话说,假定题目给任意一个函数

(就比如说
),求它对于里面的某个矩阵
的导数。

我们只需要先想方设法搞出来

,那么再套上迹
,则
就可以得到了。

这就是微分法求对矩阵导数的基本思想,算法如下:

1. 根据给定的
寻找
2. 给
套上迹
。等号左边因为
是个标量,所以不受影响,等号右边根据迹的技巧进行化简。 3. 等号右边化简之后先找到
,根据导数与微分的联系
得到

根据上述Algorithms,理论上对于任何求对矩阵导数的问题可以三步搞定。


但只有基本思想还远远不够,因为要搞出来

,你还需要掌握一些矩阵微分的操作,如下面
常用的矩阵微分运算法则所示,这些法则更详细的解读可以参考张贤达教授的 《矩阵分析与应用》
  • 常用的矩阵微分运算法则:
  1. 加减法:
  2. 矩阵乘法:
  3. 转置:
  4. 迹:
  5. 逐元素乘法:
    表示尺寸相同的矩阵
    逐元素相乘。
  6. 逆:
    。此式可在
    两侧求微分来证明。
  7. 行列式:
    ,其中
    表示X的伴随矩阵,在
    可逆时又可以写作
  8. 逐元素函数:
    是逐元素标量函数运算,
    是逐元素求导数。

例如:

除此之外,微分法求对矩阵导数的基本思想的很重要的一步是给

套上迹
,所以,矩阵的迹技巧(trace trick)也非常重要,下面列举一些:
  • 迹技巧(trace trick):

标量的迹等于自己:

转置:

线性:

交换律:

,其中
尺寸相同。两侧都等于

矩阵乘法/逐元素乘法交换:

,其中
尺寸相同。两侧都等于

以上就是微分法求对矩阵导数的方法,在实际操作时万不可随意套用微积分中标量导数的结论,比如认为

的导数为
,这是没有根据的。

下面举2个很经典的例子:

例1:

,求
。其中
列向量,
矩阵,
列向量,
是标量。

解:根据上面的Algorithms:

1. 先使用矩阵乘法法则求微分

这里的

是常量,
,故有:

2. 给

套上迹

3. 使用迹技巧做矩阵乘法交换。根据

有:

根据导数与微分的联系

有:

与一开始所用的定义法结果吻合。

例2:

,求
。其中
列向量,
矩阵,
列向量,exp表示逐元素求指数,
是标量。

解:根据上面的Algorithms:

1. 先使用矩阵乘法法则求微分

2. 给

套上迹

3. 使用迹技巧做矩阵乘法交换:

根据

有:

根据导数与微分的联系

有:

例3:

, 求
的最小二乘估计,即求
的零点。其中
列向量,
矩阵,
列向量,
是标量。

解:依然是求标量对向量的导数。首先解决这个向量模的平方的问题:

根据上面的Algorithms:

1. 先使用矩阵乘法法则求微分

2. 给

套上迹

根据导数与微分的联系

有:

,有:

,得到
的最小二乘估计为

例4:样本

,求方差
的最大似然估计。写成数学式是:
,求
的零点。其中
列向量,
是样本均值,
对称正定矩阵,
是标量,log表示自然对数。

解:本题可以转化成求

的问题。

根据上面的Algorithms:

1. 先使用矩阵乘法法则求微分

但是要求出

需要用到之前讲解的几个关于矩阵微分的性质:
逆:

行列式:
,其中
表示X的伴随矩阵,在
可逆时又可以写作

第1项:

第2项:

2. 再给第二项套上迹

其中定义

为样本方差矩阵。

综上,

根据导数与微分的联系

有:

,其零点即
的最大似然估计为

例5:

,求
。其中
是除一个元素为1外其它元素为0的
列向量,
矩阵,
列向量,
是标量;log表示自然对数,
,其中
表示逐元素求指数,
代表全1向量。

解:首先把

展开,注意逐元素log满足等式
,以及
满足
。得到:

根据上面的Algorithms:

1. 先使用矩阵乘法法则求微分

根据迹技巧:

矩阵乘法/逐元素乘法交换:
,其中
尺寸相同。两侧都等于

所以:

2. 给

套上迹

根据导数与微分的联系

有:

2.3 迹函数对向量或矩阵的求导

迹函数对对向量矩阵求导这一大类问题,其实更简单,因为它省去了Algorithms中的第1,2步,相当于已经帮你套上了

例6:

对于矩阵
的导数。

解:直接假设

,按照Algorithms一步一步来:

1. 先使用矩阵乘法法则求微分

矩阵

相当于常数,故有:

根据导数与微分的联系

有:

例7:

对于矩阵
的导数。

解:直接假设

,按照Algorithms一步一步来:

1. 先使用矩阵乘法法则求微分

我们一项一项化简:

第1项

里面有个烦人的
,想办法把它化简掉,根据迹的
转置不变性交换律有:

第2项

所以:

根据导数与微分的联系

有:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值