• 参考材料:CS 229 讨论课笔记(原材料为英文), 更新了一些内容
  • 推荐材料:Introduction to Linear Algebra / The Matrix Cookbook / 矩阵分析与应用(张贤达)

基础概念与符号

线性代数提供了一种能够紧凑地表示和计算线性方程组的方法,例如考虑以下方程组:

这是含有两个变量的两个等式,根据你在高中时所学的知识,你可以找到对于 $x_1$ 和 $x_2 $ 的唯一解(除非方程组退化,比如说第二个方程只是第一个方程简单的翻倍,实际上我们下面提到所有情况都是有唯一解的). 使用矩阵符号,我们可以将其简洁地记为

其中

对比之下不难发现,使用这种形式来分析线性方程组具有许多优点(比如节省了许多书写空间).

基础符号

我们使用如下记法:

  • 含有 $m$ 行 $n$ 列元素,其中每个元素都是实数的矩阵被记为 $A \in \mathbb{R}^{m \times n}$.
  • 含有 $n$ 个元素的向量被记为 $x \in \mathbb{R}^{n}$. 根据约定, $n$ 维向量通常被看作是一个 $n$ 行 $1$ 列的矩阵,被称作“列向量”。如果我们想要明确表示“行向量”—— $1$ 行 $n$ 列的矩阵——通常写作 $x ^T$(这里的 $x ^T$ 代表 $x$ 的转置,后面会给出转置的定义).
  • 向量 $x$ 的第 $i$ 个元素被记为 $x_i$ :
  • 矩阵 $A$ 的第 $i$ 行 $j$ 列的元素被记为 $a_{ij}$ (或 $A_{ij}$, $A_{i,j}$ 等等) :
  • 矩阵 $A$ 的第 $j$ 列被记为 $a^j$ 或 $A_{:,j}$ :
  • 矩阵 $A$ 的第 $i$ 行被记为 $a_i^T$ 或 $A_{i,:}$ :

将矩阵看作是列向量或者是行向量的集合在许多情况下显得重要且便利,一般来说,使用向量代替标量进行计算,从数学(以及概念理解) 的角度来看都更加简洁。关于矩阵的行或列的表示方法,没有普遍约定,只要进行了显式定义,就可以使用任意你喜欢的表示方式。

矩阵乘法

两个矩阵 $A \in \mathbb{R}^{m \times n}$ 与 $B \in \mathbb{R}^{n \times p}$ 的乘积为矩阵

其中

注意:为了使得矩阵乘法有意义, 矩阵 $A$ 的列数量必须与矩阵 $B$ 的行数量一致。与上面的标准定义相比,还有许多其他方法可以更方便、更深入地研究矩阵乘法,我们将从一些特殊的情况开始。

向量与向量相乘

给定两个向量 $x, y \in \mathbb{R}^{n}$, 乘积 $x^{T} y$ 的形式有时被叫做向量的“内积”或者“点积”,结果是一个实数

内积实际上是矩阵乘法的一种特例,注意 $x ^{T} y = y ^{T} x$ 始终成立。

给定向量 $x \in \mathbb{R}^{m}, y \in \mathbb{R}^{n}$ (维度不一定相等), 乘积 $x y^{T} \in \mathbb{R}^{m \times n}$ 的形式被叫做向量的“外积”,结果是一个矩阵,其中的元素满足 $ (xy^T)_{ij} = x_iy_i $,例如

为了举例说明外积的作用,让 $\mathbf{1} \in \mathbb{R}^{n}$ 表示元素全为 $1$ 的 $n$ 维向量,考虑矩阵 $A \in \mathbb{R}^{m \times n}$, 每一列全部由 $x \in \mathbb{R}^{m}$ 构成。使用外积的形式,我们可以简单地对矩阵 $A$ 进行表示

矩阵与向量相乘

给定矩阵 $A \in \mathbb{R}^{m \times n}$ 与向量 $x \in \mathbb{R}^{n}$, 它们的乘积是一个向量 $y=A x \in \mathbb{R}^{m}$. 理解矩阵与向量相乘有许多角度,我们将逐一进行研究。

如果我们将矩阵 $A$ 写成行的形式,$A x$ 可以表示成

换而言之,$y$ 的第 $i$ 个元素等同于 $A$ 的第 $i$ 行与 $x$ 进行内积得到的结果,即 $y_{i}=a_{i}^{T} x$.

同样地,如果我们将矩阵 $A$ 写成列的形式,可以得到

也即是说,$y$ 是矩阵 $A$ 中各列的“线性组合”,其中每列的组合系数由 $x$ 中对应的元素决定。

到现在我们已经研究了的矩阵右乘列向量的形式,同样地我们也可以使用行向量对一个矩阵进行左乘。可以写成 $y^{T}=x^{T} A$, 其中 $A \in \mathbb{R}^{m \times n}$, $x \in \mathbb{R}^{m}$, $y \in \mathbb{R}^{n}$. 和之前一样,我们可以用两种方式计算 $y ^{T}$,这取决于我们以行还是列的形式表示矩阵 $A$ . 我们首先以列的形式进行表示,得到

其中 $y ^{T}$ 的第 $i$ 个元素等同于 $x$ 与 $A$ 的第 $i$ 列进行内积得到的结果,即 $y^{T}_{i}=x^{T} a^{i}$.

最后再以行的形式研究向量与矩阵相乘,

至此我们发现 $y ^{T}$ 是矩阵 $A$ 中各行的线性组合,其中每行的组合系数由 $x$ 中对应的元素决定。

矩阵与矩阵相乘

有了前面的准备,对于本章节一开始定义的 $C=AB$ , 现在我们有四种不同(但本质相同)的角度进行解读。

首先可以将矩阵与矩阵之间的乘法看成是向量与向量相乘的结合,这是紧跟定义能够得到的最直观的视角,即矩阵 $C$ 的第 $(i,j)$ 个元素等同于矩阵 $A$ 的第 $i$ 行与矩阵 $B$ 的第 $j$ 列的内积。用符号来表示就是这样,

由于矩阵乘法中 $A \in \mathbb{R}^{m \times n}$, $B \in \mathbb{R}^{n \times p}$, ${a_i^T},{b^j} \in \mathbb{R}^{n}$ 的维度关系,因此进行内积是有意义的,这是我们根据矩阵 $A$ 的行形式与矩阵 $B$ 的列形式所能得到的最“自然”的表示方式。换个角度,我们也可以使用矩阵 $A$ 的列形式与矩阵 $B$ 的行形式来表示,只是这会导致 $AB$ 的解释变得更加复杂,成为外积和的形式,

