08.点积与对偶性

470 阅读9分钟

要理解点积所发挥的作用,要从线性变换的角度才能完成。
点积的标准方法:如果有两个维度相同的向量,或者两个长度相同的数组,求它们的点积,就是将相应的坐标匹配,求每一对坐标的乘积,然后将结果相加。

image.png

image.png

image.png

image.png

这个计算有一个优美的集合解释,要求两个向量v和w的点积。
想像向量w朝着过原点和向量v终点的直线上投影,将投影长度与向量v的长度相乘,就得到了特它们的点积 v点乘w,除非w的投影与v的方向相反,这种情况下点积为负值。
所以当两个向量大致相同时,它们的点积为正,当它们相互垂直时,意味着一个向量在另一个向量的投影为0向量,它们的点积为零,而当它们的指向基本相反时,它们的点积为负。

image.png

image.png

现在看看,这种解释异常的不对称,它对两个向量的处理方式完全不同。
为什么点积与顺序无关:如果v和w长度恰好相同,我们可以利用其中的对称性,因为w向v上投影,并将w的长度与v的长度相乘,和v向w上投影,并将v的投影长度与w的长度互为镜像。
现在你将其中一个缩放为若干倍,比如将v变成两倍,使它们长度不同,对称性就被破坏了,但是我们可以这样解读新向量2v和w的点积:如果你认为w向v上投影,那么2v点成w就恰好是v点乘w的两倍。这是因为将v放大为原来的两倍并不改变w的投影长度,但是被投影的向量长度变为原来的两倍。
另一方面,假设你想将v投影到w上,我们将v变为原来的两倍这次是投影的长度变为原来的两倍,但是被投影的向量长度保持不变,所以总体效果仍然是点积变为两倍,所以说即便这种情况下对称性被破坏了,在两种理解方式下,缩放向量对点积结果影响是相同的。

image.png

image.png

image.png

image.png

image.png

image.png

究竟为什么点积这一运算过程,也就是对应坐标相乘并将结果相加和投影有所联系?如果想要给一个满意的答案,并且正视点积的重要性,我们需要挖掘更深层次的的东西,它被称为《对偶性》。
我们需要花点时间讨论多维空间到一维空间(数轴)的变换,有不少函数能接收一个二维向量并输出这个数,同样是二维输入和一维输出,和一般函数相比,线性变换的要求更加严格,高维空间中的变换需要满足一些严格性的性质才会具有线性(矩阵平行且等距分布,并且原点保持不变)。

image.png

image.png

如果你有一系列等距分布于一条直线上的点然后应用变换,线性变换会保持这些点等距分布在输出空间中也就是数轴上,否则如果这些点没有等距分布,那么就不是线性的。
这些线性变换完全由它对i帽和j帽的变换决定,但是这一次基向量只落在一个数上,所以当我们将它们变换后的位置记录为矩阵的列时,矩阵的每一列只是一个单独的数下列是一个1*2的矩阵。

image.png

我们考察一个例子,了解它对向量作用的含义。假设你有一个线性变换,它将i帽和j帽分别变换至1和-2,要跟踪一个向量比如向量v(3,4)在变换后的去向,将这个向量分解为4乘以i帽加上3乘以j帽,由于线性性质在变换后,这个向量的位置就是4乘以变换后的i帽也就是1,加上三乘以变换后的j帽也就是-2,结果说明它落在-2上,当我们完全从数值角度计算时他就是矩阵向量乘法。
一乘以二矩阵与向量相乘这一运算过程,感觉上就和两个向量的点积一样,因为我们现在只是从数值表达上来看这个联系,所以向量和1*2矩阵之间来回的转化看上去毫无意义,但是这暗示了一点从几何角度可以看到一些美妙的事情。将向量转换为数的线性变换和这个向量本身有着某种关系。

image.png

image.png

举个例子说明这种关系的重要性,而它恰恰回答了之前提到的点积问题。
假设我们不知道投影和点击有关。

image.png

