跳转至

讲解稿 · 第 01 章 第 01 节:向量空间

时长:约 15–20 分钟|字数:约 2600 字|语气:口语化、第二人称


开场钩子(约 1 分钟)

好,先别急着打开教材。

我问你一个问题:如果我说"向量空间"这四个字,你脑子里第一反应是什么?是不是那种教材开头一口气砸下来的十条公理?加法封闭、标量乘法封闭、交换律、结合律、分配律……看到这里你可能已经想合上书了。

我特别理解这种感觉。学线性代数最容易劝退新手的,不是公式复杂,而是顺序错了。教材一上来就把十条公理糊你脸上,你还没建立任何直觉,就先陷进符号海洋里。

所以这一节,咱们换一个走法。

我先请你把向量空间想象成一座游乐园——里面住着一群可以相加、可以被缩放的"居民"。然后我们借身高体重年龄这种日常特征,把抽象的定义落到具体的人身上。最后,咱们再回头把十条公理拿出来"追认"一下。

等你听完,你会有一种感觉:"哦,原来那十条公理只是把我一直在做的事写下来而已。"这份笃定,就是我想让你带进第 02 节的东西。

准备好了吗?咱们进园。


核心概念一:向量空间是个"游乐园"(约 3 分钟)

先给你一个最朴素的画面。

向量空间 (Vector Space) 是一个特别的乐园,里面住着各种数学对象,每一个对象就叫做一个向量 (vector)。

那这个乐园有什么规矩?两条:

第一,园里任意两个向量可以相加,加完还得留在园里; 第二,园里任意一个向量可以被一个数缩放,缩完也还得留在园里。

注意听我这句话——"结果始终不逃出这个空间"。这句话是整个向量空间概念的灵魂,也是后面子空间、线性映射、矩阵一切内容的根。它有个专业名字,叫封闭性 (closure)。

我给你举个反例,你立马就能明白封闭性有多重要。

整数集 \(\mathbb{Z}\) 在实数域上算不算向量空间?听起来好像挺规整对吧,整数嘛。但你把 \(3\) 缩放 \(0.5\) 试试,得到 \(1.5\)——这个数不在整数集里了。它逃出去了。所以整数集在实数域上不是向量空间。

看到没?"不逃出去"这句话可不是白写的。

好,接着我们把向量落到坐标上。为了后面 ML 里的几何直觉,你就把向量当作欧几里得空间里的一个点,用它的坐标来表示。一个向量 \(\mathbf{a}\),数学上一般用加粗的小写字母写,它有 \(n\) 个坐标,每个坐标代表沿某个坐标轴的位置:

\[\mathbf{a} = [a_1, a_2, a_3]\]

顺便提一句约定:默认向量是列向量,但为了省地方,我行内写成横的,你心里知道它其实是竖着的就行。


核心概念二:加法和缩放到底在干嘛(约 3 分钟)

现在咱们把那两条规矩拆开看。

第一条,向量加法 (Vector Addition)。

你别把加法想成算术,把它想成移动指令的合并。向量 A 意思是"往前走 3 步",向量 B 意思是"往右走 2 步",那 \(\mathbf{A} + \mathbf{B}\) 得到的新指令就是"往前 3 步、再往右 2 步"。几何上就是:把一个向量的起点接到另一个向量的终点,最后从原点画到终点。

公式上,两个二维向量 \(\mathbf{a} = (a_1, a_2)\) 和 \(\mathbf{b} = (b_1, b_2)\) 相加就是逐坐标加:

\[\mathbf{a} + \mathbf{b} = (a_1 + b_1,\ a_2 + b_2)\]

第二条,标量乘法 (Scalar Multiplication)。

拿一个普通数——数学里叫"标量"——去乘一个向量,就是沿原方向按比例拉伸或反向。"往前 3 步"乘以 \(2\) 就是"往前 6 步",乘以 \(-1\) 整个反过来变成"往后 3 步"。

\[c\mathbf{v} = (cv_1,\ cv_2)\]

就这么简单。所以其实你从小到大做的向量运算,本质就在做这两件事:合并指令、缩放指令。

⏸️ 暂停思考 · 第一次

停一下,我想让你自己判断一件事:"过原点的一条直线" 是不是向量空间? 在直线上任取两个向量相加,会不会跑出这条直线?把直线上某个向量乘以 \(-2\),会不会跑出去? 试着在脑子里画一下再往下听。


核心概念三:用一个"人"来理解向量(约 3 分钟)

抽象了这么久,咱们来点具体的。

你把任何一个对象——比如一个人——都可以表示成一个向量。举个栗子:\(h_1\) 是身高(cm),\(h_2\) 是体重(kg),\(h_3\) 是年龄。那这个人就是:

\[\mathbf{h} = [185,\ 75,\ 30]\]

你看,我们已经造出了一个向量空间,里面的每一个向量就代表一个人。你能同时装下 Alice、Bob、Carol——三个人,三个向量。谁跟谁"靠得近"、谁跟谁"离得远",一目了然。

这种向量,在机器学习里有个专门的名字,叫特征向量 (feature vector)。你手上独特而有意义的特征越多,特征向量就越有描述力。这一点很重要,别忘了。

问题是:一旦超过 3 维,向量就没法用眼睛看了。你想想,一张 \(28 \times 28\) 的灰度图,是 \(784\) 个像素强度值,也就是 \(\mathbb{R}^{784}\) 里的一个向量。你眼睛还能看出这 784 维空间里两个点谁离谁近吗?看不出来。

所以人类才发明了一整门数学去处理它——线性代数 (Linear Algebra)。说白了,线性代数就是研究向量、向量空间,以及向量之间的映射的学问。而在 AI/ML 里,我们几乎把所有东西——文本、图像、音频、用户、商品——都表示成向量。所以线性代数就是这个领域的基石。

