线性代数(一)向量的本质
Chen Kai BOSS

线性代数的本质(一):向量的本质 - 不仅仅是箭头

引言:为什么要重新学习向量?

当你第一次接触向量时,老师可能告诉你:"向量就是一个箭头"或者"向量就是一组有序的数"。这些说法都对,但都不够深入。

想象一下,如果我告诉你汽车只是"一个有四个轮子的铁盒子",你能理解驾驶的乐趣吗?能理解引擎、传动系统、空气动力学吗?同样,如果只把向量看作"箭头"或"数字列表",你将错过线性代数最美妙的本质。

在我学习线性代数的过程中,有一个"顿悟时刻"彻底改变了我对向量的理解。那是在学习机器学习时,我意识到:一张人脸照片可以表示为一个几万维的向量,而两张人脸的"相似度",本质上就是两个向量的内积!这个洞察让我明白,向量不仅仅是高中数学课上那些带箭头的线段,它是描述世界的一种语言

今天,我们要从三个视角深入理解向量:

  1. 几何视角:向量作为空间中的位移和方向
  2. 数值视角:向量作为数据的组织方式
  3. 抽象视角:向量作为满足特定规则的数学对象

每一个视角都会为你打开一扇新的大门,让你看到向量的不同面貌。

一、几何视角:向量生活的空间

1.1 向量的诞生:从点到箭头

让我们从一个具体场景开始。假设你站在公园的中心点(原点),你的朋友告诉你:"向北走 3 步,然后向东走 4 步"。这个指令就是一个向量

为什么这是一个向量?因为它包含了两个关键信息:

  • 方向:先北后东(或者说,总体方向是东北方向)
  • 位移:从起点到终点的距离

在数学上,我们把这个向量写成:

这里的 4 代表向东( x 方向)的分量, 3 代表向北( y 方向)的分量。

向量的长度(模)

走完这些步数后,你离原点有多远?这就是向量的( magnitude)或长度

这不就是勾股定理吗?没错!向量的模就是直角三角形的斜边长度。

向量的方向

向量的方向可以用角度来表示。如果我们以正东方向为 0 度,逆时针为正方向:

所以你的朋友实际上让你往东偏北约 37 度的方向走了 5 步。

1.2 向量的平移不变性

这里有一个重要的概念:向量不关心起点在哪里

无论你是从公园中心出发,还是从公园东北角出发,"向东 4 步、向北 3 步"这个指令都是同一个向量。这就是向量的平移不变性

想象你在一艘船上,船以某个速度向东行驶。无论这艘船在太平洋中央还是在地中海,速度向量都是一样的——方向是东,大小是某个具体的速度值。船的位置变了,但速度向量没变。

这个性质在物理学中非常重要。力、速度、加速度都是向量,它们不依赖于具体的位置,只依赖于方向和大小。

1.3 向量的加法:多种理解方式

向量加法可能是最重要的向量运算。让我从三个角度来解释它。

角度 1:头尾相接法

假设你先按向量 移动,然后再按向量 移动。你的总位移是什么?

答案是:把 的起点放在 的终点,然后从 的起点画一条箭头到 的终点。这条新箭头就是

例子:你先向东走 3 步、向北走 4 步(向量),然后再向东走 1 步、向北走 2 步(向量)。

总位移是向东 4 步、向北 6 步。

角度 2:平行四边形法则

如果你从原点同时画出 ,然后以它们为邻边画一个平行四边形,那么从原点出发的对角线就是

这个法则在物理学中用得很多。比如,当两个力同时作用于一个物体时,合力就是这两个力向量的平行四边形对角线。

角度 3:分量相加

从代数角度看,向量加法就是对应分量相加:

这三种理解方式完全等价,但在不同场景下各有优势。几何直觉帮助你建立空间感,代数方法方便计算。

1.4 数乘:拉伸、压缩与反转

当我们说""时,意味着什么?

几何上, 是一个与 方向相同、长度是 两倍的向量。

更一般地,对于标量 和向量

  • **当 $ c > 1 c$ 是 的"拉伸"版本,方向不变,长度变长
  • 的"压缩"版本,方向不变,长度变短
  • ,得到零向量
  • :方向反转,长度变为

生活中的例子

想象你以 的速度开车。

  • :速度翻倍(开得更快)
  • :速度减半(开得更慢)
  • :调头!速度大小不变,但方向相反

代数上,数乘就是每个分量都乘以这个标量:

$$

c =

$$

1.5 向量减法:方向性的差异

向量减法可以理解为"从一个位置到另一个位置的位移"。

如果 是两个位置向量(从原点到点 A 和点 B),那么:

是从点 A 指向点 B 的向量。

关键洞察 告诉你"从 需要怎么走"。

这在计算机图形学中非常重要。比如,要计算子弹从枪口飞向目标的方向,就需要用目标位置减去枪口位置。

二、数值视角:向量作为数据的容器

2.1 超越二维和三维

到目前为止,我们讨论的都是可以画出来的 2D 或 3D 向量。但向量的真正力量在于它可以推广到任意维度

一个 维向量就是 个数字的有序列表:

虽然我们无法直观"看到"高维向量,但所有的运算法则(加法、数乘、内积等)都完全一样地适用。

2.2 向量无处不在:真实世界的案例

案例 1:气象数据

某地某时刻的天气状况可以表示为一个向量:

其中各分量分别是:

  • 温度: 25.3 ° C
  • 湿度: 65.0%
  • 气压: 1013 hPa
  • 风速: 15.2 km/h
  • 云量: 45%

这样,天气就变成了一个 5 维向量。如果我们收集多天的数据,就得到了一组向量,可以用来分析天气模式、预测未来天气。

案例 2:图像就是巨大的向量

一张 像素的灰度图像(比如手写数字图片)可以"展平"成一个 维的向量。每个分量是一个像素的亮度值( 0-255)。

这就是为什么机器学习可以处理图像——它把图像当作向量,用向量运算来分析和分类!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 一个简单的例子
import numpy as np

# 假设有一张 3x3 的灰度图
image = np.array([
[0, 128, 255],
[64, 192, 32],
[100, 50, 200]
])

# 展平成向量
image_vector = image.flatten()
print("图像向量:", image_vector) # [0, 128, 255, 64, 192, 32, 100, 50, 200]
print("维度:", len(image_vector)) # 9

案例 3:推荐系统中的用户向量

Netflix 、 Spotify 等推荐系统把用户的偏好表示为向量:

1
2
3
4
5
6
7
8
9
10
11
# 用户对 5 部电影的评分( 1-5 分, 0 表示未看)
user_alice = np.array([5, 3, 0, 1, 4])
user_bob = np.array([4, 0, 5, 2, 4])
user_carol = np.array([5, 4, 1, 1, 5])

# 谁和 Alice 更相似?
sim_alice_bob = np.dot(user_alice, user_bob)
sim_alice_carol = np.dot(user_alice, user_carol)

print(f"Alice-Bob 相似度: {sim_alice_bob}") # 较低
print(f"Alice-Carol 相似度: {sim_alice_carol}") # 较高

这个例子揭示了一个深刻的洞察:相似度可以用内积来度量

案例 4:自然语言处理中的词向量

现代 NLP 将每个单词表示为一个向量(通常是 100-300 维)。神奇的是,这些向量能够捕捉语义关系:

这意味着"国王"和"女王"的关系,与"男人"和"女人"的关系是类似的!

2.3 向量的内积:测量相似度

内积(点积、标量积)是向量最重要的运算之一。

定义:两个 维向量的内积是:

几何意义

其中 是两个向量之间的夹角。

这个公式揭示了内积的几何本质:

  • :夹角小于 90 °,两个向量大致同向
  • :夹角等于 90 °,两个向量正交(垂直)
  • :夹角大于 90 °,两个向量大致反向

正交性是线性代数中最重要的概念之一。两个正交的向量是"完全独立"的,互不影响。我们将在后面的章节中深入探讨。

内积的应用:投影

如果你想知道向量 在向量 方向上的"分量"有多大,可以计算投影:

投影在许多领域都有应用:

  • 物理学:力在某个方向上的分力
  • 计算机图形学:阴影计算
  • 机器学习:最小二乘法的核心

2.4 向量的范数:测量大小

除了我们熟悉的"长度"( 2-范数),向量还有其他的"大小"度量方式。

范数(欧几里得范数)

这就是我们通常说的"长度"。

范数(曼哈顿范数)

名字来源于曼哈顿的街道布局——只能沿着街道走,不能斜穿。

范数(最大范数)

就是分量绝对值的最大值。

为什么需要不同的范数?

不同的范数在不同场景下各有优势:

  • 范数:几何距离,适用于物理问题
  • 范数:在机器学习中用于稀疏化( LASSO 回归)
  • 范数:当你关心"最坏情况"时

三、抽象视角:向量空间

到目前为止,我们一直在讨论"一列数字"这种具体的向量。但数学家发现,"向量"的概念可以推广到更抽象的层面。

3.1 向量空间的公理化定义

一个向量空间( Vector Space) 是一个集合,配备两种运算:

  • 向量加法:
  • 标量乘法: 这两种运算必须满足以下八条公理