换句话说,$AB$ 等同于矩阵 $A$ 的第 $i$ 列与矩阵 $B$ 的第 $i$ 行的外积得到的所有 $n$ 个矩阵求和。由于 $a^i \in \mathbb {R}^{m}$ 且 $b_i^{T} \in \mathbb {R}^{p}$, 外积结果 $a^{i} b_{i}^{T}$ 的维度为 $m \times p$, 这也与 $C$ 的维度一致。上面这个式子可能会让你感到疑惑,不妨自己花点时间检查一下。

其次,我们也可以将矩阵与矩阵乘法看作是向量与矩阵相乘的结合,具体而言,如果我们用列表示矩阵 $B$, 则可以把矩阵 $C$ 的每一列看作是矩阵 $A$ 与 $B$ 中每一列相乘的结果。用符号来表示即是,

此处矩阵 $C$ 的每一列都是由矩阵右乘向量给定的,即 $c_i=Ab_i$. 这些矩阵与向量的乘法可以使用前面小节给出的方法进行理解。类似地,我们可以用行表示矩阵 $A$, 把矩阵 $C$ 的每一行看作是 $A$ 中每一行与矩阵 $B$ 相乘的结果。用符号来表示即是,

此处矩阵 $C$ 的每一行都是由矩阵左乘向量给定的,即 $c_{i}^T=a_{i}^T B$.

将矩阵乘法进行如此细致的分解似乎有些过分了,尤其是我们早就在一开始给出了不到一行则可以表达清楚的数学公式。提供如此多视角最直接的好处在于,你可以在向量的级别/单位上进行运算,而不是使用标量。想要充分理解线性代数之优雅而不迷失在复杂的索引操作中,关键是要尽可能使用整体性的概念来理解其本质。如果你能将所有的数学推导用矩阵或向量来取代标量元素进行表示,那就再好不过了。几乎所有的线性代数内容都是在处理某种形式的矩阵乘法,花一些时间充分理解这些观点,将大有裨益。

除此之外,在更高的层次上了解矩阵乘法的一些基本性质是很有用的:

  • 结合律:$(AB)C=A(BC)$.
  • 分配律:$A(B+C)=AB+AC$.
  • 通常不满足交换律:$A B \neq B A$. (如果 $A \in \mathbb{R}^{m \times n}$ 且 $B \in \mathbb{R}^{n \times p}$, 矩阵乘法 $BA$ 将没有意义,因为 $m$ 与 $p$ 不相等,或者说不一致)

如果你对这些性质不熟悉,自己花些时间去验证一下。比如检查矩阵乘法的结合律,假设 $A \in \mathbb{R}^{m \times n}$ , $B \in \mathbb{R}^{n \times p}$ 且 $C \in \mathbb{R}^{p \times q}$. 注意 $AB \in \mathbb{R}^{m \times p}$, 因此 $(AB)C \in \mathbb{R}^{m \times q}$. 类似地 $BC \in \mathbb{R}^{n \times q}$, 因此 $A(BC) \in \mathbb{R}^{m \times q}$. 综上可知最终得到的矩阵的维度是相同的。为了进一步体现矩阵乘法的可结合性,只要根据矩阵乘法的定义来检查 $(AB)C$ 的第 $(i,j)$ 项是否与 $A(BC)$ 相等:

这里的推导过程中,第一个等式和最后两个等式简单地使用矩阵乘法的定义,第三个等式和第五个等式使用标量加法乘除运算的分配律,第四个等式使用标量加法的交换律和结合律。这种通过将矩阵属性简化为简单标量属性来证明矩阵属性的方法将经常出现,所以请确保你熟悉它。

运算和性质

在这一节中,我们将介绍几种矩阵/向量的运算和性质。希望这些内容可以帮助你进行回顾,这些笔记仅仅是作为上述问题的一个参考。

单位矩阵与对角矩阵

单位矩阵,记作 $I \in \mathbb{R}^{n \times n}$, 是一个方阵,且对角线上元素均为 $1$, 其他元素均为 $0$. 即,

对于所有的矩阵 $A \in \mathbb{R}^{m \times n}$ 都具有如下性质,

注意:在某种意义上,单位矩阵这样的表示方法是有歧义的,因为它没有指定 $I$ 的维度。通常而言,单位矩阵 $I$ 的维度要根据上下文推断出来。例如在上面的等式中,进行 $AI=I$ 右乘的 $I$ 是一个 $n \times n$ 矩阵,而进行 $A=IA$ 左乘的 $I$ 是一个 $m \times m$ 矩阵。

对角矩阵,除了对角线以外的元素均为 $0$, 记作 $D=\operatorname{diag}\left(d_1, d_2, \dots, d_n\right)$, 其中

显然,$I=\operatorname{diag}(1,1, \dots, 1)$.

转置

矩阵的转置是对其行和列进行“翻转”的结果。给定一个矩阵 $A \in \mathbb{R}^{m \times n}$, 它的转置记作 $A^{T} \in \mathbb{R}^{n \times m}$, 是一个 $n \times m$ 的矩阵,其中的元素为

实际上我们在描述行向量的时候已经使用了转置进行表示,列向量的转置自然地应当是一个行向量。

转置的下列性质十分容易被证明:

  • $(A^{T})^{T}=A$
  • $(AB)^{T}=B^{T}A^{T}$
  • $(A+B)^{T}=A^{T}+B^{T}$

对称矩阵

如果一个方阵 $A \in \mathbb{R}^{n \times n}$ 满足条件 $A=A^{T}$, 这样的矩阵是对称的。如果满足条件 $A=-A^{T}$, 则是反对称的。很容易证明,对于任意矩阵 $A \in \mathbb{R}^{n \times n}$, 矩阵 $A+A^{T}$ 是对称的,矩阵 $A-A^{T}$ 是反对称的。因此任意方阵 $A \in \mathbb{R}^{n \times n}$ 可以被表示为一个对称矩阵和反对称矩阵的和,因为

上式子中右边的第一个矩阵是对称的,第二个是反对称的。在实践中,对称矩阵十分常见,且具有许多良好的性质,这些将在以后进行说明。我们通常将所有大小为 $n$ 的对称矩阵的集合表示为 $\mathbb{S}^{n}$, 因此 $A \in \mathbb{S}^{n}$ 即表示 $A$ 是 $n \times n$ 的对称矩阵。

方阵 $A \in \mathbb{R}^{n \times n}$ 的迹记作 $\operatorname{tr}(A)$ (也可以省略括号记为 $\operatorname{tr} A$ ), 矩阵的迹是矩阵对角线元素之和:

