07-点积与对偶性

卡尔文:你知道吗,我觉得数学不是一门科学,而是一种宗教。

霍布斯:一种宗教?

卡尔文:是啊。这些公式就像奇迹一般。你取出两个数,把它们相加时,它们神奇地成为了一个全新的数!没人能说清这到底是怎么发生的。你要么完全相信,要么完全不信。

点积

  • 如果有两个维数相同的向量,或是两个长度相同的数组,要求它们的点积,就是将相应坐标配对,求出每一对坐标的乘积,然后将结果相加

  • 所以向量(1,2)点乘向量(3,4)的结果为1 x 3 + 2 x 4

  • 向量(6,2,8,3)点乘向量(1,8,5,3)的结果为6 x 1 + 2 x 8 + 8 x 5 + 3 x 3

  • 幸运的是,这个计算有一个优美的几何解释

  • 要求两个向量v和w的点积,可以想象将向量w朝着过原点和向量v终点的直线上投影,将投影的长度与向量v的长度相乘,就得到了它们的点积—v点乘w

  • 除非w的投影与v的方向相反,这种情况下点积为负值

  • 所以,当两个向量的指向大致相同时,它们的点积为正。当它们互相垂直时,意味着一个向量在另一个向量上的投影为零向量。而当它们的指向基本相反时,它们的点积为负

现在看看,这种解释异常地不对称,它对两个向量的处理方式完全不同

  • 我们可以将v投影到w上,将v的投影长度与w的长度相乘,然后得到相同的结果

  • 下面从直观上说说为什么点积与顺序无关

  • 如果v和w的长度恰好相同,我们可以利用其中的对称性。因为w向v上投影,并将w的投影长度与v的长度相乘,和v向w上投影,并将v的投影长度与w的长度相乘互为镜像

  • 现在如果将其中一个缩放若干倍,比如将v变成两倍,使得它们的长度不同,对称性就被破坏了

  • 但是我们可以这样解读新向量2v和w的点积:如果认为w向v上投影,那么2v点乘w就应该恰好是v点乘w的两倍

  • 这是因为,将v放大为原来的两倍并不改变w的投影长度,但是被投影的向量长度变为原来的两倍
  • 另一方面,假设将v投影到w上,我们将v变为原来的两倍,这次是投影的长度变为原来的两倍,但是被投影的向量长度保持不变,所以总体效果仍然是点积变为两倍
  • 所以说,即便这种情况下对称性被破坏了,在两种理解方式下,缩放向量对点积结果的影响是相同的

究竟为什么点积的这一运算过程,也就是对应坐标相乘并将结果相加,和投影有所联系?

