首发:吴恩达的 CS229的数学基础(线性代数),有人把它做成了在线翻译版本!...

本文是斯坦福大学 CS 229 机器学习课程的基础材料,是斯坦福各大人工智能课程的数学基础,本文为线性代数部分,原始文件下载[1]

原文作者:Zico Kolter,修改:Chuong Do, Tengyu Ma

翻译:黄海广[2]

备注:请关注github[3]的更新,线性代数和概率论已经更新完毕。

线性代数复习和参考

1. 基础概念和符号

线性代数提供了一种紧凑地表示和操作线性方程组的方法。例如,以下方程组:

这是两个方程和两个变量,正如你从高中代数中所知,你可以找到   和   的唯一解(除非方程以某种方式退化,例如,如果第二个方程只是第一个的倍数,但在上面的情况下,实际上只有一个唯一解)。在矩阵表示法中,我们可以更紧凑地表达:

我们可以看到,这种形式的线性方程有许多优点(比如明显地节省空间)(备注:此处笔误,b应该是-13和9)。

1.1 基本符号

我们使用以下符号:

  • ,表示   为由实数组成具有 行和 列的矩阵。

  • ,表示具有 个元素的向量。 通常,向量 将表示列向量: 即,具有 行和 列的矩阵。 如果我们想要明确地表示行向量: 具有   行和 列的矩阵 - 我们通常写 (这里 的转置)。

  • 表示向量 的第 个元素

  • 我们使用符号  (或 , 等)来表示第   行和第 列中的   的元素:

  • 我们用 或者 表示矩阵 的第 列:

  • 我们用 或者 表示矩阵 的第 行:

  • 在许多情况下,将矩阵视为列向量或行向量的集合非常重要且方便。 通常,在向量而不是标量上操作在数学上(和概念上)更清晰。只要明确定义了符号,用于矩阵的列或行的表示方式并没有通用约定。

2.矩阵乘法

两个矩阵相乘,其中   and   ,则:

其中:

请注意,为了使矩阵乘积存在, 中的列数必须等于 中的行数。有很多方法可以查看矩阵乘法,我们将从检查一些特殊情况开始。

2.1 向量-向量乘法

给定两个向量 , 通常称为向量内积或者点积,结果是个实数

注意:  始终成立。

给定向量  ,   (他们的维度是否相同都没关系), 叫做向量外积 , 当   的时候,它是一个矩阵。

举一个外积如何使用的一个例子:让 表示一个 维向量,其元素都等于 1,此外,考虑矩阵 ,其列全部等于某个向量  。我们可以使用外积紧凑地表示矩阵  :

2.2 矩阵-向量乘法

给定矩阵  ,向量   , 它们的积是一个向量  。有几种方法可以查看矩阵向量乘法,我们将依次查看它们中的每一种。

如果我们按行写 ,那么我们可以表示 为:

换句话说,第 个 是 的第 行和 的内积,即: 。

同样的, 可以把 A 写成列的方式,则公式如下:,

换句话说, 是 的列的线性组合,其中线性组合的系数由 的元素给出。

到目前为止,我们一直在右侧乘以列向量,但也可以在左侧乘以行向量。这是写的,  表示 , , 。和以前一样,我们可以用两种可行的方式表达 ,这取决于我们是否根据行或列表达 .

第一种情况,我们把 用列表示:

这表明 的第 个元素等于 和 的第 列的内积。

最后,根据行表示 ,我们得到了向量-矩阵乘积的最终表示:

所以我们看到 是 的行的线性组合,其中线性组合的系数由 的元素给出。

2.3 矩阵-矩阵乘法

有了这些知识,我们现在可以看看四种不同的(形式不同,但结果是相同的)矩阵-矩阵乘法:也就是本节开头所定义的 的乘法。

首先,我们可以将矩阵 - 矩阵乘法视为一组向量-向量乘积。从定义中可以得出:最明显的观点是 的 , 元素等于 的第 行和 的的 列的内积。如下面的公式所示:

这里的  , ,   , , 这里的 ,   ,  , ,所以它们可以计算内积。我们用通常用行表示 而用列表示 。或者,我们可以用列表示 ,用行表示 ,这时 是求外积的和。公式如下:

换句话说, 等于所有的 的第 列和 第 行的外积的和。因此,在这种情况下,  和 , 外积 的维度是 ,与 的维度一致。

其次,我们还可以将矩阵 - 矩阵乘法视为一组矩阵向量积。如果我们把 用列表示,我们可以将 的列视为 和 的列的矩阵向量积。公式如下:

这里 的第 列由矩阵向量乘积给出,右边的向量为 。 这些矩阵向量乘积可以使用前一小节中给出的两个观点来解释。 最后,我们有类似的观点,我们用行表示 , 的行作为 和 行之间的矩阵向量积。公式如下:

这里第 行的 由左边的向量的矩阵向量乘积给出:

将矩阵乘法剖析到如此大的程度似乎有点过分,特别是当所有这些观点都紧跟在我们在本节开头给出的初始定义(在一行数学中)之后。

这些不同方法的直接优势在于它们允许您在向量的级别/单位而不是标量上进行操作。 为了完全理解线性代数而不会迷失在复杂的索引操作中,关键是要用尽可能多的概念进行操作。

实际上所有的线性代数都处理某种矩阵乘法,花一些时间对这里提出的观点进行直观的理解是非常必要的。

除此之外,了解一些更高级别的矩阵乘法的基本属性是很有必要的:

  • 矩阵乘法结合律: 

  • 矩阵乘法分配律: 

  • 矩阵乘法通常不是可交换的; 也就是说,通常 。 (例如,假设 ,   ,如果 和 不相等,矩阵乘积 甚至不存在!)

如果您不熟悉这些属性,请花点时间自己验证它们。 例如,为了检查矩阵乘法的相关性,假设 ,   , 。 注意 ,所以 。 类似地, ,所以 。 因此,所得矩阵的维度一致。 为了表明矩阵乘法是相关的,足以检查 的第 个元素是否等于 的第 个元素。 我们可以使用矩阵乘法的定义直接验证这一点:

3 运算和属性

在本节中,我们介绍矩阵和向量的几种运算和属性。希望能够为您复习大量此类内容,这些笔记可以作为这些主题的参考。

3.1 单位矩阵和对角矩阵

单位矩阵, ,它是一个方阵,对角线的元素是 1,其余元素都是 0:

对于所有 ,有:

注意,在某种意义上,单位矩阵的表示法是不明确的,因为它没有指定 的维数。通常, 的维数是从上下文推断出来的,以便使矩阵乘法成为可能。例如,在上面的等式中, 中的 I 是 矩阵,而 中的 是 矩阵。

对角矩阵是一种这样的矩阵:对角线之外的元素全为 0。对角阵通常表示为: ,其中:

很明显:单位矩阵 。

3.2 转置

矩阵的转置是指翻转矩阵的行和列。

给定一个矩阵:

, 它的转置为 的矩阵  ,其中的元素为:

事实上,我们在描述行向量时已经使用了转置,因为列向量的转置自然是行向量。

转置的以下属性很容易验证:

3.3 对称矩阵

如果 ,则矩阵 是对称矩阵。如果 ,它是反对称的。很容易证明,对于任何矩阵 ,矩阵 是对称的,矩阵 是反对称的。由此得出,任何方矩阵 可以表示为对称矩阵和反对称矩阵的和,所以:

上面公式的右边的第一个矩阵是对称矩阵,而第二个矩阵是反对称矩阵。事实证明,对称矩阵在实践中用到很多,它们有很多很好的属性,我们很快就会看到它们。通常将大小为 的所有对称矩阵的集合表示为 ,因此 意味着 是对称的 矩阵;

3.4 矩阵的迹

方矩阵 的迹,表示为 (或者只是 ,如果括号显然是隐含的),是矩阵中对角元素的总和:

CS229讲义中所述,迹具有以下属性(如下所示):

  • 对于矩阵 ,则:

  • 对于矩阵 ,则:

  • 对于矩阵 , ,则: .

  • 对于矩阵  ,  ,  为方阵, 则:

  • 对于矩阵  ,  ,  ,  为方阵, 则: , 同理,更多矩阵的积也是有这个性质。