矩阵的迹具有以下性质:

  • 对于 $A \in \mathbb{R}^{n \times n}$, $\operatorname{tr} A=\operatorname{tr} A^{T}$.
  • 对于 $A, B \in \mathbb{R}^{n \times n}$, $\operatorname{tr}(A+B)=\operatorname{tr} A+\operatorname{tr} B$.
  • 对于 $A \in \mathbb{R}^{n \times n}$, $t \in \mathbb{R}$, $\operatorname{tr}(t A)=t \operatorname{tr} A$.
  • 对于 $A$, $B$ 满足 $AB$ 是一个方阵,$\operatorname{tr} A B=\operatorname{tr} B A$.
  • 对于 $A$, $B$, $C$ 满足 $ABC$ 是一个方阵,$\operatorname{tr} A B C=\operatorname{tr} B C A=\operatorname{tr} C A B$, 依此类推

作为这些性质可被证明的举例,我们选取第四条性质。假设 $A \in \mathbb{R}^{m \times n}$ 且 $B \in \mathbb{R}^{n \times m}$, 因此 $A B \in \mathbb{R}^{m \times m}$ 是一个方阵。观察到 $BA \in \mathbb{R}^{n \times n}$ 也是一个方阵,因此对应的迹运算是有意义的,为了证明 $\operatorname{tr} A B=\operatorname{tr} B A$, 注意有

在上面的推导中,第一个等式使用了迹运算与矩阵乘法的定义。第四个等式是推导的关键,它使用了标量乘法的交换性来交换每一项乘积的顺序,也使用了标量加法的交换律和结合律将整个求和重新排序。

范数

向量的范数 $\|x\|$ 是对向量“长度”的非正式度量。例如,我们常用的欧几里得范数或者说 $\ell_{2}$ 范数,

注意 $\|x\|_{2}^{2}=x^{T} x$.

更正式地来讲,范数是满足以下四个特性的任何一个函数 $f : \mathbb{R}^{n} \rightarrow \mathbb{R}​$ :

  1. 非负性:对于任意 $x \in \mathbb{R}^{n}$, $f(x) \geq 0$.
  2. 确定性:当且仅当 $x=0$ 时,$f(x)=0$.
  3. 均匀性:对于任意 $x \in \mathbb{R}^{n}$, $t \in \mathbb{R}$, $f(t x)=|t| f(x)$.
  4. 三角不等性:对于任意 $x,y \in \mathbb{R}^{n}$, $f(x+y) \leq f(x)+f(y)$.

另一个范数的例子是 $\ell_{1}$ 范数,

以及 $\ell_{\infty}$ 范数,

实际上,目前提出的这三个范式都属于 $\ell_{p}$ 范数家族,它包含一个实数 $p \geq 1$, 定义为

也可以定义矩阵 $A$ 的范数,例如 Frobenius 范数,

除此以外还存在着许多其它范数,但它们超出了本次回顾的范围。

线性无关与秩

对于一组向量 $ \{ x_1, x_2, \ldots , x_n\} \subset \mathbb{R}^{m} $ , 如果没有某个向量可以作为其余向量的线性组合,则称这组向量是(线性) 无关的。反之,如果某个向量属于该集合,且可以表示为其余向量的线性组合,则这组向量是(线性) 相关的,即如果

且这些标量值满足 $\alpha_{1}, \dots, \alpha_{n-1} \in \mathbb{R}$ 且不全为零, 则可以说向量 $x_{1}, \dots, x_{n}$ 是线性相关的;否则,这组向量是线性无关的。例如,向量

是线性相关的,因为 $x_3=-2 x_1+x_2$.

矩阵 $A \in \mathbb{R}^{m \times n}$ 的列秩是矩阵 $A$ 中满足线性无关的列组成的最大子集的大小。由于某些术语的滥用,列秩通常简述为矩阵 $A$ 中线性无关的列的数量。同样地,行秩是矩阵 $A$ 中满足线性无关的行组成的最大子集的大小。

对任意矩阵 $A \in \mathbb{R}^{m \times n}$, 其列秩与行秩相等(虽然我们不打算证明), 所以这两个量被统称为矩阵 $A$ 的秩,记为 $\operatorname{rank}(A)$. 秩的一些基本性质如下:

  • 对于 $A \in \mathbb{R}^{m \times n}$, $\operatorname{rank}(A) \leq \min (m, n)$. 如果 $\operatorname{rank}(A) = \min (m, n)$, 则称 $A$ 满秩.
  • 对于 $A \in \mathbb{R}^{m \times n}$, $\operatorname{rank}(A)=\operatorname{rank}\left(A^{T}\right)$.
  • 对于 $A \in \mathbb{R}^{m \times n}$, $B \in \mathbb{R}^{n \times p}$, $\operatorname{rank}(A B) \leq \min (\operatorname{rank}(A), \operatorname{rank}(B))$.
  • 对于 $A,B \in \mathbb{R}^{m \times n}$, $\operatorname{rank}(A+B) \leq \operatorname{rank}(A)+\operatorname{rank}(B)$.

方阵的逆

方阵 $A \in \mathbb{R}^{n \times n}$ 的逆记作 $A^{-1}$, 方阵的逆是唯一的,形如

注意,并不是所有的矩阵都有逆。例如根据定义,非方阵显然是没有逆的。然而对于一些方阵 $A$, 仍有可能不存在逆。如果 $A^{-1}$ 存在,我们称矩阵 $A$ 是可逆的或者非奇异的;如果 $A^{-1}$ 不存在,则称矩阵 $A$ 是不可逆的或者奇异的。可逆和奇异的概念经常被混淆,务必注意它们是相对的情况!

方阵 $A$ 想要有逆 $A^{-1}$, 则必须满秩。我们很快将看到,除了满秩,矩阵可逆还有许多充分必要条件。

假设矩阵 $A, B \in \mathbb{R}^{n \times n}$ 是非奇异的,矩阵的逆满足以下性质:

  • $\left(A^{-1}\right)^{-1}=A$
  • $(A B)^{-1}=B^{-1} A^{-1}$
  • $\left(A^{-1}\right)^{T}=\left(A^{T}\right)^{-1}$, 因此这样的矩阵经常记作 $A^{-T}$.

举一个矩阵的逆的应用实例,对于线性方程组 $A x=b$, 其中 $A \in \mathbb{R}^{n \times n}$ 且 $x, b \in \mathbb{R}^{n}$. 如果 $A$ 是非奇异的(即可逆), 则有 $x=A^{-1} b$. (等式左右两边左乘 $A^{-1}$, 利用了逆的定义和单位矩阵的性质)

如果 $A \in \mathbb{R}^{m \times n}$ 不是方阵呢?是否成立?

正交矩阵