(标量)

加法公理

  1. 封闭性
  2. 交换律
  3. 结合律
  4. 零元素:存在 ,使得
  5. 逆元素:对每个 ,存在 ,使得

标量乘法公理

  1. 封闭性
  2. 分配律 1
  3. 分配律 2
  4. 结合律
  5. 单位元

任何满足这些公理的集合都是向量空间,其中的元素都可以称为"向量"!

3.2 意想不到的向量空间

例 1:函数是向量

所有定义在区间 上的连续函数构成一个向量空间!

  • 向量加法:
  • 标量乘法:
  • 零向量:(恒等于 0 的函数)

你可以验证所有公理都满足。比如:

  • 两个连续函数相加仍是连续函数(封闭性)
  • (交换律)
  • 等等

这个观点彻底改变了我们看待函数的方式。傅里叶分析、微分方程等领域都建立在"函数是向量"的基础上。

例 2:多项式是向量

所有次数不超过 的多项式构成一个向量空间

一个多项式可以写成:

$$

p(x) = a_0 + a_1x + a_2x^2 + + a_nx^n $$

我们可以把它等价地表示为系数向量

多项式的加法和数乘就变成了系数向量的加法和数乘!

例 3:矩阵是向量

所有 矩阵构成一个向量空间,记作

矩阵加法:对应元素相加 矩阵数乘:每个元素都乘以标量

这意味着你可以把矩阵看作一个 维的向量(把矩阵"展平")。

例 4:解空间是向量空间

线性方程组 的所有解构成一个向量空间(称为零空间)。

如果 都是解,那么 也是解, 也是解。

3.3 为什么抽象很重要?

抽象的力量在于统一性。一旦我们证明了向量空间的某个定理,它就自动适用于:

  • 数值向量
  • 函数
  • 多项式
  • 矩阵
  • 以及任何满足公理的数学对象

这就是数学的效率:证明一次,应用无数次。

四、历史视角:向量概念的演变

4.1 从箭头到代数

向量的概念经历了漫长的演变过程。

古希腊时代:几何学家用"有向线段"描述位移,但没有系统的代数方法。

19 世纪:三位数学家独立发展了向量的代数形式:

  • Hamilton( 1843):发明了四元数,向量是其中的"纯虚部"
  • Grassmann( 1844):发展了外代数,是现代线性代数的先驱
  • Gibbs( 1880 年代):提出了我们今天使用的向量符号和运算

20 世纪:向量空间的公理化定义确立,线性代数成为独立学科。

4.2 三种不同的记号

不同学科使用不同的向量记号:

  • 物理学(加粗)
  • 工程学(下划线)
  • 计算机科学:通常用普通字母 ,从上下文判断

本系列主要使用 表示向量,与标量区分。

五、实战应用

5.1 GPS 定位原理简化版

GPS 如何确定你的位置?核心是三点定位

假设在 2D 平面上有三个卫星,位置分别是 。你的手机接收到的信号告诉你,你到三颗卫星的距离分别是

你的位置 满足:

这三个方程对应三个圆。三个圆的交点就是你的位置!

实际的 GPS 使用 4 颗卫星(因为是 3D 空间),还要考虑时钟误差,但基本原理是一样的。

5.2 游戏物理引擎

在游戏中,物体的运动由向量描述:

1
2
3
4
5
6
7
8
9
10
11
# 物体状态
position = np.array([100.0, 200.0]) # 位置向量
velocity = np.array([5.0, -2.0]) # 速度向量
acceleration = np.array([0.0, -9.8]) # 加速度(重力)

# 时间步长
dt = 0.016 # 约 60fps

# 更新物理状态
velocity = velocity + acceleration * dt # v' = v + a*dt
position = position + velocity * dt # p' = p + v*dt

这就是牛顿力学的离散化版本!所有的物理模拟都建立在向量运算的基础上。

5.3 颜色空间

计算机中的颜色通常表示为 3 维向量( RGB):

1
2
3
4
5
6
7
8
red = np.array([255, 0, 0])
blue = np.array([0, 0, 255])

# 混合颜色(向量加法)
purple = (red + blue) / 2 # [127.5, 0, 127.5]

# 调暗(数乘)
dark_red = red * 0.5 # [127.5, 0, 0]

颜色的混合就是向量的运算!

六、常见误区与澄清

误区 1:向量必须从原点出发

错误:向量必须从原点(0,0)开始画。

正确:向量只有方向和大小,没有固定位置。从任何点出发画的同一个向量都是"相同"的(平移不变性)。

误区 2:向量就是一列数字

