本文是斯坦福大学CS 229机器学习课程的基础材料,原始文件下载

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

翻译:黄海广 备注:请关注github的更新,线性代数和概率论已经更新完毕。

 

CS229 机器学习课程复习材料-线性代数

CS229 机器学习课程复习材料-线性代数线性代数复习和参考1. 基础概念和符号1.1 基本符号2.矩阵乘法2.1 向量-向量乘法2.2 矩阵-向量乘法2.3 矩阵-矩阵乘法3 运算和属性3.1 单位矩阵和对角矩阵3.2 转置3.3 对称矩阵3.4 矩阵的迹3.5 范数3.6 线性相关性和秩3.7 方阵的逆3.8 正交阵3.9 矩阵的值域和零空间3.10 行列式3.11 二次型和半正定矩阵3.12 特征值和特征向量3.13 对称矩阵的特征值和特征向量4.矩阵微积分4.1 梯度4.2 黑塞矩阵4.3 二次函数和线性函数的梯度和黑塞矩阵4.4 最小二乘法4.5 行列式的梯度4.6 特征值优化

线性代数复习和参考

1. 基础概念和符号

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

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

我们可以看到,这种形式的线性方程有许多优点(比如明显地节省空间)。

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 方阵的逆

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

请注意,并非所有矩阵都具有逆。 例如,非方形矩阵根据定义没有逆。 然而,对于一些方形矩阵,可能仍然存在