再多举几个"意想不到"的向量空间:

  • 一张 \(28 \times 28\) 的灰度图,是 \(\mathbb{R}^{784}\) 里的一个向量。两张图相加就是混合,一张图乘 \(2\) 就是调亮。
  • 一段 44.1kHz 采样、1 秒的音频,就是一个 \(44{,}100\) 维的向量。两段音频混合,就是向量加法。
  • 多项式也是向量。两个多项式相加还是多项式,乘一个数也还是多项式。向量不一定长得像箭头。

明白了这一点,你的世界会突然打开:几乎所有能被"加"和"缩放"的东西,都是向量。


公式推导:十条公理,事后追认(约 4 分钟)

好,现在你有直觉了,咱们回头把那份"规则手册"读一遍。别害怕,你会发现它们全是你已经在做的事情。

先说两条封闭性——这是"不逃出去"的正式说法:

  • 加法封闭性:\(\mathbf{u}, \mathbf{v} \in V \Rightarrow \mathbf{u} + \mathbf{v} \in V\)
  • 标量乘法封闭性:\(\mathbf{v} \in V,\ c \in F \Rightarrow c\mathbf{v} \in V\)

就这俩,是灵魂。剩下八条其实是加法的四条 + 标量乘法的四条。

加法层面的四条:

  • 交换律:\(\mathbf{u} + \mathbf{v} = \mathbf{v} + \mathbf{u}\)——先走 \(\mathbf{u}\) 再走 \(\mathbf{v}\),跟先走 \(\mathbf{v}\) 再走 \(\mathbf{u}\),都到同一个点。平行四边形法则你早就见过。
  • 结合律:\((\mathbf{u} + \mathbf{v}) + \mathbf{w} = \mathbf{u} + (\mathbf{v} + \mathbf{w})\)——加的顺序括号怎么放都一样。
  • 零向量存在:\(\mathbf{v} + \mathbf{0} = \mathbf{v}\)——加"啥也不动",等于没加。
  • 加法逆元:每个 \(\mathbf{v}\) 都有 \(-\mathbf{v}\) 让 \(\mathbf{v} + (-\mathbf{v}) = \mathbf{0}\)——你走出去总能走回来。

标量乘法层面的四条:

  • 两条分配律:\(c(\mathbf{u} + \mathbf{v}) = c\mathbf{u} + c\mathbf{v}\) 和 \((c + d)\mathbf{v} = c\mathbf{v} + d\mathbf{v}\)。
  • 结合律:\((cd)\mathbf{v} = c(d\mathbf{v})\)——先乘再乘,跟合起来乘一样。
  • 单位元:\(1\mathbf{v} = \mathbf{v}\)——乘以 \(1\) 相当于啥也没干。

你数一数,两条封闭 + 四条加法 + 四条标乘 = 十条。就这些。

⏸️ 暂停思考 · 第二次

我问你个问题:"次数不超过 3 的多项式" 这个集合,构成向量空间吗? 两个 3 次多项式相加,次数还会超过 3 吗?一个 3 次多项式乘以任意实数,次数会变吗?零多项式在不在里面?每个多项式都有相反数吗? 你按这十条挨个过一遍,答案自然就出来了。


应用场景:子空间与 PCA(约 3 分钟)

最后咱们讲一个特别有用的概念——子空间 (subspace)。

子空间就是大乐园里嵌套的一个小乐园。你把三维空间想成一个房间,那么一张穿过房间中心的纸片,就是一个子空间;一根穿过中心的铁丝,也是一个子空间。

划重点:子空间必须穿过原点。

为啥?因为向量空间必须有零向量。如果你把那张纸从中心挪开一点,零向量就不在纸上了——它就当不了子空间。

子空间的好处是:大空间的所有规矩,它自动继承。你在子空间里加、缩,永远不会掉出去。一条过原点的直线是 1 维子空间,一个过原点的平面是 2 维子空间,整个空间本身也算是自己的子空间。

那这玩意在 AI 里有啥用?

用处特别大。高维数据往往住在一个低维子空间里。

举个例子:你有一堆人脸照片,每张是 \(\mathbb{R}^{784}\) 里的一个点。理论上 784 维,但实际上人脸的变化没那么"自由"——眼睛就在那两个位置、鼻子就在中间、脸的轮廓也就那些形状。所以这些照片其实只散布在 784 维空间里一个低得多的子空间上。

主成分分析 (Principal Component Analysis, PCA) 就是干这件事:找出这个低维子空间,让我们只用几十维就能大致刻画整个数据。降维、压缩、去噪、可视化——全靠它。

所以你看,看似抽象的"过原点的平面",在真实数据里其实无处不在。


一句话总结

向量空间就是一个装向量的"游乐园",里面的向量做加法和缩放永远不会跑出去;十条公理就是这座乐园的规则手册。

而封闭性——"不逃出去"——是这一切的灵魂。


三个反思问题(引导下一节)

在你合上笔记之前,我留三个问题让你带走:

  1. 一张不过原点的平面(比如 \(z = 1\) 这个平面)里的点,如果两两相加会发生什么?为什么它不能当子空间?(提示:找零向量。)

  2. 一个人可以用向量 \(\mathbf{h} = [185, 75, 30]\) 表示。那"两个人有多像" 该怎么用数学定义?是比坐标差、比夹角、还是比什么?这个问题会在第 02 节和第 03 节等着你。

  3. 如果所有能被"加"和"缩放"的东西都是向量,那函数算不算向量?神经网络的权重矩阵算不算向量?如果算,它们组成的空间"长"什么样?

带着这三个问题,咱们下一节——向量的性质——见。