笃行
首页
个人 & 心法
互联网/硬件后台
游戏基础架构
UE 引擎
游戏业务
AI / 大模型
数据结构与算法
机器学习数学
通用基础
GitHub
首页
个人 & 心法
互联网/硬件后台
游戏基础架构
UE 引擎
游戏业务
AI / 大模型
数据结构与算法
机器学习数学
通用基础
GitHub
  • 向量入门

    • 看得见的机器学习数学
    • 向量是什么
    • 向量的加减与数乘
    • 线性组合与张成
  • 矩阵与变换

    • 矩阵是一次变换
    • 矩阵乘法
  • 度量与求解

    • 行列式与面积
    • 解方程组就是倒着走回去
    • 特征向量的直觉
    • 点积与相似度
  • 高维与结构

    • 高维空间的直觉
    • 正交基与投影
    • 秩与低秩
    • 长度与归一化
    • 线性与非线性
  • 概率与信息

    • 概率分布与采样
    • 期望与方差
    • 指数与 softmax
    • 对数与信息量
    • 交叉熵
  • 学习与优化

    • 导数就是坡度
    • 梯度下降
    • 链式法则与反向传播

换一组量尺看世界:同一个位置,两种说法

同一个书包放在教室里,你可以说"从门口往里 3 步、往右 2 步",同桌可以说"离黑板 4 步、离窗户 1 步"。书包一动没动,只是你俩用的量尺不一样。

🧠 一句话结论

一套量尺(基)不是唯一的,同一根箭头换一套量尺就换一组读数,但箭头本身纹丝不动。而"某根量尺上的读数是多少",算法就是第九篇的点积——量尺互相垂直时,各根量尺的读数互不干扰,可以各算各的。


场景问题

教室后排丢了个书包,老师让你在电话里告诉保安它在哪。

你说:"从后门进来,往里走 3 步,再往右 2 步。"

保安到了教室,一脸茫然——他是从前门进来的。对他来说,同一个书包得这么说:"从前门进来,往里 5 步,往左 1 步。"

你俩谁说错了吗?都没有。书包从头到尾就搁在那儿,一寸没挪。变的不是书包,是你俩各自选的"从哪儿起步、朝哪两个方向数"——也就是各自的量尺。

那么问题来了:既然量尺可以随便挑,换一套量尺的时候,那组数字该怎么算出来?有没有哪种挑法特别好用?

实现方案

量尺可以有很多套

第三篇讲过:坐标 (3, 2) 的意思是"3 个向右 + 2 个向上"。那两根"向右一格""向上一格"的箭头,就是我们一直在偷偷用的两根量尺。

数学上,一套能把整个平面都拼出来的量尺,叫做一组基——就是"打底的那几根箭头"的意思。

关键在于:基不是唯一的。 换两根别的箭头当量尺,只要它们不躺在同一条直线上,照样能拼出整个平面:

同一个书包青色 = 你的两根量尺 橙色 = 同桌的两根量尺你说:向右 5、向上 3同桌说:斜量尺各走一段

紫色那个点(书包)从头到尾没动。青色量尺下它读作一组数,橙色量尺下读作另一组数。读数变了,箭头没变。

这件事往后会一直用到:所谓"换个角度看数据",几何上就是换一组量尺重新读一遍读数,被看的东西本身完全没被改动。

互相垂直的量尺特别好用

量尺可以随便挑,但有一种挑法明显比别的省事:让量尺互相垂直。

垂直的一组量尺有个专门的名字,叫正交基——"正交"就是"互相垂直"的意思,别被这两个字唬住。

为什么垂直就好用?看下面这组对比:

量尺互相垂直横着量多少,跟竖着量多少完全互不干扰量尺挤在一起动一根的读数,另一根也得跟着改,扯不清

左边量尺垂直:想知道横向读数是多少,只管横向量,竖向那根一点忙都帮不上、也一点乱都添不了。两个读数可以分别算,互不干扰。

