换一组量尺看世界:同一个位置,两种说法
同一个书包放在教室里,你可以说"从门口往里 3 步、往右 2 步",同桌可以说"离黑板 4 步、离窗户 1 步"。书包一动没动,只是你俩用的量尺不一样。
🧠 一句话结论
一套量尺(基)不是唯一的,同一根箭头换一套量尺就换一组读数,但箭头本身纹丝不动。而"某根量尺上的读数是多少",算法就是第九篇的点积——量尺互相垂直时,各根量尺的读数互不干扰,可以各算各的。
场景问题
教室后排丢了个书包,老师让你在电话里告诉保安它在哪。
你说:"从后门进来,往里走 3 步,再往右 2 步。"
保安到了教室,一脸茫然——他是从前门进来的。对他来说,同一个书包得这么说:"从前门进来,往里 5 步,往左 1 步。"
你俩谁说错了吗?都没有。书包从头到尾就搁在那儿,一寸没挪。变的不是书包,是你俩各自选的"从哪儿起步、朝哪两个方向数"——也就是各自的量尺。
那么问题来了:既然量尺可以随便挑,换一套量尺的时候,那组数字该怎么算出来?有没有哪种挑法特别好用?
实现方案
量尺可以有很多套
第三篇讲过:坐标 (3, 2) 的意思是"3 个向右 + 2 个向上"。那两根"向右一格""向上一格"的箭头,就是我们一直在偷偷用的两根量尺。
数学上,一套能把整个平面都拼出来的量尺,叫做一组基——就是"打底的那几根箭头"的意思。
关键在于:基不是唯一的。 换两根别的箭头当量尺,只要它们不躺在同一条直线上,照样能拼出整个平面:
紫色那个点(书包)从头到尾没动。青色量尺下它读作一组数,橙色量尺下读作另一组数。读数变了,箭头没变。
这件事往后会一直用到:所谓"换个角度看数据",几何上就是换一组量尺重新读一遍读数,被看的东西本身完全没被改动。
互相垂直的量尺特别好用
量尺可以随便挑,但有一种挑法明显比别的省事:让量尺互相垂直。
垂直的一组量尺有个专门的名字,叫正交基——"正交"就是"互相垂直"的意思,别被这两个字唬住。
为什么垂直就好用?看下面这组对比:
左边量尺垂直:想知道横向读数是多少,只管横向量,竖向那根一点忙都帮不上、也一点乱都添不了。两个读数可以分别算,互不干扰。
右边量尺挤在一起:两根量尺都"部分地朝右",横向的距离两根都能凑一点。想定下读数,得解一道两根量尺互相牵扯的题——费劲,还容易出错。
这就是数学家偏爱正交基的全部原因:垂直 = 互不干扰 = 各算各的。
读数怎么算:就是点积
现在到了关键一步:给定一根箭头和一根量尺,那根量尺上的读数怎么算出来?
答案是第九篇已经讲透的东西——把箭头投影到量尺方向上,投影的长度就是读数。而投影,正是点积干的事。
盯住这个动画:紫色箭头一动不动,橙色高亮在两根量尺间来回切换。每次高亮的那一段,就是箭头投影到那根量尺上的长度,也就是这根量尺上的读数。
这行的意思是:想知道一根箭头在某根量尺上占多少,就把它和那根量尺的方向做一次点积。
而且在正交基下,这件事特别干净:两根量尺垂直,一根量尺的方向和另一根做点积等于 0(垂直点积为 0,第九篇的结论),所以两根量尺上的读数互不掺和,可以各算各的。把各根量尺的读数按各自方向拼回去,正好一分不多一分不少地还原出原来那根箭头。
换基不改变箭头,只改变说法
把上面几件事串起来,就是这一篇最该记住的一句话:
换一组基 = 换一套读数;箭头本身纹丝不动。
就像书包的例子:你说"往里 3 步往右 2 步",同桌说"离黑板 4 步离窗户 1 步",两组数字完全不同,书包却在同一个地方。数字是描述,不是东西本身。
这件事在工程里被反复利用:同一批数据,换一组量尺来读,有时候规律一下子就显出来了——不是数据变好了,是换了一套更适合它的量尺。
为什么这么做
为什么不干脆规定一套量尺,大家都用,省得换来换去?
因为不同的量尺各有各的方便。描述"教室里的位置",用"离门口多远、离墙多远"最顺;描述"这段文字讲的是什么主题",最顺的那套量尺得从数据里学出来,不可能事先规定。量尺是为了看清事情而挑的工具,不是刻在石头上的规矩。
为什么偏爱互相垂直的量尺?
因为垂直意味着互不干扰:一根量尺上的读数怎么变,都不牵扯另一根。读数可以各算各的,拼回去也一分不差。量尺要是挤在一起,每个读数都得考虑"另一根量尺也贡献了一点",算起来又绕又容易错。
为什么读数正好是点积,这是巧合吗?
不是。"这根箭头在某个方向上占多少"这句话,本身问的就是投影长度——而点积的定义就是投影长度乘上量尺的长度(第九篇)。把量尺的长度取成 1(第十三篇会讲怎么办到),点积算出来就直接是读数。是同一件事的两种说法,不是两件碰巧相等的事。
为什么别的选择不行
错误直觉一:以为换坐标系箭头就变了
"换一套量尺,坐标从 (3,2) 变成 (5,-1),那不就是变了个箭头吗?"
不是。变的是读数,不是箭头。书包一直在教室后排那个位置,你和保安报的数字不一样,只因为你俩从不同的门进来、朝不同的方向数步子。
这个区分特别重要:后面看到"把数据变换到另一个空间"这类说法时,大多数时候数据本身没被改动,只是换了一套量尺来读。分不清这一点,就会以为每一步都在"改数据",其实很多步只是在"换说法"。
错误直觉二:以为基必须互相垂直
不必须。任何两根不躺在同一条直线上的箭头,都能当一组基把整个平面拼出来——夹角 10 度也行,只是难用。
垂直不是要求,是优点:垂直时各根量尺互不干扰,读数能各算各的。挑不垂直的基不会算错,只会算得累。把"好用"和"必须"分清楚,才不会在遇到非垂直的基时以为是哪里错了。
错误直觉三:以为投影是一种近似
"投影不就是把箭头压扁了嘛,肯定丢了东西。"
单看一根量尺上的投影,确实只是箭头的一部分。但在一组正交基下,把所有量尺上的投影都算出来,再按各自方向拼回去,得到的是一分不差的原箭头——什么都没丢。
投影会"丢东西",只发生在你故意只留一部分量尺的时候(那是第十二篇要讲的降维)。量尺留全了,投影分解是精确的,不是近似。
沉淀结论
- 一套量尺叫一组基,基不是唯一的——同一个平面可以用很多套不同的量尺来读
- 互相垂直的一组量尺叫正交基,好处是各根量尺上的读数互不干扰,能各算各的
- 某根量尺上的读数 = 箭头和那根量尺方向的点积,就是第九篇的投影
- 换基只换读数,箭头本身纹丝不动——数字是描述,不是东西本身
- 在正交基下,把各量尺的投影拼回去能一分不差地还原原箭头,投影分解是精确的,不是近似
记忆口诀
基就是一套量尺,量尺可以有很多套。
垂直的量尺最好用:互不干扰,各算各的。
某根量尺上的读数,就是拿箭头跟它做点积。
换基只换读数,箭头一动没动。
量尺留全了,投影拼回去一分不差。
延伸阅读
- Attention 里的 Q、K、V:同一批词向量被三个矩阵各投影一次,等于用三套不同的量尺各读一遍——一套用来"提问"、一套用来"应答"、一套用来"取内容"。详见大模型核心原理。
- 词向量里的"语义方向":所谓"某个方向代表性别""某个方向代表时态",说的就是找到一根特别的量尺,让它上面的读数恰好对应某种含义。详见大模型核心原理。
自测:合上资料能说清楚吗?
- 同一个书包,你说 (3, 2),同桌说 (5, -1)。到底是谁错了?
参考答案
谁都没错。 变的是读数,不是书包。你俩各自选了不同的起点和不同的两根量尺,同一个位置在不同量尺下自然读出不同的数字。这就是"换基只换读数,箭头本身纹丝不动"。
- 为什么数学家偏爱互相垂直的量尺?垂直是必须的吗?
参考答案
因为垂直意味着互不干扰:一根量尺上的读数怎么变都不牵扯另一根,读数能各算各的,拼回去也一分不差。
但垂直不是必须的——任何两根不在同一条直线上的箭头都能当一组基。垂直只是好用,不垂直不会算错,只会算得累(每个读数都得考虑另一根量尺也贡献了一点)。
- 已知一根箭头和一根量尺,怎么算出这根量尺上的读数?
参考答案
做点积:把箭头和那根量尺的方向做一次点积,得到的就是箭头投影到这根量尺上的长度,也就是读数。这不是巧合——"在某个方向上占多少"问的本来就是投影长度,而点积的定义就是投影长度乘量尺长度。量尺长度取 1 时,点积直接就是读数。
- 投影会不会丢掉信息?
参考答案
看你留了几根量尺。 单看一根量尺上的投影,确实只是箭头的一部分;但在一组正交基下把所有量尺上的投影都算出来、再按各自方向拼回去,得到的是一分不差的原箭头,什么都没丢。
投影"丢东西"只发生在你故意只留一部分量尺的时候(那是降维)。量尺留全了,投影分解是精确的,不是近似。
- 听到"把数据变换到另一个空间",通常意味着数据被改动了吗?
参考答案
大多数时候没有。 那句话往往说的就是"换一套量尺重新读一遍读数"——被看的东西本身没被改动,只是换了个说法。之所以要换,是因为有些量尺下规律看得更清楚。分不清这一点,就会误以为每一步都在改数据,其实很多步只是在换描述方式。