在2.3 节中,我们了解了线性代数的基础知识,并了解了如何使用它来表达转换数据的常见操作。线性代数是我们在深度学习和更广泛的机器学习中所做的大部分工作的关键数学支柱之一。虽然第 2.3 节 包含足够的机制来传达现代深度学习模型的机制,但该主题还有更多内容。在本节中,我们将更深入地介绍线性代数运算的一些几何解释,并介绍一些基本概念,包括特征值和特征向量。
22.1.1. 向量几何
首先,我们需要讨论向量的两种常见几何解释,即空间中的点或方向。从根本上说,向量是一个数字列表,例如下面的 Python 列表。
数学家最常将其写成列向量或行 向量,也就是说
或者
这些通常有不同的解释,其中数据示例是列向量,而用于形成加权和的权重是行向量。但是,保持灵活性可能是有益的。正如我们在2.3 节中所述 ,尽管单个向量的默认方向是列向量,但对于表示表格数据集的任何矩阵,将每个数据示例视为矩阵中的行向量更为常规。
给定一个向量,我们应该给它的第一个解释是空间中的一个点。在二维或三维中,我们可以通过使用向量的分量来定义这些点在空间中相对于称为原点的固定参考的位置来可视化这些点。这可以在图 22.1.1中看到。
这种几何观点使我们能够在更抽象的层面上考虑问题。不再面临一些看似无法克服的问题,例如将图片分类为猫或狗,我们可以开始将任务抽象地视为空间中的点集合,并将任务描绘为发现如何分离两个不同的点簇。
平行地,人们经常对矢量采取第二种观点:作为空间中的方向。我们不仅可以想到向量 v=[3,2]⊤作为地点3右边的单位和2从原点向上的单位,我们也可以把它看作是要采取的方向本身3向右的步骤和2 加强。这样,我们认为图 22.1.2中的所有向量都是相同的。
这种转变的好处之一是我们可以从视觉上理解向量加法的行为。特别是,我们遵循一个向量给出的方向,然后遵循另一个向量给出的方向,如图22.1.3所示。
矢量减法有类似的解释。通过考虑身份u=v+(u−v), 我们看到向量u−v是带我们离开点的方向v直截了当 u.
22.1.2。点积和角
正如我们在2.3 节中看到的,如果我们取两个列向量u和v,我们可以通过计算形成他们的点积:
因为(22.1.3)是对称的,我们将镜像经典乘法的符号并写成
强调交换向量的顺序将产生相同答案的事实。
点积(22.1.3)也有一个几何解释:它与两个向量之间的角度密切相关。考虑图 22.1.4中所示的角度。
首先,让我们考虑两个特定的向量:
载体v是长度r并平行于x