如果两个向量 $x, y \in \mathbb{R}^{n}$ 满足 $x^{T} y=0$, 则称两个向量是正交的。对于一个向量 $x \in \mathbb{R}^{n}$, 如果 $\|x\| _2=1$, 则称 $x$ 是归一化的。如果方阵 $U \in \mathbb{R}^{n \times n}$ 中的所有列彼此之间正交且归一化(称为这些列标准正交) ,则称方阵 $U \in \mathbb{R}^{n \times n}$ 是正交的(注意在讨论向量或矩阵时,正交具有不同的含义).

根据正交和归一化的定义可得:

换而言之,一个正交矩阵的逆矩阵是它的转置。注意,如果 $U$ 不是一个方阵,比如 $U \in \mathbb{R}^{m \times n}$, $n<m$, 但各列之间仍然是正交的,则 $U^{T} U=I$, 但 $U U^{T} \neq I$. 我们通常只用正交这个术语来描述 $U$ 为方阵的情形。

正交矩阵另一个良好的性质是,向量与正交矩阵的运算不会改变其欧几里得范数,即对任意 $x \in \mathbb{R}^{n}$ 与正交矩阵 $U \in \mathbb{R}^{n \times n}$, 有

矩阵的值域和零空间

一组向量 $\{ x_1, x_2, \ldots x_n \} $ 的生成空间是可用 $\left \{ x_{1}, x_{2}, \ldots x_{n} \right \}$ 的线性组合表示的所有向量的集合,即

如果 $\{ x_1, x_2, \ldots x_n \} $ 是 $n$ 个线性无关的向量,其中 $x_{i} \in \mathbb{R}^{n}$, 则 $\operatorname{span}\left(\left\{x_{1}, \ldots x_{n}\right\}\right)=\mathbb{R}^{n}$. 换句话说,任意向量 $v \in \mathbb{R}^{n}$ 都可以写成从 $x_{1}$ 到 $x_{n}$ 的线性组合。向量 $y \in \mathbb{R}^{m}$ 在 $\{ x_1, x_2, \ldots x_n \} $ 生成空间上的投影(此时假设 $x_{i} \in \mathbb{R}^{m}$) 是向量 $v \in \operatorname{span}\left(\left\{x_{1}, \ldots x_{n}\right\}\right)$.

根据欧几里得范数 $\|v-y\| _2$可知此时 $v$ 与 $y$ 无限接近,该投影记作

正式定义为,

矩阵 $A \in \mathbb{R}^{m \times n}$ 的值域(有时也被称为列空间) 记为 $\mathcal{R}(A)$, 即 $A$ 中各列向量张成的生成空间。换句话说,

假设矩阵 $A$ 满秩且 $n<m$, 向量 $y \in \mathbb{R}^{m}$ 在矩阵 $A \in \mathbb{R}^{m \times n}$ 的值域上的投影为,

最后一个方程与用于最小二乘参数估计的公式几乎相同,想想投影的定义,不难发现这实际上与我们在解决最小二乘问题时进行最小化的目的是一致的(区别在于范数取了平方,但这不影响最优点), 这些问题之间存在着很自然的联系。当矩阵 $A$ 仅含有一个单独的列 $a \in \mathbb{R}^{m}$, 则出现了向量在一条直线上投影的特殊情况(可对比一元线性回归):

矩阵 $A \in \mathbb{R}^{m \times n}$ 的零空间记为 $\mathcal{N}(A)$, 即被 $A$ 乘后等于 $0$ 的所有向量组成的集合,

注意 $\mathcal{R}(A)$ 中向量大小为 $m$, 而 $\mathcal{N}(A)$ 中向量大小为 $n$, 所以 $\mathcal{R}(A^T)$ 和 $\mathcal{N}(A)$ 都在 $\mathbb{R}^{n}$ 空间中。实际上可以进一步进行讨论,结果是

换句话说, $\mathcal{R}(A^T)$ 和 $\mathcal{N}(A)$ 是不相交的 $\mathbb{R}^{n}$ 子集且一起生成了整个 $\mathbb{R}^{n}$ 空间,这种类型的集合关系被称为正交互补,记作 $\mathcal{R}\left(A^{T}\right)=\mathcal{N}(A)^{\perp}$.

行列式与代数余子式

方阵 $A \in \mathbb{R}^{n \times n}$ 的行列式在数学中是一个函数映射:$\mathbb{R}^{n \times n} \rightarrow \mathbb{R}$, 记为 $|A|$ 或 $\operatorname{det} A$ (通常省略括号,与迹运算类似). 从代数的视角,可以显式地写出 $A$ 的行列式的公式,遗憾的是这种意义并不够直观。我们先给出行列式的几何解释,再探讨它在代数视角的特殊性质。

给定一个矩阵

考虑由 $A$ 中行向量 $a_{1}, \dots, a_{n} \in \mathbb{R}^{n}$ 所有可能的线性组合组成的点集 $S \subset \mathbb{R}^{n}$, 其中线性组合的系数介于 $0$ 到 $1$ 之间;换句话说,集合 $S$ 是生成空间 $\operatorname{span}\left(\left\{a_{1}, \ldots, a_{n}\right\}\right)$ 的约束,且线性组合系数 $\alpha_{1}, \dots, \alpha_{n}$ 满足 $0 \leq \alpha_{i} \leq 1, i=1, \dots, n$. 正式定义如下:

$A$ 的行列式的绝对值,是对集合 $S$ “体积”的一种度量。(我们还没有给出“体积”的确切定义,但这种直觉式的描述足够清晰。当 $n=2$ 时,“体积”对应于笛卡尔平面上 $S$ 的面积;当 $n=3$ 时通常与三维物体的体积概念相对应。)

例如,考虑下面这个 $2 \times 2$ 矩阵,

此时矩阵的每一行为(为了美观此处写成列的形式)

这些行向量对应的集合 $S$ 如下图所示。对于二维矩阵,$S$ 的形状通常是一个平行四边形。在我们的示例中,行列式的值为 $|A|=-7$ (本节下文中将给出公式进行计算),因此平行四边形的面积是 $7$, 请自行证明。

示例中 $2 \times 2$ 矩阵 $A$ 的行列式图示。图中 $a_1$ 和 $a_2$ 对应于 $A$ 中行向量,集合 $S$ 对应于阴影区域(即平行四边形), 行列式的绝对值 $|\operatorname{det} A|=7$ 是平行四边形的面积。

在三维中,集合 $S$ 对应一个平行六面体(一个三维的斜面的盒子,每一面都是平行四边形). 这个 $3 \times 3$ 矩阵的行列式的绝对值,就是这个平行六面体的三维体积。在更高的维度空间中,集合 $S$ 是一个 $n$ 维超平面体。