这里,第一个和最后两个等式使用迹运算符和矩阵乘法的定义,重点在第四个等式,使用标量乘法的可交换性来反转每个乘积中的项的顺序,以及标量加法的可交换性和相关性,以便重新排列求和的顺序。

3.5 范数

向量的范数 是非正式度量的向量的“长度” 。例如,我们有常用的欧几里德或 范数,

注意:

更正式地,范数是满足 4 个属性的函数( ):

  1. 对于所有的  ,  (非负).

  2. 当且仅当  时,  (明确性).

  3. 对于所有 , ,则   (正齐次性).

  4. 对于所有  ,   (三角不等式)

其他范数的例子是 范数:

和 范数:

事实上,到目前为止所提出的所有三个范数都是 范数族的例子,它们由实数 参数化,并定义为:

也可以为矩阵定义范数,例如Frobenius范数:

许多其他更多的范数,但它们超出了这个复习材料的范围。

3.6 线性相关性和秩

一组向量 , 如果没有向量可以表示为其余向量的线性组合,则称称该向量是线性无相关的。相反,如果属于该组的一个向量可以表示为其余向量的线性组合,则称该向量是线性相关的。也就是说,如果:

对于某些标量值 ,要么向量 是线性相关的; 否则,向量是线性无关的。例如,向量:

是线性相关的,因为: 。

矩阵 的列秩是构成线性无关集合的 的最大列子集的大小。由于术语的多样性,这通常简称为 的线性无关列的数量。同样,行秩是构成线性无关集合的 的最大行数。对于任何矩阵 ,事实证明 的列秩等于 的行秩(尽管我们不会证明这一点),因此两个量统称为 的,用  表示。以下是秩的一些基本属性:

  • 对于  , ,如果 ,则:   被称作满秩

  • 对于  , 

  • 对于  ,  ,

  • 对于  ,

3.7 方阵的逆

方阵 的倒数表示为 ,并且是这样的独特矩阵:

请注意,并非所有矩阵都具有逆。例如,非方形矩阵根据定义没有逆。然而,对于一些方形矩阵 ,可能仍然存在 可能不存在的情况。特别是,如果 存在,我们说 是可逆的或非奇异的,否则就是不可逆奇异的。为了使方阵 A 具有逆 ,则 必须是满秩。我们很快就会发现,除了满秩之外,还有许多其它的充分必要条件。以下是逆的属性; 假设 ,而且是非奇异的:

  • 因此,该矩阵通常表示为 。作为如何使用逆的示例,考虑线性方程组, ,其中 , , 如果 是非奇异的(即可逆的),那么 。(如果 不是方阵,这公式还有用吗?)

3.8 正交阵

如果  ,则两个向量  是正交的。如果 ,则向量  被归一化。如果一个方阵 的所有列彼此正交并被归一化(这些列然后被称为正交),则方阵 是正交阵(注意在讨论向量时的意义不一样)。

它可以从正交性和正态性的定义中得出:

换句话说,正交矩阵的逆是其转置。注意,如果 不是方阵 :即, ,  ,但其列仍然是正交的,则 ,但是 。我们通常只使用术语"正交"来描述先前的情况 ,其中 是方阵。正交矩阵的另一个好的特性是在具有正交矩阵的向量上操作不会改变其欧几里德范数,即:

对于任何   ,  是正交的。

3.9 矩阵的值域和零空间

一组向量 是可以表示为 的线性组合的所有向量的集合。即:

可以证明,如果 是一组 个线性无关的向量,其中每个 ,则 。换句话说,任何向量 都可以写成 到 的线性组合。

向量 投影到 (这里我们假设 )得到向量 ,由欧几里德范数 可以得知,这样 尽可能接近 。

我们将投影表示为 ,并且可以将其正式定义为:

你可能感兴趣的:(首发:吴恩达的 CS229的数学基础(线性代数),有人把它做成了在线翻译版本!...)