标量对矩阵求导笔记

date
Sep 24, 2022
Last edited time
Sep 24, 2022 07:41 AM
status
Published
slug
标量对矩阵求导笔记
tags
Algorithm
summary
实用的标量对矩阵求导资料,其他的就看看 matrix cookbook 吧
type
Post
Field
Plat
 

矩阵微分与矩阵导数的关系

标量 对矩阵 的求导,定义为
逐元素求导排成与 相同的矩阵。其中
一元微积分中的导数与微分的关系 ,多元微积分中的梯度 (标量对向量的导数) 也与微分有联系
这里第一个等号是全微分公式,第二个等号表达了梯度与微分的联系。
全微分 是梯度向量 与微分向量 的内积。
受此启发,我们将矩阵导数与微分建立联系:
其中 代表迹(trace)是方阵对角线元素之和,且有性质,对尺寸相同的矩阵 ,   ,即 是矩阵 的内积。
与梯度相似,这里第一个等号是全微分公式,第二个等号表达了矩阵导数与微分的联系:全微分 是导数 与微分矩阵 的内积。

矩阵微分的运算法则

想遇到较复杂的一元函数如 ,我们是如何求导的呢?通常不是从定义开始求极限,而是先建立了初等函数求导和四则运算、复合等法则,再来运用这些法则。故而,我们来创立常用的矩阵微分的运算法则:
  • 加减法:
  • 矩阵乘法:
  • 转置:
  • 迹:
  • 逆: ,此式可在 两侧求微分证明。
  • 行列式 ,其中 表示 的伴随矩阵,在 可逆时又可写作 。此式可用 Laplace 展开来证明,详见张贤达《矩阵分析与应用》第 279 页。
  • 逐元素乘法: 表示尺寸相同的矩阵 逐元素相乘。
  • 逐元素函数: 逐元素标量函数运算, 是逐元素求导数。例如

利用迹求矩阵的导数

我们试图利用矩阵导数与微分的联系 ,在求出左侧的微分 后,该如何写成右侧的形式并得到导数呢?这需要一些迹技巧 (trace trick):
  • 标量的迹:
  • 转置:
  • 线性:
  • 矩阵乘法交换: ,其中 尺寸相同。两侧都等于
  • 矩阵乘法 / 逐元素乘法交换: ,其中 尺寸相同。两侧都等于
    • 容易推得
观察一下可以断言:若标量函数 是矩阵 经加减乘法、逆、行列式、逐元素函数等运算构成,则使用相应的运算法则对 求微分,再使用迹技巧给 套上迹并将其它项交换至 左侧,对照导数与微分的联系 ,即能得到导数。 特别地,若矩阵退化为向量,对照导数与微分的联系 ,即能得到导数。
在建立法则的最后,来谈一谈复合:假设已求得 ,而 的函数,如何求 呢?在微积分中有标量求导的链式法则 ,但这里我们不能随意沿用标量的链式法则,因为矩阵对矩阵的导数 截至目前仍是未定义的。于是我们继续追本溯源,链式法则是从何而来?源头仍然是微分。我们直接从微分入手建立复合法则:先写出 ,再将 表示出来代入,并使用迹技巧将其他项交换至 左侧,即可得到

一些例子

,求 df/dX

那么,

, 求 df/dX

其中 是列向量, 是标量。
  1. 首先使用矩阵乘法求微分 ,这里 为常量,所以
  1. ,得

求 df/dX

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

,求 df/dX

其中 是对称矩阵, 表示逐元素函数, 是标量。
  1. 求微分
  1. 继续求微分

线性回归

,求 的最小二乘估计,即求 的零点。其中 是标量。
这是标量对向量的导数,不过可以把向量看做矩阵的特例。
  1. 求微分:
    1. 这里的 是两个列向量,满足
  1. 根据标量对向量的微分公式: ,得到
  1. 时,

方差的最大似然估计(No Check)

样本 ,求方差 的最大似然估计。写成数学式是:,求 的零点。其中 列向量, 是样本均值, 对称正定矩阵, 是标量,log 表示自然对数。
解:首先求微分,使用矩阵乘法、行列式、逆等运算法则,第一项是 ,第二项是
再给第二项套上迹做交换:
其中先交换迹与求和,然后将 交换到左边,最后再交换迹与求和,并定义 为样本方差矩阵。得到 。对照导数与微分的联系,有,其零点即 的最大似然估计为

方差的最大似然估计

维随机变量的正态分布公式未:
维随机向量可以写作:
那么,写出其极大似然估计:
其中 表示 维向量, 表示 维均值向量。
所以,只需要求下式极值:
求微分,先看
第二项求微分
两项微分相加:

多元logistic回归

,求 。 其中 是除一个元素为 其它元素为 列向量, 矩阵, 列向量, 是标量。 表示自然对数, ,其中 表示逐元素求指数, 代表全 向量。 令 ,将 带入求微分
带入,求微分

二层神经网络

,求 。 其中 是除一个元素为 外其它元素为 列向量, 矩阵, 矩阵, 列向量, 是标量。 ⁡表示自然对数, 是逐元素 函数
,根据上面的逻辑回归求导结果
继续求微分
继续求解第二部分
推广:样本 。其中
列向量, 列向量。
解 1:
定义 。 则 ,同上得 ,则
继续求解
则有
解 2:
可以用矩阵来表示 个样本,以简化形式。定义
则有
求解
继续求解
其他的例子参照

© Lazurite 2021 - 2024