
基底与对偶用 maths-cs-ai-compendium 的直觉讲透线性代数的坐标系、换基与对偶空间【免费下载链接】maths-cs-ai-compendiumBecome a cracked AI/ML researcher/engineer with this unconventional textbook covering maths, computing, and ML with intuition.项目地址: https://gitcode.com/GitHub_Trending/mat/maths-cs-ai-compendium基底定义了向量空间的坐标系而对偶性揭示了线性函数如何作用于向量。本篇基于 maths-cs-ai-compendium「向量」章第 5 节《Basis and Duality》展开先厘清线性无关、张成、维度与标准基再用「两个朋友指路」的咖啡馆故事讲透换基矩阵 P 与 P⁻¹最后上升到线性泛函、对偶基与 Kronecker delta并落地到 PCA、特征变换与 Transformer 注意力中 Query/Key 等 ML 实战场景。读完你将能亲手用 JAX 完成换基验证、对偶基构造与正交归一陷阱检验。一、什么是基底维度从何而来上一节 向量空间 告诉我们向量生活在一个拥有若干维度的空间里。但真正的问题是——这些维度是由什么定义的答案就是基底向量basis vectors。基底是这样一个向量集合通过缩放与相加即线性组合可以构造出空间中的每一个其他向量并且集合内部没有任何冗余。它们是构成整个空间的「积木块」。一个集合要成为基底必须同时满足两个条件线性无关Linearly Independent没有任何一个基向量可以由其他基向量线性组合而成。每个基向量都贡献了一个真正新的方向不能由同伴拼出来。张成Spanning空间中的每一个向量都可以表示为基向量的线性组合。没有任何一个向量被遗漏在积木块的覆盖范围之外。基底中的向量个数恰好等于空间的维度dimension。在 $\mathbb{R}^2$ 需要 2 个在 $\mathbb{R}^3$ 需要 3 个以此类推。这正好呼应了 向量空间 中「维度是空间中独立方向的数量」的定义——基底就是把这句抽象定义具体化独立方向 线性无关的基向量。最自然的基底是标准基standard basis即沿各坐标轴的单位向量在 $\mathbb{R}^2$ 中$\hat{\mathbf{i}} (1, 0)$、$\hat{\mathbf{j}} (0, 1)$在 $\mathbb{R}^3$ 中$\hat{\mathbf{i}} (1, 0, 0)$、$\hat{\mathbf{j}} (0, 1, 0)$、$\hat{\mathbf{k}} (0, 0, 1)$于是任意向量都只是基向量的加权和。向量 $(3, 2)$ 本质上是 $3\hat{\mathbf{i}} 2\hat{\mathbf{j}}$。这里的权重 3 和 2就是该向量在这个基底下的坐标coordinates。标准基不是唯一的选择标准基只是「看起来最自然」但绝非唯一合法基底。在 $\mathbb{R}^2$ 中向量 $(1, 1)$ 和 $(-1, 1)$ 同样构成一组基底它们线性无关且能到达平面上的任意一点。同一个向量在换到这套新基底后会得到一组不同的坐标——点没动描述它的语言变了。二、换基Change of Basis同一家咖啡馆两种指路语言换基就是用另一套基底重新表达同一个向量。向量本身没有移动我们只是换了一个观察视角去描述它。换基的数学操作是乘以一个换基矩阵change of basis matrixPP 的列就是新基向量用旧坐标写出。要换回去就乘以 $P^{-1}$。咖啡馆比喻两条指路系统把这件事想成两个朋友给同一家咖啡馆指路你按街道指路$(3, 2)$ 表示「向东 3 个街区向北 2 个街区」。你的朋友按斜线指路以 $\mathbf{b}_1 (1, 1)$东北方向和 $\mathbf{b}_2 (-1, 1)$西北方向为新基底。朋友说咖啡馆在 $(2.5, -0.5)$「沿着我的东北对角线走 2.5 步再沿着我的西北对角线倒退半步」。要翻译成你的街道语言只需照着他的配方执行$$2.5 \begin{bmatrix} 1 \ 1 \end{bmatrix} - 0.5 \begin{bmatrix} -1 \ 1 \end{bmatrix} \begin{bmatrix} 3 \ 2 \end{bmatrix}$$还是你口中的 $(3, 2)$——同一家咖啡馆「照配方执行」这一步骤正是乘以 P 所做的事。把朋友的基向量按列堆叠成 P乘以朋友的坐标向量就等价于「取第一列的 2.5 倍加上第二列的 −0.5 倍」$$P \begin{bmatrix} 1 -1 \ 1 1 \end{bmatrix}, \qquad P \begin{bmatrix} 2.5 \ -0.5 \end{bmatrix} \begin{bmatrix} 3 \ 2 \end{bmatrix}$$反向翻译即把你的 $(3, 2)$ 换回朋友的语言意味着撤销这个配方——撤销 P 的运算正是 $P^{-1}$$$P^{-1} \begin{bmatrix} 3 \ 2 \end{bmatrix} \begin{bmatrix} 2.5 \ -0.5 \end{bmatrix}$$什么都没移动。$(3, 2)$ 与 $(2.5, -0.5)$ 是同一个点的两种描述P 就是两套语言之间的「字典」。与线性变换的联系如果你读过 线性变换 一节会发现一个微妙而重要的区别那里的矩阵列向量描述的是「变换把标准基向量送去了哪里」如旋转、缩放、反射、剪切而换基矩阵的列向量描述的是「新基底向量在旧坐标系中的坐标」。两者都依赖「矩阵的列 基向量的去处/所在」这一事实但一个改变向量本身一个只改变对同一向量的描述方式。抓住这条线后面理解特征基eigenbasis与对角化矩阵分解会顺畅得多。三、换基在 ML 中的典型应用换基在机器学习中无处不在原文明确点出的场景包括PCA主成分分析找到一套新基底主成分其坐标轴与数据方差最大的方向对齐让数据在新坐标系下更易理解。从原理看PCA 正是用特征分解或 SVD 找出协方差矩阵的特征向量作为新基底把数据投影过去——详见 矩阵分解 中关于特征分解、SVD 与 PCA 的展开。特征向量方向只被拉伸不被旋转天然构成描述数据变化的最佳坐标系。特征变换feature transforms把原始特征空间线性变换到更能刻画数据结构的新空间中本质就是在换基底。注意力机制的 QueryTransformer 中一组向量「查询query」另一组向量本质上就是一种对偶作用详见下文第五节与 Transformers 与语言模型。四、线性泛函与对偶空间坐标的本质更深一层的洞见藏在坐标的定义里。当我们写 $\mathbf{v} (3, 2)$ 时坐标 3 和 2 其实是「沿着各基向量方向测量v」的结果第一个坐标回答「v 里有多少 $\hat{\mathbf{i}}$ 的成分」第二个回答「v 里有多少 $\hat{\mathbf{j}}$ 的成分」。在咖啡馆故事里这些测量就是朋友的问题「你沿着我的东北对角线走了多远」「沿着我的西北对角线走了多远」——每套基底都自带一套问题每个方向一个问题。每个这样的问题都是一个线性泛函linear functional一个输入向量、输出一个数字读数的函数。线性意味着它尊重向量空间的两个运算——测量两个向量之和等于读数之和向量加倍读数加倍$$f(\mathbf{u} \mathbf{v}) f(\mathbf{u}) f(\mathbf{v}), \qquad f(c\mathbf{v}) c,f(\mathbf{v})$$换句话说线性泛函是诚实的尺子honest rulers。向量是被测的物体线性泛函是测量它们的尺子而所有可能的尺子的集合构成对偶空间dual space$V^\ast$。对偶基与 Kronecker delta一把只答一个问题的尺对每一套基底 ${\mathbf{e}_1, \mathbf{e}_2, \ldots, \mathbf{e}_n}$都有一组配套的尺子即对偶基dual basis${\mathbf{e}_1^\ast, \mathbf{e}_2^\ast, \ldots, \mathbf{e}_n^\ast}$其中 $\mathbf{e}_i^\ast$ 恰好回答一个问题「v 里有几步 $\mathbf{e}i$」一把校准良好的尺子在自家基向量上读数为 1对其他基向量完全忽略——用Kronecker delta$\delta{ij}$ 可以写成一行\mathbf{e}_i^\ast(\mathbf{e}_j) \delta_{ij} \begin{cases} 1 \text{if } i j \\ 0 \text{if } i \neq j \end{cases}这条小小的校准规则就是尺子的全部所需因为线性会处理其余一切。看 $\mathbf{e}_1^\ast$ 读取 $\mathbf{v} 3\mathbf{e}_1 2\mathbf{e}_2$ 的第一个坐标$$\mathbf{e}_1^\ast(3\mathbf{e}_1 2\mathbf{e}_2) 3,\mathbf{e}_1^\ast(\mathbf{e}_1) 2,\mathbf{e}_1^\ast(\mathbf{e}_2) 3 \cdot 1 2 \cdot 0 3$$尺子忽略除自己之外的所有方向只报告坐标。坐标本质上就是对偶基的读数。五、P⁻¹ 的行就是对偶基两半合而为一尺子具体长什么样在 $\mathbb{R}^n$ 中每个线性泛函都只是一行数字配合点积来应用。而且在前面的咖啡馆例子中我们其实已经不知不觉地建好了尺子把 $(3, 2)$ 翻译成朋友的语言需要乘以 $P^{-1}$而 $P^{-1}$ 的每一行恰好产生一个坐标——P⁻¹ 的行就是对偶基$$P^{-1} \frac{1}{2}\begin{bmatrix} 1 1 \ -1 1 \end{bmatrix} \quad\Rightarrow\quad \mathbf{b}_1^\ast (0.5,\ 0.5), \qquad \mathbf{b}_2^\ast (-0.5,\ 0.5)$$用咖啡馆之旅验证$\mathbf{b}_1^\ast \cdot (3, 2) 0.5 \cdot 3 0.5 \cdot 2 2.5$正好是朋友给出的第一个坐标。这一节的两半其实是同一个思想换基交换的是积木块基向量对偶基则是配套的尺子用来读出新坐标系下的坐标。校准规则其实也一直藏在明处$P^{-1}P I$ 恰恰说明尺子 $i$ 在基向量 $i$ 上读数为 1、在其他基向量上读数为 0——单位矩阵就是把 Kronecker delta 写成表格的样子。一个必须警惕的陷阱正交归一基底才能用捷径一个常见的诱惑是猜测「量 $\mathbf{b}_1$ 的尺子就是 $\mathbf{b}_1$ 自己」即直接与 $(1, 1)$ 做点积。但 $(1, 1) \cdot (3, 2) 5$是真实坐标 2.5 的两倍。只有当基底是正交归一的orthonormal彼此垂直且长度均为 1比如标准基点积一个基向量本身才能读出它自己的坐标。这是 $\mathbf{e}_1^\ast$ 恰好看起来与 $\mathbf{e}_1$ 相同的唯一原因。对一切其他基底尺子都住在 $P^{-1}$ 的行里。记住这一点能避免在特征变换和 PCA 手动推导坐标时犯致命错误。点积的双重身份对偶配对duality pairing这也解释了点积的「双重生活」。每个向量 $\mathbf{u}$ 都在暗中定义了一把尺子用 $\mathbf{u} \cdot \mathbf{v}$ 测量 v而每把尺子都是与某个向量的点积。在有限维空间中对偶空间本质上是原空间的镜像。这与 向量乘积 中「点积衡量方向一致性、是投影与余弦相似度的基础」完全衔接投影 $\mathrm{proj}_{\mathbf{b}}(\mathbf{a}) \frac{\mathbf{a}\cdot\mathbf{b}}{|\mathbf{b}|^2}\mathbf{b}$ 中的分子就是「用 b 定义的那把尺子去测 a」。六、对偶性如何渗透进现代 ML对偶性看起来抽象却支撑着大量实用思想原文在结尾将其串联坐标就是对偶基的求值任何特征向量的每个分量都可以看作某个线性泛函对该向量的读数。点积是一种对偶配对相似度、注意力分数、投影的本质都是「一把尺子量另一个向量」。注意力机制中的 Query 是对偶在行动在 Transformer 中Query 向量被用来「询问」Key 向量——$\text{softmax}(QK^T/\sqrt{d_k})V$见 Transformers 与语言模型。把 Q 理解为一系列要提的问题线性泛函/尺子把 K 理解为被测量的内容注意力分数正是对偶配对的批量计算。这也是原文强调「Transformers 是现代最主流的线性变换堆叠」在直觉层面的根。七、动手实验用 JAX 验证换基、对偶基与陷阱原文提供了两个可直接在 Colab 或 Jupyter Notebook 中运行的 JAX 实验完整继承如下。实验 1在两个基底中表达同一个向量并验证用jnp.linalg.solve求解 $P,\mathbf{c} \mathbf{v}$ 得到新坐标再用新坐标重构原向量验证两种描述指向同一点import jax.numpy as jnp v jnp.array([3.0, 2.0]) # Standard basis: coordinates are just the components print(fStandard basis coords: {v}) # New basis: (1,1) and (-1,1) P jnp.array([[1.0, -1.0], [1.0, 1.0]]) new_coords jnp.linalg.solve(P, v) print(fNew basis coords: {new_coords}) # Verify: reconstruct from new coords reconstructed new_coords[0] * P[:, 0] new_coords[1] * P[:, 1] print(fReconstructed: {reconstructed})注意这里用jnp.linalg.solve数值稳定的线性求解而不是显式求逆后相乘——这正是 矩阵分解 中「用分解求解方程组比显式求逆更快更稳」的实战体现。new_coords应得到[2.5, -0.5]重构结果应精确回到[3.0, 2.0]。尝试更换你自己的基向量例如 $(2,0)$ 与 $(0,3)$观察同一向量在新坐标系下的坐标如何随基底变化。实验 2构造对偶基并验证校准规则与陷阱取任务 1 中 P 的行即 $P^{-1}$ 的行作为对偶基验证每把尺子恰好读出一个坐标再对比「直接与基向量做点积」这一错误捷径直观理解为什么它只在正交归一基下成立import jax.numpy as jnp v jnp.array([3.0, 2.0]) # The friends basis (1,1) and (-1,1), stacked as columns P jnp.array([[1.0, -1.0], [1.0, 1.0]]) # The dual basis: the rows of P^{-1} P_inv jnp.linalg.inv(P) b1_star, b2_star P_inv[0], P_inv[1] print(fb1* {b1_star}, b2* {b2_star}) # Each ruler reads one coordinate in the friends basis (matches task 1!) print(fb1*(v) {jnp.dot(b1_star, v)}) # 2.5 print(fb2*(v) {jnp.dot(b2_star, v)}) # -0.5 # Calibration: 1 on its own basis vector, 0 on the other print(fb1*(b1) {jnp.dot(b1_star, P[:, 0])}, b1*(b2) {jnp.dot(b1_star, P[:, 1])}) # The trap: dotting with b1 itself does NOT give the coordinate print(fb1 . v {jnp.dot(P[:, 0], v)} (5.0, not 2.5 -- b1 is not orthonormal)) # The standard basis IS orthonormal, so there the shortcut works e1 jnp.array([1.0, 0.0]) print(fe1 . v {jnp.dot(e1, v)} (3.0, the first standard coordinate))运行结果应看到b1*(b1) 1.0而b1*(b2) 0.0Kronecker delta 校准规则b1 . v 5.0不等于真实坐标 2.5非正交归一基下的陷阱而标准基e1 . v 3.0恰好命中第一个坐标。建议进一步把 $P$ 换成正交归一的旋转矩阵如 $R(45°)$见 线性变换观察此时「点积基向量本身」的捷径为何重新成立。八、速查小结概念一句话定义关键事实基底能线性组合出全空间且无冗余的向量集线性无关 张成二者缺一不可维度基底中向量的个数$\mathbb{R}^n$ 的维度为 n标准基各坐标轴上的单位向量$\hat{\mathbf{i}}, \hat{\mathbf{j}}, \hat{\mathbf{k}}$坐标基向量的加权系数是对偶基读数的结果换基矩阵 P列 新基向量的旧坐标正向乘 P反向乘 $P^{-1}$线性泛函向量 → 数且保持线性尊重加法与缩放是「诚实的尺」对偶空间 $V^\ast$全体线性泛函的集合有限维下与原空间互为镜像对偶基每把尺只答一个坐标问题$\mathbf{e}_i^\ast(\mathbf{e}j)\delta{ij}$$P^{-1}$ 的行新基底的对偶基逐行即各方向的尺子正交归一基底互相垂直、长度 1此时尺子才等于基向量本身一句话收束全文基底定义了坐标系积木块对偶基定义了配套的测量系统尺子换基矩阵 P 与它的逆 $P^{-1}$ 在两套语言之间互译——而 PCA 的坐标轴、特征变换、注意力机制中的 Query/Key 交互都是这套「块与尺」思想在现代 AI 里的直接应用。继续深入可在 向量乘积 复习点积与投影在 矩阵分解 看到特征基如何让矩阵对角化在 Transformers 与语言模型 见证对偶性如何驱动注意力计算。【免费下载链接】maths-cs-ai-compendiumBecome a cracked AI/ML researcher/engineer with this unconventional textbook covering maths, computing, and ML with intuition.项目地址: https://gitcode.com/GitHub_Trending/mat/maths-cs-ai-compendium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考