-
矩阵微积分
-
矩阵微积分
在前面的系列文章中我们学习了线性代数的很多基本概念和性质,但是有一个在线性代数的学习中似乎不常涉及的主题:微积分在向量中的扩展。而这个主题将在机器学习中广泛使用,所以这一章关注矩阵微积分的一些基本定义以及一些例子。
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的特征向量。
知乎转载图片加载不了,见下链接