代数上,行列式满足以下三个性质(其它性质可以依据它们推导,包括行列式的一般公式)

  1. 单位矩阵的行列式为 $1$, $|I|=1$. (从几何上来看,单位超立方体的体积为 $1$).
  2. 对于一个方阵 $A \in \mathbb{R}^{n \times n}$ , 如果将 $A$ 中某行乘以一个标量 $t \in \mathbb{R}$, 新矩阵的行列式的值为 $t|A|$.

(几何上,集合 $S$ 的一条边乘上因数 $t$, 整个体积会扩大 $t$ 倍)

  1. 如果交换矩阵 $A$ 的任意两行 $a_{i}^{T}$ 与 $a_{j}^{T}$, 新矩阵的行列式为 $-|A|$, 例如

满足上述三条性质的函数是否存在,并不是那么明显。而实际上,这样的函数形式存在且唯一,即行列式(此处不做证明), 由上面三条性质可以得到以下推论:

  • 对于 $A \in \mathbb{R}^{n \times n}$, $|A|=\left|A^{T}\right|$.
  • 对于 $A , B \in \mathbb{R}^{n \times n}$, $|A B|=|A||B|$.
  • 对于 $A \in \mathbb{R}^{n \times n}$, 当且仅当 $A$ 奇异(即不可逆) 时, $|A|=0$.(如果 $A$ 奇异,则必不满秩,它的列线性相关。此时集合 $S$ 对应于一个 $n$ 维空间中的扁块,因此体积为 $0$.)
  • 对于 $A \in \mathbb{R}^{n \times n}$, 且 $A$ 非奇异,有 $\left|A^{-1}\right|=1 /|A|$. (可以根据单位矩阵“体积”为 $1$ 及性质来证明)

在给出行列式的一般定义之前,我们定义代数余子式,对于 $A \in \mathbb{R}^{n \times n}$,$A_{\backslash i,\backslash j} \in \mathbb{R}^{(n-1) \times (n-1)}$ 是 $A$ 删除第 $i$ 行和第 $j$ 列的结果。因此可以得到行列式的一般(递推) 定义

最初始也即最简单的情况是,对于 $A \in \mathbb R ^{1 \times 1}$ 有 $|A|=a_{11}$. 如果我们将公式推广到 $A \in \mathbb{R}^{n \times n}$ 的情况,则会有 $n !$ ($n$ 的阶乘) 个不同的项。因此很难显式地写出高于 $3$ 阶的矩阵的行列式的计算等式,这也是借助代数余子式的定义进行公式表达的原因。然而 $3$ 阶以内的矩阵行列式十分常用,因此最好把它们记住:

伴随矩阵

矩阵 $A \in \mathbb{R}^{n \times n}$ 的古典伴随矩阵(通常称为伴随矩阵), 记作 $\operatorname{adj}(A)$, 定义为

(注意 $A$ 系数的正负变化,伴随矩阵需要逐个元素进行计算) 可以证明,对任意非奇异矩阵 $A \in \mathbb{R}^{n \times n}$,

虽然这是一个很好的“显式”计算矩阵的逆的公式,但我们应当注意,实际上在数值上有更有效地方法来计算矩阵的逆。

二次型和半正定矩阵

给定一个方阵 $A \in \mathbb{R}^{n \times n}$ 与向量 $x \in \mathbb{R}^{n}$, 标量 $x^{T} A x$ 称为二次型, 显式地写出来,可以看到

注意,

其中第一个等式由标量的转置等于它自身得到,第二个等式是对两个量取平均,这两个量的值是相等的。我们可以推断,只有对称分量对二次型有影响,因此通常约定或假设二次型中出现的矩阵是对称矩阵。

我们给出如下定义:

  • 如果对于任何非零向量 $x \in \mathbb{R}^{n}$ 与对称矩阵 $A \in \mathbb{S}^{n}$, 都有 $x^{T} A x>0$, 那么这个对称矩阵是正定的(PD), 通常记作 $A \succ 0$(或简单记为 $A > 0$), 所有正定矩阵的集合记为 $S_{++}^{n}$.
  • 如果对于任何非零向量 $x \in \mathbb{R}^{n}$ 与对称矩阵 $A \in \mathbb{S}^{n}$, 都有 $x^{T} A x \geq 0$, 那么这个对称矩阵是半正定的(PSD), 通常记作 $A \succeq 0$(或简单记为 $A \geq 0$), 所有半正定矩阵的集合记为 $S_{+}^{n}$.
  • 如果对于任何非零向量 $x \in \mathbb{R}^{n}$ 与对称矩阵 $A \in \mathbb{S}^{n}$, 都有 $x^{T} A x < 0$, 那么这个对称矩阵是负定的(ND), 通常记作 $A \prec 0$(或简单记为 $A < 0$).
  • 如果对于任何非零向量 $x \in \mathbb{R}^{n}$ 与对称矩阵 $A \in \mathbb{S}^{n}$, 都有 $x^{T} A x \leq 0$, 那么这个对称矩阵是半负定的(NSD), 通常记作 $A \preceq 0$(或简单记为 $A \leq 0$).
  • 如果称矩阵 $A \in \mathbb{S}^{n}$ 既不是半正定也不是半负定的,则是不定矩阵——例如存在向量 $x_{1}, x_{2} \in \mathbb{R}^{n}$,满足 $x_{1}^{T} A x_{1}>0$ 且 $x_{2}^{T} A x_{2}<0$.

显然,如果 $A$ 是正定的,那么 $-A$ 是负定的;同样地,如果 $A$ 是半正定的,那么 $-A$ 是半负定的;如果 $A$ 是不定的,则 $-A$ 也是不定的。

正定矩阵和负定矩阵的一个重要性质是,它们一定是满秩的,因此也可逆。为了证明这个性质,假设 $A \in \mathbb{R}^{n \times n}$ 是非满秩的,并假设 $A$ 的第 $j$ 列可以由其它 $n-1$ 列线性表示:

对于 $x_{1}, \dots, x_{j-1}, x_{j+1}, \dots, x_{n} \in \mathbb{R}$, 设 $x_{j}=-1$, 我们有

但是这意味着对于某些非零向量 $x$ 有 $x^{T} A x=0$, 所以 $A$ 既不能正定,也不能负定。因此如果 $A$ 是正定或负定矩阵,它一定是满秩的。

最后,需要注意一种常见的正定矩阵,给定一个矩阵 $A \in \mathbb{R}^{m \times n}$(不一定对称,甚至不一定是方阵), 矩阵 $G=A^{T} A$ (有时称为格拉姆矩阵) 必然是半正定的。此时如果 $m > n$, 则 $G=A^{T} A$ 是正定的(假设矩阵 $A$ 满秩).