右边量尺挤在一起:两根量尺都"部分地朝右",横向的距离两根都能凑一点。想定下读数,得解一道两根量尺互相牵扯的题——费劲,还容易出错。

这就是数学家偏爱正交基的全部原因:垂直 = 互不干扰 = 各算各的。

读数怎么算:就是点积

现在到了关键一步:给定一根箭头和一根量尺,那根量尺上的读数怎么算出来?

答案是第九篇已经讲透的东西——把箭头投影到量尺方向上,投影的长度就是读数。而投影,正是点积干的事。

紫色箭头不动,橙色高亮在两根量尺间轮换横量尺上的读数竖量尺上的读数

盯住这个动画:紫色箭头一动不动,橙色高亮在两根量尺间来回切换。每次高亮的那一段,就是箭头投影到那根量尺上的长度,也就是这根量尺上的读数。

某根量尺上的读数=箭头⋅那根量尺的方向\text{某根量尺上的读数} = \text{箭头} \cdot \text{那根量尺的方向} 某根量尺上的读数=箭头⋅那根量尺的方向

这行的意思是:想知道一根箭头在某根量尺上占多少,就把它和那根量尺的方向做一次点积。

而且在正交基下,这件事特别干净:两根量尺垂直,一根量尺的方向和另一根做点积等于 0(垂直点积为 0,第九篇的结论),所以两根量尺上的读数互不掺和,可以各算各的。把各根量尺的读数按各自方向拼回去,正好一分不多一分不少地还原出原来那根箭头。

换基不改变箭头,只改变说法

把上面几件事串起来,就是这一篇最该记住的一句话:

换一组基 = 换一套读数;箭头本身纹丝不动。

就像书包的例子:你说"往里 3 步往右 2 步",同桌说"离黑板 4 步离窗户 1 步",两组数字完全不同,书包却在同一个地方。数字是描述,不是东西本身。

这件事在工程里被反复利用:同一批数据,换一组量尺来读,有时候规律一下子就显出来了——不是数据变好了,是换了一套更适合它的量尺。

为什么这么做

为什么不干脆规定一套量尺,大家都用,省得换来换去?

因为不同的量尺各有各的方便。描述"教室里的位置",用"离门口多远、离墙多远"最顺;描述"这段文字讲的是什么主题",最顺的那套量尺得从数据里学出来,不可能事先规定。量尺是为了看清事情而挑的工具,不是刻在石头上的规矩。

为什么偏爱互相垂直的量尺?

因为垂直意味着互不干扰:一根量尺上的读数怎么变,都不牵扯另一根。读数可以各算各的,拼回去也一分不差。量尺要是挤在一起,每个读数都得考虑"另一根量尺也贡献了一点",算起来又绕又容易错。

为什么读数正好是点积,这是巧合吗?

不是。"这根箭头在某个方向上占多少"这句话,本身问的就是投影长度——而点积的定义就是投影长度乘上量尺的长度(第九篇)。把量尺的长度取成 1(第十三篇会讲怎么办到),点积算出来就直接是读数。是同一件事的两种说法,不是两件碰巧相等的事。

为什么别的选择不行

错误直觉一:以为换坐标系箭头就变了

"换一套量尺,坐标从 (3,2) 变成 (5,-1),那不就是变了个箭头吗?"

不是。变的是读数,不是箭头。书包一直在教室后排那个位置,你和保安报的数字不一样,只因为你俩从不同的门进来、朝不同的方向数步子。

这个区分特别重要:后面看到"把数据变换到另一个空间"这类说法时,大多数时候数据本身没被改动,只是换了一套量尺来读。分不清这一点,就会以为每一步都在"改数据",其实很多步只是在"换说法"。

错误直觉二:以为基必须互相垂直

不必须。任何两根不躺在同一条直线上的箭头,都能当一组基把整个平面拼出来——夹角 10 度也行,只是难用。

垂直不是要求,是优点:垂直时各根量尺互不干扰,读数能各算各的。挑不垂直的基不会算错,只会算得累。把"好用"和"必须"分清楚,才不会在遇到非垂直的基时以为是哪里错了。