我们现在将数轴复制一份,保持0在原点,将它倾斜放在空间中,现在考虑这样一个二维向量,它的终点落在这个数轴的1上,给它起个名字叫做u帽,这个向量在接下来扮演者重要的角色。
如果将二维向量直接投影到这个数轴上,实际上我们就这样定义了一个二维向量到数的函数,更重要的是这个函数是线性的,因为它通过了线性检验,即直线上等距分布的点投影到数轴上仍然等距分布。
这里说明一点,即便把这条数轴放在二维空间中,上述函数输出的结果还是数而不是二维向量,应该把它看做一个接收两个坐标并输出一个坐标的函数。
不过u帽是二维空间中的一个向量,而它又恰好落在这个数轴上。根据这个投影我们定义了一个从二维向量到数的线性变换,所以我们就能购找到描述这个变换的1*2的矩阵。

image.png

image.png

为了找到这个矩阵我们把这条斜着的数轴放大来看,并且需要考虑变换后i帽和j帽的位置,因为它们就是矩阵的列。

image.png 我们可以通过精妙的对称性进行推理,因为i帽和u帽都是单位向量。
将i帽想u帽所在的直线上进行投影与u帽向x轴进行投影看上去完全对称,所以说如果要问i帽在投影之后落在那个数上,答案就是u帽向x轴投影所得到的数,而u帽向x轴投影所得到的数就是u帽在x轴上的横坐标。
因此根据对称性将i帽向斜着的数轴上所得到的数就是u帽的横坐标,以上推理过程对j帽几乎完全一致。
所以描述投影变换的1*2的矩阵的两列就分别是u帽的两个坐标。
而空间中任意向量经过投影变换的结果也就是投影矩阵与这个向量相乘,而这个向量与u帽的点积在计算上完全相同。

image.png

这就是为什么与单位向量的点积可以解读为:将向量投影到单位向量所在的直线上所得到的投影长度。
那对于为单位向量呢?
比如说还是这个单位向量u帽不过我们把它放大为原来的三倍。数值上说它的每个坐标都被放大为原来的三倍。所以要寻找与这个向量相关的矩阵,实际上就是将之前i帽和j帽投影得到的值的三倍。
更普遍的说:因为这个变换是线性的意味着这个新矩阵可以看做,将任何向量斜着的数轴上投影,然后将结果乘以三。
这就是为什么向量与给定非单位向量的点积可以解读为:首先朝给定向量上投影,然后将投影的值与给定向量长度相乘。
思考这个过程:我们有一个二维空间到数轴的线性变换,它并不是由数值或点积运算定义得到的,而只是通过空间投影到给定数轴上定义。但是这个变换时线性的所以它必然可以用某个12的矩阵描述,又因为12矩阵与二维向量相乘计算过程和转置矩阵并求点积的计算过程相同,所以这个投影变换必然会与某个二维向量相关。

image.png

这里给的启发是:在任何一个时候看到一个线性变换它的输出空间是一维数轴,无论它是如何定义的空间中会存在唯一的向量v与之相关,就这一个意义而言应用变换和v的点积是一样的。
这个结果格外精彩,它是数学中对偶性的一个实例。
对偶性贯穿数学始终在多个方面均有体现而实际定义它确实比较棘手的。
粗略地说它指的是:“两个数学事务之间自然而又出乎意料的对应关系”。
对于刚学到的情况而言可以说一个向量的对偶是由它定义的线性变换,一个多维空间到一维空间的线性变换的的对偶是多维空间中的某个特定向量。
总结:

表面上看点积是理解投影的有力几何工具,并且方便检验两个向量的指向是否相同,这大概也是需要记住的点积最重要的部分。
不过更进一步讲,两个向量点乘就是将其中一个向量转化为线性变换。
同样在树枝上强调它可能显得没有意义,因为只是两种看上去恰好相似的计算过程而已。但是这一过程非常重要因为从始至终都是在和向量打交道。
一旦真正理解了向量的个性有时候就会意识到,不把它看做空间中的箭头,而是把它看做线性变换的物质载体会更容易理解向量。
向量就仿佛是一个特定变换的概念性记号,因为对我们来说想象空间中的向量比想象整个空间移动到数轴上更加容易。