部分正确:在坐标系中,向量可以用一列数字表示。但"向量"的本质是一个抽象概念,数字只是其中一种表示方式。函数、多项式、甚至更抽象的数学对象都可以是向量。

误区 3:内积和外积是类似的运算

错误:它们完全不同!

  • 内积(点积):结果是一个标量
  • 外积(叉积):结果是一个向量 而且外积只在 3 维空间中定义(或者说,在 7 维空间也有一种推广)。

误区 4:零向量没有方向

正确但需要注意:零向量 的方向确实是"未定义的"。它是唯一一个没有方向的向量。有时候这会导致一些公式的边界情况需要特别处理。

七、总结与展望

本章关键要点

  1. 向量的三重本质

    • 几何:空间中的箭头(有方向和大小)
    • 数值:有序的数字列表(可推广到任意维度)
    • 抽象:满足特定公理的数学对象
  2. 基本运算

    • 加法:头尾相接或平行四边形法则
    • 数乘:拉伸、压缩、反转
    • 内积:测量相似度和夹角
  3. 向量无处不在

    • 物理量(位置、速度、力)
    • 数据(图像、声音、用户偏好)
    • 抽象对象(函数、多项式、矩阵)
  4. 内积的重要性

    • 内积 > 0:大致同向
    • 内积 = 0:正交(垂直)
    • 内积 < 0:大致反向

为什么这很重要?

向量是线性代数的原子单位。理解向量,你就为理解以下概念打下了基础:

  • 线性组合和张成空间(第 2 章)
  • 矩阵作为线性变换(第 3 章)
  • 特征值和特征向量(第 6 章)
  • 奇异值分解(第 9 章)
  • 深度学习中的反向传播(第 16 章)

下一章预告

《线性组合与向量空间》

我们将探索:

  • 如何用几个向量"张成"整个空间?
  • 什么是"线性独立"?为什么它如此重要?
  • "维度"到底是什么意思?
  • 案例研究:颜色空间 RGB 的秘密

练习题

基础题

  1. 向量运算:给定 ,计算:

    • - - - 2. 几何作图:在坐标纸上画出向量 及其和、差。
  2. 验证公理:证明连续函数的集合满足向量空间的封闭性公理。

进阶题

  1. 相似度计算:在推荐系统中,用户 A 对 5 部电影的评分是 ,用户 B 的评分是 ( 0 表示未看)。

    • 计算余弦相似度(提示:先归一化)
    • 如果想忽略未评分的电影,应该怎么做?
  2. 投影问题:向量 在向量 上的投影是多少?几何意义是什么?

  3. 范数比较:计算向量 范数。

思考题

  1. 为什么说"内积为 0 等价于垂直"?从几何角度和代数角度分别解释。
  2. 如果两个用户对所有电影的评分都相同,他们的余弦相似度是多少?如果评分完全相反(一个喜欢的另一个讨厌)呢?
  3. 零向量与任何向量的内积是多少?这意味着零向量与任何向量都"正交"吗?

编程挑战

  1. 用 Python 实现一个 Vector类,支持:
    • 加法、减法、数乘
    • 内积
    • 范数
    • 归一化

参考资料

教材

  1. Strang, G. (2019). Linear Algebra and Learning from Data. Wellesley-Cambridge Press. —— MIT 线性代数课程教材
  2. Boyd, S., & Vandenberghe, L. (2018). Introduction to Applied Linear Algebra. Cambridge University Press. —— 应用导向的入门书
  3. Axler, S. (2015). Linear Algebra Done Right. Springer. —— 理论导向的经典教材

视频

  1. Sanderson, G. (2016). Essence of Linear Algebra. 3Blue1Brown YouTube Series. —— 可视化做得最好的线性代数系列
  2. Strang, G. MIT 18.06 Linear Algebra. MIT OpenCourseWare. —— Gilbert Strang 教授的经典课程

延伸阅读

  1. Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. Chapter 2. —— 深度学习视角的线性代数
  2. Crowe, M. J. (1967). A History of Vector Analysis. University of Notre Dame Press. —— 向量概念的历史演变

本文是《线性代数的本质与应用》系列的第 1 章,共 18 章。 作者: Chen K. | 最后更新: 2024-01-05 如有问题或建议,欢迎在评论区讨论!

  • 本文标题:线性代数(一)向量的本质
  • 本文作者:Chen Kai
  • 创建时间:2019-01-05 09:30:00
  • 本文链接:https://www.chenk.top/%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%88%E4%B8%80%EF%BC%89%E5%90%91%E9%87%8F%E7%9A%84%E6%9C%AC%E8%B4%A8/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论