特征值和特征向量

对于一个方阵 $A \in \mathbb{R}^{n \times n}$, 如果 $\lambda \in \mathbb{C}$, $x \in \mathbb{C} ^n$ 且满足

则称 $\lambda$ 是矩阵 $A$ 的特征值,$x$ 是对应的特征向量。注意 $\lambda$ 与 $x$ 的元素实际上在复数域 $\mathbb C$, 而不仅仅是实数域;我们将在后面简要解释其原因。如果暂时无法理解,不用担心,可以从实数向量的角度去考虑复数向量。

直观上看,其实上面的式子说的就是 $A$ 乘向量 $x$,得到一个指向和 $x$ 相同方向的新向量,但必须乘一个标量 $\lambda$. 注意对任一个特征向量 $x \in \mathbb{C} ^n$ 和标量 $c \in \mathbb{C}$, $A(c x)=c A x=c \lambda x=\lambda(c x)$, 所以 $cx$ 也是一个特征向量。因此,我们在说 $\lambda$ 对应的特征向量时,通常假设此时特征向量 $x$ 被标准化长度为 $1$. (此时依然有歧义,因为 $x$ 和 $-x$ 都可以是特征向量,但是我们也没什么办法).

我们可以把上文的等式换一种说法,表明 $(\lambda, x)$ 是 $A$ 的一个特征值-特征向量对,前提是满足,

但是当且仅当 $(\lambda I-A)$ 零空间非空时,$(\lambda I-A)=0$ 存在 $x$ 的非零解,也是 $(\lambda I-A)$ 奇异的唯一情况,

现在我们可以用行列式的定义,将这个表达式 $|(\lambda I-A)|$ 展开成(非常高阶的) 含有 $\lambda$ 的多项式,其中 $\lambda$ 最高阶为 $n$. 我们可以解出(步骤可能很复杂) 多项式的 $n$ 个根并记为 $\lambda_{1}, \dots, \lambda_{n}$. 这些即是矩阵 $A$ 的特征值,需要注意的是它们可能不是很直观。为了解出特征值 $\lambda_{i}$ 对应的特征向量,可以简单地求线性方程 $\left(\lambda_{i} I-A\right) x=0$ 的解,由于 $(\lambda I-A)$ 是奇异的,应当存在非零解(但实际上可能有多个或者无数个解). 需要注意的是,这不是实际用来计算特征值和特征向量的方法(毕竟行列式的完全展开是 $n !$ 项); 这只是一个数学论证。

下面是特征值和特征向量的性质(假设 $A \in \mathbb{R}^{n \times n}$ 的特征值为 $\lambda_{i}, \dots, \lambda_{n}$) :

  • 矩阵 $A$ 的迹等于特征值的和,

  • 矩阵 $A$ 的行列式等于特征值的积,

  • 矩阵 $A$ 的秩等于其非零特征值的个数。
  • 如果 $A$ 是非奇异矩阵,特征值为 $\lambda$ 且对应的特征向量为 $x$, 则 $1 / \lambda$ 是矩阵 $A^{-1}$ 对应特征向量 $x$ 的特征值,即 $A^{-1} x=(1 / \lambda) x$. (证明方法为,对特征向量等式 $A x=\lambda x$ 两边同时左乘 $A^{-1}$).
  • 对角矩阵 $D=\operatorname{diag}\left(d_{1}, \ldots d_{n}\right)$ 的特征值即所有的对角元素。

对称矩阵的特征值与特征向量

通常而言,常见方阵的特征值与特征向量可以被微妙地进行描述。幸运的是在机器学习领域,大部分时候矩阵是对称的,其特征值与特征向量具有明显的性质。

在这个小节,我们假设矩阵 $A$ 是对称实矩阵,因此具有如下性质:

  1. 矩阵 $A$ 的所有特征值均为实数,记为 $\lambda_{1}, \ldots, \lambda_{n}$.
  2. 存在特征向量 $u_{1}, \dots, u_{n}$ 满足 a) 对所有的 $i$ 值,$u_i$ 是特征值 $\lambda_{i}$ 的一个特征向量;b) $u_{1}, \dots, u_{n}$ 是相互正交的单位向量。

对于第二点,从数学角度解释,我们有

此外,注意在任意矩阵 $A$ 中并不是所有的特征向量 $u_{1}, \dots, u_{n}$ 都满足相互正交,因为特征值可以重复,特征向量也一样。

令 $U$ 表示以 $u_i$ 作为各列的标准正交矩阵(为了记法简单这里偏离了之前的符号约定):

令 $\Lambda=\operatorname{diag}\left(\lambda_{1}, \ldots, \lambda_{n}\right)$ 表示以 $\lambda_{1}, \ldots, \lambda_{n}$ 作为对角线上各个元素的对角矩阵。使用前面提到的矩阵与矩阵乘法公式,可证得:

回想一下标准正交矩阵 $U$ 满足 $UU^{T}=I$, 则可以得到

这种将矩阵 $A$ 表示为 $U \Lambda U^{T}$ 的形式通常被称为矩阵 $A$ 的对角化。对角化这个术语来自于这样一个事实:有了对角化表示,我们通常可以有效地将对称矩阵 $A$ 视为对角矩阵——更容易理解的角度是——用特征向量 $U$ 定义基底。接下来我们使用几个例子进行说明。

使用其它基底表示向量

任意正交矩阵 $U$ 都在 $\mathbb{R}^{n}$ 空间 中定义了一个新的基底(坐标系), 对任意向量 $x \in \mathbb{R}^{n}$ 都可以表示成 $u_{1}, \dots, u_{n}$ 的线性组合,对应的系数为 $\hat{x}_1, \dots, \hat{x}_n$, 即

根据之前所学的内容可知,实际上,这样的 $x$ 存在且唯一

换而言之,在由 $U$ 定义基底时,向量 $\hat{x}=U^{T} x $ 可以作为向量 $x$ 的另一种表示方式。

“对角化”矩阵与向量乘法

通过上面的背景,我们可以发现左乘矩阵 $A$ 可以被看作左乘由其特征向量基底表示的一个对角矩阵。假设 $x$ 是一个向量且 $\hat{x}$ 是它在 $U$ 基底下对应的向量。令 $z=A x$ 表示矩阵与向量相乘,现在我们可从 $U$ 基底的表示形式计算 $z$ (对角化和对称矩阵性质):

我们可以发现在原始空间中左乘矩阵 $A$ 等同于以新的基底形式左乘对角矩阵 $\Lambda$, 即在每个坐标上对特征值进行缩放。