如果想要给出一个满意的答案,并且正视点积的重要性,我们需要挖掘更深层次的东西,它通常被称为 “对偶性”

  • 不过在继续深入之前,需要花点时间讨论多维空间到一维空间(数轴)的线性变换

  • 有不少函数能够接收二维向量并输出一个数,同样是二维输入和一维输出,和一般的函数相比,线性变换的要求更加严格

  • 高维空间中的变换需要满足一些严格的性质才会具有线性:如果有一系列等距分布于一条直线上的点,然后应用变换,线性变换会保持这些点等距分布在输出空间中,也就是数轴上。否则,如果这些点没有等距分布,那么这个变换就不是线性的

  • 这些线性变换完全由它对i帽和j帽的变换决定。但是这一次,这些基向量只能落在一个数上

  • 所以当我们将它们变换后的位置记录为矩阵的列时,矩阵的每列只是一个单独的数,这是一个1x2矩阵

  • 我们来考察一个例子,了解它对向量作用的含义

  • 假设有一个线性变换,它将i帽和j帽分别变换至1和-2。要跟踪一个向量,比如向量(4,3)在变换之后的去向,将这个向量分解为4乘以i帽加上3乘以j帽

  • 由于线性性质,在变换后,这个向量的位置是4乘以变换后的i帽(也就是1),加上3乘以变换后的j帽(也就是-2),结果说明它落在-2上

  • 当完全从数值角度进行计算时,它就是矩阵向量乘法,1x2矩阵与向量相乘这一数值运算过程,感觉上就和两个向量的点积一样,那个1x2矩阵不正像是一个倾倒的向量吗?

  • 实际上,我们现在可以说,1x2矩阵与二维向量之间有着微妙的联系
  • 这种关系在于:将向量放倒,从而得到与之相关的矩阵;或者将矩阵立直,从而得到与之相关的向量

  • 因为我们现在只是从数值表达上来看这个联系,所以向量和1x2矩阵之间的来回转化看上去毫无意义
  • 但是这暗示了一点,从几何角度可以看到一些美妙的事情,将向量转化为数的线性变换和这个向量本身有着某种关系

  • 举个例子来说明这种关系的重要性,而它恰恰回答了之前提到的点积的问题

  • 假设现在还不知道点积与投影有关,现在将数轴复制一份,然后保持0在原点,将它斜向放置在空间中,然后考虑这样一个二维向量,它的终点落在这条数轴的1上,给它起个名字,就叫 “u帽”

  • 如果将二维向量直接投影到这条数轴上,实际上,我们定义了一个从二维向量到数的函数

  • 更重要的是,这个函数是线性的,因为它顺利通过了线性检验,即直线上等距分布的点在投影到数轴上后仍然等距分布

  • 这里说明一点,即便把这条数轴放在二维空间中,上述函数的输出结果还是数,而不是二维向量。应该把它看作一个接收两个坐标并输出一个坐标的函数。只不过,u帽是二维空间中的一个向量,而它碰巧又落在这条数轴上

  • 根据这个投影,我们定义了一个从二维向量到数的线性变换,所以我们就能够找到描述这个变换的1x2矩阵

  • 为了找到这个矩阵,我们把这条斜着的数轴放大来看,并且需要考虑变换后i帽和j帽的位置,因为它们就是矩阵的列。这一部分超级漂亮,我们可以通过精妙的对称性进行推理
  • 因为i帽和u帽都是单位向量,将i帽向u帽所在的直线投影与u帽向x轴投影看上去完全对称。所以说,如果要问i帽在投影之后落在哪个数上,答案就应该是u帽向x轴投影所得到的数,而u帽向x轴投影得到的数就是u帽的横坐标
  • 因此,根据对称性,将i帽向斜着的数轴上所投影所得到的数,就是u帽的横坐标

  • 以上推理过程对j帽几乎一致。与之前的原因相同,u帽的y坐标给出了j帽向斜着数轴上投影所得到的数

  • 所以描述投影变换的1x2矩阵的两列,就分别是u帽的两个坐标

  • 而空间中任意向量经过投影变换的结果,也就是投影矩阵与这个向量相乘,和这个向量与u帽的点积在计算上完全相同

  • 这就是为什么与单位向量的点积可以解读为——将向量投影到单位向量所在的直线上所得到的投影长度

  • 那对于非单位向量呢?

  • 比如说,还是这个单位向量u帽,不过我们把它放大为原来的3倍。从数值上说,它的每个坐标都被放大为原来的3倍,所以要寻找与这个向量相关的投影矩阵,实际上就是之前i帽和j帽投影得到的值的3倍

  • 更普遍地说,因为这个变换是线性的,意味着这个新矩阵可以看作将任何向量朝斜着的数轴上投影,然后将结果乘以3

  • 这就是为什么向量与给定非单位向量的点积可以解读为——首先朝给定向量上投影,然后将投影的值与给定向量长度相乘

  • 思考一下这个过程,我们有一个从二维空间到数轴的线性变换,它并不是由向量数值或点积运算定义得到的,而只是通过将空间投影到给定数轴上来定义。但是因为这个变换是线性的,所以它必然可以用某个1x2矩阵描述。又因为1x2矩阵与二维向量相乘的计算过程和转置矩阵并求点积的计算过程相同,所以这个投影变换必然会与某个二维向量相关
  • 这里给我们的启发是,在任何时候看到一个线性变换,它的输出空间是一维数轴。无论它是如何定义的,空间中会存在唯一的向量v与之相关。就这一意义而言,应用变换和与向量v做点积是一样的

总结

  • 表面上看,点积是理解投影的有利几何工具,并且方便检验两个向量的指向是否相同

  • 不过更进一步讲,两个向量点乘,就是将其中一个向量转化为线性变换

  • 同样,在数值上强调它可能显得没有意义,因为只是两种看上去恰好相似的计算过程而已。但是这一过程非常重要,因为从始至终我们都在和向量打交道

  • 一旦真正了解了向量的 “个性” ,有时就会意识到,不把它看作空间中的箭头,而把它看作线性变换的物质载体,会更容易理解向量

  • 向量就仿佛是一个特定变换的概念性记号。因为对我们来说,想象空间中的向量比想象整个空间移动到数轴上更加容易

posted @ 2022-03-24 21:31  TNTksals  阅读(165)  评论(0编辑  收藏  举报