深度学习中的矩阵微积分

  1. 矩阵微积分

  2. 矩阵微积分

在前面的系列文章中我们学习了线性代数的很多基本概念和性质,但是有一个在线性代数的学习中似乎不常涉及的主题:微积分在向量中的扩展。而这个主题将在机器学习中广泛使用,所以这一章关注矩阵微积分的一些基本定义以及一些例子。

4.1 梯度

首先定义函数 [公式] ,也就是函数f的输入是一个m行n列的矩阵,输出是一个数值。 那么函数 f(A) 的梯度就是对A中的每一个元素求偏导数得到的矩阵(也就是说梯度是一个矩阵):

[公式]

或者简写为:

[公式] 。

[公式] 的尺寸永远和矩阵A一致。

以下是重要的事情!!!函数必须返回的值是一个实数,才满足梯度的定义。返回值是向量的话不能求梯度!!!

性质:

[公式]
[公式] ,其中t是实数
另外,在求梯度符号的下角标明确标注对哪个变量进行求梯度很重要!例如 [公式] 表示对 [公式] 求梯度,而 [公式] 表示对x求梯度,如果不明确变量的话,很容易产生混淆甚至错误,因为第一个求梯度的结果是一个mx1的矩阵,而第二个是一个nx1的矩阵!

4.2 海森矩阵

首先,我们有函数f使得 [公式] 。 向量x的海森矩阵,记做 [公式] 或简单的记做 [公式] 是一个 [公式] 的偏导数矩阵:

[公式]

或者表示为 [公式] :

[公式]

海森矩阵永远是对称矩阵,因为:

[公式]

同样需要注意的是,与梯度矩阵相同,f(x)必须返回一个实数才具有海森矩阵。

讲到这里,人们很容易把‘梯度’和‘海森矩阵’类比为一阶导数和二阶导数。 这样类比有助于帮助大家记住和理解,但是有一点值得注意!

在实数微积分中,二阶导数可以解释为一阶导数的一阶导数,即 [公式] 而在矩阵微积分中,二阶导数不是一阶导数的一阶导数(也就是说海森矩阵,不是梯度的梯度)。这个很好理解,首先,梯度是一个矩阵,对一个矩阵是无法再求梯度的(不符合梯度的定义)。

当然,对于函数的输入是矩阵的情况,也可以得到它的海森矩阵。但是,出于方便的原因(而且实际计算中没有要求我们得到一个矩阵的海森矩阵的情况),这里我们先暂时只讨论对于向量函数f(x)的海森矩阵,而不讨论矩阵的情况。

4.3 二次型和线性函数的梯度和海森矩阵

我们来看一下一些简单函数的梯度和海森矩阵。

对于 [公式] ,对于已知的向量 [公式] ,使 [公式]。那么

对x求梯度,得到 [公式] ,可以类比实数一阶求导 [公式] 。

对于二次型 [公式] ,A是对称矩阵,其梯度是 [公式] 。可以类比对有二次项的函数的求导 [公式]

而该二次型的海森矩阵是 [公式] 。可以类别对有二次项的函数求二阶导 [公式]

总结如下:

[公式]
[公式] ,A是对称矩阵
[公式] ,A是对称矩阵
4.4 最小二乘法

让我们应用前一节得到的公式得到最小二乘公式。假设我们有矩阵 [公式] (简单起见,我们假设A是满秩)和一个向量 [公式] 而且b不在A的列空间 [公式] ,在这种情况下,我们无法得到一个向量 [公式] ,使得 [公式] ,所以,我们想要找到一个向量 [公式] ,使得 [公式] 与 [公式] 约接近越好,度量标准是欧式范数 [公式] 。

我们有:

[公式]

上式对x求梯度,得到:

[公式]

令上式为0,得到:

[公式]

4.5 行列式的梯度

考虑一种情况,我们希望得到一个关于矩阵 [公式] 的函数的梯度,即 [公式] 。

先复习一下行列式的定义:

[公式]

对矩阵A求梯度,得到:

[公式]

上式中 [公式] 是A的伴随矩阵。

接下来考虑求函数 [公式] ,对 [公式] 的导数,有:

[公式]

这里利用了矩阵A的行列式对矩阵A求梯度的结论。之所以删除了转置符号,因为A是对称矩阵(还记得吗,有二次型的矩阵一定是对称矩阵)。可以将以上结论与实数的求导类比: [公式]

4.6 最优问题中的特征值

最后,我们利用矩阵微积分来解决最优问题,这种方法能直接得到特征值/特征向量分析。

考虑以下带限制条件的最优问题:

[公式]

对于一个矩阵[公式],一个标准的求解最优问题的方法是利用拉格朗日乘数法,将问题写成拉格朗日函数的形式:

[公式]

其中的参数 [公式] 是拉格朗日乘数。我们知道在这个问题的最优点 [公式] ,拉格朗日函数的梯度一定等于0,也就是说:

[公式]

由于A是对称矩阵,所以最优解就是 [公式] , 也就是说在x长度为1的限制条件下,使二次型 [公式] 最大的点集就是A的特征向量。

知乎转载图片加载不了,见下链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值