使用新的基底,多次左乘矩阵也变得更加简单。例如,假设 $q=A A A x$, 在原始空间下根据矩阵 $A$ 中的元素推导出最终 $q$ 的形式可能比较麻烦,但在新的基底下变得如此简单:

“对角化”二次型

作为直接推论,二次型 $x^{T} A x$ 也可以在新的基底上进行简化

回想一下二次型的原始表示方式,$x^{T} A x=\sum_{i=1, j=1}^{n} x_{i} x_{j} A_{i j}$ 中总共含有 $n^{2}$ 个项,而上式中只有 $n$ 项目。从这个方向来看,我们也可以表明矩阵 $A$ 的确定性完全取决于其特征值的符号:

  1. 如果所有的 $\lambda_{i}>0$, 那么矩阵 $A$ 是正定的,因为对任意 $\hat{x} \neq 0$ 有 $x^{T} A x=\sum_{i=1}^{n} \lambda_{i} \hat{x}_{i}^{2}>0$ (注意 $\hat{x} \neq 0 \Leftrightarrow x \neq 0$).
  2. 如果所有的 $\lambda_{i} \geq 0$, 那么矩阵 $A$ 是半正定的,因为对所有 $\hat{x}$ 有 $x^{T} A x=\sum_{i=1}^{n} \lambda_{i} \hat{x}_{i}^{2} \geq 0$.
  3. 类似地,如果所有的 $\lambda_{i}<0$ 或 $\lambda_{i} \leq 0$,那么矩阵 $A$ 是负定的或半负定的。
  4. 最后,如果矩阵 $A$ 既是正定的又是负定的,即 $\lambda_{i}>0$ 且 $\lambda_{i}<0$, 则它是确定的。这是因为如果我们令 $\hat{x}$ 满足对于任意 $k \neq i$ 有 $\hat{x}_i=1 $ 且 $\hat{x}_k=0$, 则 $x^{T} A x=\sum_{i=1}^{n} \lambda_i \hat{x}_i^2>0$; ;类似地如果令 $\hat{x}$ 满足对于任意 $k \neq j$ 有 $\hat{x}_j=1$ 且 $\hat{x}_k=0$, 则 $x^{T} A x=\sum_{i=1}^{n} \lambda_i \hat{x}_i^2<0$.

注意上面 $x=U \hat{x}$, 因此 $\hat{x}$ 给出了 $x$ 的隐式构造。

特征值和特征向量频繁出现的应用情景是最大化矩阵的某些函数,特别是对于矩阵 $A \in \mathbb{S}^{n}$, 考虑下面的最大化问题,

这个公式表示,我们想要找到能够最大化二次型某个向量(满足范数为 $1$). 假设特征值按序排列为 $\lambda_{1} \geq \lambda_{2} \geq \ldots \geq \lambda_{n}$, 则该优化问题的最优值是 $\lambda_{1}$, 并且对应于 $\lambda_{1}$ 的任何特征向量都是最大化的途径。(如果 $\lambda_{1} > \lambda_{2}$, 则存在对应于特征值 $\lambda_{1}$ 的唯一特征向量,且是该优化问题的唯一最大化方式.)

我们可以通过对角化方法来证明这一点,注意有 $\| x \|_2=\| \hat{x} \|_2$, 根据二次型对角化形式,可将上面的优化问题改写为

这样我们就可以得到 $\lambda_{1}$ 作为上界的结果:

此外,设 $\hat{x}= \left[ {1} ;{0};{\ldots} ;{0} \right]$ 使上式取得等号,此时对应于令 $x=u_1$.

矩阵微积分

前面章节讨论的内容在一般线性代数课程中都会讲到,但一些常用的内容没有设计,即将微积分推广到向量情况。事实上,我们应用的微积分都会比较繁琐,各种符号总是让问题变得更复杂。在本节中,将给出一些矩阵微积分的基本定义,并举例说明。

梯度

设 $f : \mathbb{R}^{m \times n} \rightarrow \mathbb{R}$ 是大小为 $m \times n$ 的矩阵 $A$ 的函数且返回值为实数。则 $f$ 关于 $A \in \mathbb{R}^{m \times n}$ 的梯度是一个偏导矩阵,定义如下:

即一个 $m \times n$ 矩阵,其中

注意 $\nabla_{A} f(A)$ 和 $A$ 有着相同的大小,特别当 $A$ 是一个向量 $x \in \mathbb{R}^{n}$ 时,

需要特别记住的是,函数的梯度只在函数值为实数的时候有定义,即函数一定要返回一个标量。例如,我们就不能对 $A x, A \in \mathbb{R}^{n \times n}$ 中的 $x$ 求梯度,因为它是一个向量。

它遵循和偏导相同的性质:

  • $\nabla_{x}(f(x)+g(x))=\nabla_{x} f(x)+\nabla_{x} g(x)$.
  • 对于 $t \in \mathbb{R}$, $\nabla_{x}(t f(x))=t \nabla_{x} f(x)$.

原则上,梯度是多变量函数偏导的延伸。然而,实际应用梯度时,会因为数学符号而变得棘手。例如,假设 $A \in \mathbb{R}^{m \times n}$ 是一个具有固定系数的矩阵,$b \in \mathbb{R}^{m}$ 是一个固定系数的向量。令 $f : \mathbb{R}^{m} \rightarrow \mathbb{R}$ 定义为 $f(z)=z^{T} z$, 因此 $\nabla_{z} f(z)=2 z$, 现在考虑表达式:

上式该如何理解?至少有两种解释:

  1. 解释一:因为 $\nabla_{z} f(z)=2 z$, 所以可将 $\nabla f(A x)$ 理解为点 $Ax$ 处的梯度,那么,
  1. 解释二:可以认为 $f(A x)$ 是关于变量 $x$ 的函数。正式表述为,令 $g(x)=f(A x)$, 则可以解释为,

在这里,我们可以看到两种解释的结果不同,一种是 $m$ 维向量,一种是 $n$ 维,怎么解决这种情况呢?关键是要明确要微分的变量。在第一种情况下,是让函数 $f$ 对自变量 $z$ 求导,然后代入 $Ax$; 第二种情况下,我们直接在复合函数 $g(x)=f(A x)$ 对 $x$ 求导。第一种情况记为 $\nabla_{z} f(A x)$, 第二种情况记为 $\nabla_{x} f(A x)$, 理清楚数学符号是非常重要的。

我们不得不承认这种符号表示的缺点在于,第一种情况下 $\nabla_{z} f(A x)$ 看起来像对单个变量求微分,这个变量甚至没有出现在某个表达式中。因此第一种情况经常被写成 $\nabla f(A x)$, 实际上要理解成这是在对 $f$ 中的某个变量进行微分。然而第二种情况总是被记为 $\nabla_{x} f(A x)$.