错误直觉三:以为投影是一种近似

"投影不就是把箭头压扁了嘛,肯定丢了东西。"

单看一根量尺上的投影,确实只是箭头的一部分。但在一组正交基下,把所有量尺上的投影都算出来,再按各自方向拼回去,得到的是一分不差的原箭头——什么都没丢。

投影会"丢东西",只发生在你故意只留一部分量尺的时候(那是第十二篇要讲的降维)。量尺留全了,投影分解是精确的,不是近似。

沉淀结论

  1. 一套量尺叫一组基,基不是唯一的——同一个平面可以用很多套不同的量尺来读
  2. 互相垂直的一组量尺叫正交基,好处是各根量尺上的读数互不干扰,能各算各的
  3. 某根量尺上的读数 = 箭头和那根量尺方向的点积,就是第九篇的投影
  4. 换基只换读数,箭头本身纹丝不动——数字是描述,不是东西本身
  5. 在正交基下,把各量尺的投影拼回去能一分不差地还原原箭头,投影分解是精确的,不是近似

记忆口诀

基就是一套量尺,量尺可以有很多套。
垂直的量尺最好用:互不干扰,各算各的。
某根量尺上的读数,就是拿箭头跟它做点积。
换基只换读数,箭头一动没动。
量尺留全了,投影拼回去一分不差。

延伸阅读

  • Attention 里的 Q、K、V:同一批词向量被三个矩阵各投影一次,等于用三套不同的量尺各读一遍——一套用来"提问"、一套用来"应答"、一套用来"取内容"。详见大模型核心原理。
  • 词向量里的"语义方向":所谓"某个方向代表性别""某个方向代表时态",说的就是找到一根特别的量尺,让它上面的读数恰好对应某种含义。详见大模型核心原理。

自测:合上资料能说清楚吗?

  1. 同一个书包,你说 (3, 2),同桌说 (5, -1)。到底是谁错了?
参考答案

谁都没错。 变的是读数,不是书包。你俩各自选了不同的起点和不同的两根量尺,同一个位置在不同量尺下自然读出不同的数字。这就是"换基只换读数,箭头本身纹丝不动"。

  1. 为什么数学家偏爱互相垂直的量尺?垂直是必须的吗?
参考答案

因为垂直意味着互不干扰:一根量尺上的读数怎么变都不牵扯另一根,读数能各算各的,拼回去也一分不差。

但垂直不是必须的——任何两根不在同一条直线上的箭头都能当一组基。垂直只是好用,不垂直不会算错,只会算得累(每个读数都得考虑另一根量尺也贡献了一点)。

  1. 已知一根箭头和一根量尺,怎么算出这根量尺上的读数?
参考答案

做点积:把箭头和那根量尺的方向做一次点积,得到的就是箭头投影到这根量尺上的长度,也就是读数。这不是巧合——"在某个方向上占多少"问的本来就是投影长度,而点积的定义就是投影长度乘量尺长度。量尺长度取 1 时,点积直接就是读数。

  1. 投影会不会丢掉信息?
参考答案

看你留了几根量尺。 单看一根量尺上的投影,确实只是箭头的一部分;但在一组正交基下把所有量尺上的投影都算出来、再按各自方向拼回去,得到的是一分不差的原箭头,什么都没丢。

投影"丢东西"只发生在你故意只留一部分量尺的时候(那是降维)。量尺留全了,投影分解是精确的,不是近似。

  1. 听到"把数据变换到另一个空间",通常意味着数据被改动了吗?
参考答案

大多数时候没有。 那句话往往说的就是"换一套量尺重新读一遍读数"——被看的东西本身没被改动,只是换了个说法。之所以要换,是因为有些量尺下规律看得更清楚。分不清这一点,就会误以为每一步都在改数据,其实很多步只是在换描述方式。

最近更新: 2026/9/10 11:38
Prev
高维空间的直觉
Next
秩与低秩