Hessian 矩阵

假设 $f : \mathbb{R}^{n} \rightarrow \mathbb{R}$ 是 $n$ 维向量 $A$ 的函数,并返回一个实数。那么关于 $x$ 的 Hessian 矩阵是偏导数组成的 $n×n$ 矩阵,写作 $\nabla_{x}^{2} f(x)$ ,简记为 $H$,

换而言之,$\nabla_{x}^{2} f(x) \in \mathbb{R}^{n \times n}$, 其中

需要注意的是 Hessian 矩阵始终是对称的,因为:

和梯度类似,Hessian 矩阵只在 $f(x)$ 返回值为实数时有定义。

可以很自然联想到,偏导类似于函数的一阶导数,而 Hessian 类似函数的的二阶导数(我们使用的符号,也表明了这种联系)。通常这种直觉是正确的,但有些注意事项需要牢记:

首先,对于单变量实值函数 $f : \mathbb{R} \rightarrow \mathbb{R}$, 二阶导数的基础定义是一阶导数的导数,即,

然而,对于关于向量的函数,该函数的梯度是一个向量,我们不能够直接取向量的梯度,像这样:

这个表达式是未定义的,因此不能说 Hessian 矩阵是梯度的梯度。然而使用下面的定义基本上是正确的:如果我们取梯度中的第 $i$ 项 $\left(\nabla_{x} f(x)\right)_i=\partial f(x) / \partial x_i$, 接着取对 $x$ 的梯度,我们可以得到

这对应 Hessian 矩阵的第 $i$ 列(或行), 因此,

如果此处写得粗略一些,(本质上)可以说 $\nabla_{x}^{2} f(x)=\nabla_{x}\left(\nabla_{x} f(x)\right)^{T}$, 只要将其真实的含义理解成对 $\left(\nabla_{x} f(x)\right)^{T}$ 的每一项求导,而不是对向量求梯度即可。

最后注意,虽然理论上可求出对矩阵 $A \in \mathbb{R}^{n}$ 的梯度,但大部分时候只考虑向量 $x \in \mathbb{R}^{n}$ 的 Hessian 矩阵。这仅仅是为了方便(而事实上,没有计算需要求矩阵的 Hessian 矩阵), 因为矩阵的 Hessian 矩阵必须表示为所有的偏导数 $\partial^{2} f(A) /\left(\partial A_{i j} \partial A_{k \ell}\right)$, 使用矩阵来表示结果会显得十分繁琐。

二次或线性函数的梯度和 Hessian 矩阵

现在让我们确定一些简单函数的梯度和 Hesseian 矩阵,值得注意的是这里给出的梯度都会在一些特殊情况时被使用。

对 $x \in \mathbb{R}^{n}$, 令 $f(x)=b^{T} x$, 其中 $b \in \mathbb{R}^{n}$ 已知,则有

因此

由上不难发现 $\nabla_{x} b^{T} x=b$, 这与单变量微积分的情况类似,其中 $\partial /(\partial x) a x=a$.

接下来对于$A \in \mathbb{S}^{n}$, 考虑二次函数 $f(x)=x^{T} A x$, 记住有

为了对其求偏导,我们需将含有 $x_k$ 与 $x_k^2$ 因子的项分别考虑:

其中最后一个等式根据 $A$ 是对称的推导得出(由于是二次型,完全可以做出这样的假设). 注意 $\nabla_{x} f(x)$ 的第 $k$ 项只是 $A$ 的第 $k$ 行与 $x$ 的内积,因此有 $\nabla_{x} x^{T} A x=2 A x$. 与单变量微积分类似,同样有 $\partial /(\partial x) a x^{2}=2 a x$.

最后应当知道 $\nabla_{x}^{2} x^{T} A x=2 A$, 这是完全可证明的(并再次类似于单变量微积分 $\partial^{2} /\left(\partial x^{2}\right) a x^{2}=2 a$ ).

总之记住:

  • $\nabla_{x} b^{T} x=b$
  • $\nabla_{x} x^{T} A x=2 A x$ (如果 $A$ 对称)
  • $\nabla_{x}^{2} x^{T} A x=2 A$ (如果 $A$ 对称)

最小二乘法

这里将使用最后一节得到的公式推导最小二乘方程,假设对矩阵 $A \in \mathbb{R}^{m \times n}$ (简单起见假设 $A$ 满秩) 和向量 $b \in \mathbb{R}^{m}$, 满足 $b \notin \mathcal{R}(A)$. 在这种情况下,无法找到一个向量 $x \in \mathbb{R}^{n}$ 使得 $A x=b$. 因此我们希望找到一个向量 $x$ 使得 $Ax$ 尽可能接近 $b$, 通过欧几里得范数 $\| A x-b \| _2^2$ 进行度量,已知 $\| x \| _2^2=x^T x $, 我们有

对已有的 $x$ 取梯度,并使用上一节推导出的性质

让最后一个表达式等于零,并求解 $X$ 满足的标准方程

行列式的梯度

现在考虑一种情况,求函数对一个矩阵的梯度,即对 $A \in \mathbb{R}^{n \times n}$, 我们想要找到 $\nabla_{A}|A|$. 回想一下之前关于行列式的讨论:

因此

根据伴随矩阵的性质,可立即得出

现在考虑函数 $f : \mathbb{S}_{++}^{n} \rightarrow \mathbb{R}, f(A)=\log |A|$. 需要注意的是,我们必须约束 $f$ 的域使之为正定矩阵,确保 $| A| >0$, 这样 $| A |$ 的对数是一个实数。在这种情况下,我们可以使用链式法则(单变量) 得出:

结果很显然有,

在最后一个表达式中去掉了转置符号,因为 $A$ 是对称的,注意当 $\partial /(\partial x) \log x=1 / x$ 时,与单值情况类似。

最优化特征值

最后,通过直接分析特征值/特征向量,用矩阵微积分来解决一个优化问题。接下来,考虑等式约束优化问题:

对于一个对称矩阵 $A \in \mathbb{S}^{n}$, 解决等式约束优化问题的标准方法是构造拉格朗日(一个包括等式约束的目标函数) 形式,涉及凸优化的知识,这种情况下的拉格朗日可由下式给出:

其中 $\lambda$ 被称为与等式约束对应的拉格朗日乘子。此时该问题可以找到一个最优点 $x^{\ast}$, 使拉格朗日的梯度在 $x^{\ast}$ 为零(这不是唯一条件,但却是必须), 即:

注意,这其实是线性方程组 $A x=\lambda x$. 这表明假设 $x^{T} x=1$, 使 $x^{T} A x$ 最大化(或最小化) 的点正好是 $A$ 的特征值。