向量
线性代数补充讲义:向量
Last updated on
向量可以理解成:一种同时描述“大小”和“方向”,并且能够按照线性规则进行组合的数学对象。
但如果想真正学懂线性代数,最好不要只把向量理解成“带箭头的线段”。“箭头”只是向量最直观的几何模型。更深一层看,向量是线性代数用来描述“状态、方向、变化和组合”的基本语言。
一、先从最直观的问题开始:什么是向量?
假设你站在平面上的某一点,然后:
- 向右走 3 米;
- 向上走 2 米。
我们可以画一个箭头:
这个箭头表达了两件事:
- 方向:右上方;
- 大小:走了多远。
长度为
因此,在初等几何里:
向量就是具有大小和方向的量。
例如:
- 位移;
- 速度;
- 加速度;
- 力;
- 电场;
- 风速。
这些都天然适合用向量描述。
二、为什么普通的数不够用?
一个普通数字只能表达“多少”。
例如:
可以表示 5 米、5 秒、5 千克。
但如果我说:
一个物体移动了 5 米。
信息是不完整的。
你还不知道:
往哪个方向移动?
因此需要同时记录方向。
例如二维空间中:
它不只是告诉你“移动多少”,还告诉你:
所以向量本质上是在回答:
一个量在多个独立方向上的分量分别是多少?
这是理解向量非常关键的一句话。
三、向量为什么写成一串数字?
例如:
为什么这个东西代表一个箭头?
因为我们提前规定了两个基本方向:
于是
也就是说:
向右的基本方向走 3 份,再向上的基本方向走 2 份。
所以
实际上只是告诉我们:
这个向量由哪些基本方向组合而成。
这里已经出现了线性代数最重要的概念之一:
基
就是一组基向量。
而
叫这个向量在这组基下的坐标。
四、一个极其重要的观念:向量不是坐标
这是很多人学线性代数时一直没有真正意识到的一件事。
例如:
并不一定就是“向量本身”。
更准确地说,它通常是:
某个向量在某组基下的坐标表示。
比如同一个真实的箭头,换一套坐标系以后,可能变成
数字变了。
但是那个真实的方向和长度并没有变化。
所以:
更加准确地说:
这和“一个人”和“这个人的身份证号码”的关系有点类似。
身份证号码可以变化,但人还是那个人。
五、从几何角度看,向量到底是什么?
在平面中,我们可以把向量看成一个箭头。
例如:
这个箭头从原点出发:
但向量并不一定非得从原点开始。
例如:
和
表示的是同一个自由向量。
因为它们:
- 长度相同;
- 方向相同。
因此,在线性代数中,我们通常不关心箭头具体放在哪里。
只关心:
这种向量叫做自由向量。
六、从代数角度看,向量是什么?
代数上可以直接把向量看成一个有序数组:
例如:
这是一个三维向量。
一般:
中的向量写成
这里每一个
都代表某一个方向上的分量。
七、但是向量甚至不一定是一串数字
这就进入真正的线性代数了。
向量的核心并不是:
“它必须是一串数字。”
真正核心的是:
它能够进行向量加法和数乘,并满足一系列线性规则。
例如一个函数:
也可以看成一个向量。
因为两个函数可以相加:
也可以乘一个数字:
例如所有二次以下多项式:
其中
可以写成
所以
就是一组基。
而多项式
对应坐标:
你会发现:
多项式其实也可以和空间中的箭头使用完全一样的数学结构。
这就是线性代数非常强大的地方。
八、为什么要研究向量?
原因非常简单:
现实世界中的很多问题不是一个数字,而是一组数字
例如一个学生的数据:
这就是一个四维向量。
一个图片中的像素也可以组成巨大向量。
例如一张
的灰度图片,本质上可以看成一个
维的向量。
一个神经网络中的词也可以被表示成向量:
因此:
- 机器学习;
- 图像处理;
- 计算机图形学;
- 物理;
- 工程;
- 数据科学;
- 经济学;
- 控制理论;
大量问题本质上都在研究向量。
九、为什么叫“线性”代数?
因为向量最重要的两种操作是:
和
也就是:
以及
由它们组合出来:
叫做线性组合。
这几乎就是整个线性代数的核心语言。
矩阵、线性方程组、秩、特征值、特征向量,本质上全部建立在这个概念上。
十、向量加法怎么理解?
假设:
那么
几何上是什么意思?
先按照
走一次,再按照
走一次。
最终总位移就是
所以:
这是非常深刻的理解。
例如:
- 两个力叠加;
- 两个位移叠加;
- 两个速度影响叠加;
- 两个信号叠加。
十一、数乘是什么意思?
例如
如果
那么
几何上就是:
方向不变,长度变成原来的 2 倍。
如果
那么
表示:
长度不变,方向相反。
所以一般
表示:
- 控制长度;
- 的正负控制方向。
十二、为什么线性组合如此重要?
考虑
它的意思是:
- 把 放大 倍;
- 把 放大 倍;
- 把两者加起来。
如果
那么
因此二维空间中所有向量,都可以由这两个基本方向生成。
于是我们说:
这里的 span 叫张成空间。
十三、这就是“基”的真正含义
一组基,其实就是:
一组最基本、互不冗余的方向,所有向量都可以由它们组合出来。
二维空间最常见的一组基:
三维空间:
于是任意:
其实就是:
所以:
十四、什么叫线性相关?
假设有两个向量:
显然:
第二个方向根本没有提供新的方向。
所以它们叫做:
直观上:
有向量是多余的。
例如二维空间中的两个共线向量。
如果
一个不能由另一个产生。
所以它们线性无关。
直观上:
十五、维数到底是什么?
这时候“维数”也非常容易理解了。
维数就是:
描述这个空间需要多少个互相独立的基本方向。
例如:
一条直线:
一个平面:
普通空间:
而
是 100 维空间。
并不是说我们能真的“看见”100维。
而是说:
描述一个状态需要 100 个独立参数。
例如:
十六、向量有哪些基本运算?
最基础的是:
1. 向量加法
分量相加:
本质:
2. 向量减法
如果把
看成两个点的位置向量,那么:
表示:
从 指向 的位移。
因此两点
之间的位移向量为
3. 数乘
控制向量:
- 长短;
- 正反方向。
4. 线性组合
这是线性代数最核心的运算。
十七、向量的长度是什么?
二维:
根据勾股定理:
三维:
一般:
这叫做向量的范数。
十八、单位向量是什么?
如果
那么:
长度一定是 1。
于是:
称为单位向量。
它保留:
但去掉:
因此有时候可以把任意非零向量理解成:
也就是:
十九、两个向量如何判断“方向像不像”?
这就引出了非常重要的:
对于:
定义:
但是这个公式背后的几何意义更加重要:
其中 是两个向量之间的夹角。
因此:
如果方向接近:
那么:
内积很大。
如果垂直:
那么:
所以
如果方向相反:
则:
因此内积实际上是在测量:
二十、为什么垂直向量内积为 0?
例如:
于是:
从几何上:
更深层地理解:
一个方向在另一个方向上的“分量”为零。
因此正交本质上意味着:
二十一、投影是什么?
假设有两个向量:
我们想知道:
在 方向上有多少?
就是投影。
投影长度:
投影向量:
这件事情特别重要。
因为很多数学问题的本质都是:
傅里叶展开实际上也可以从这个角度理解。
二十二、三维空间还有叉积
对于三维向量:
可以定义:
结果还是一个向量。
它满足:
并且
其长度:
几何意义就是:
和 构成的平行四边形面积。
所以:
- 内积跟夹角、投影有关;
- 叉积跟面积、法向量有关。
二十三、向量有哪些基本性质?
假设
是向量,
是实数。
向量加法满足交换律:
满足结合律:
存在零向量:
存在负向量:
数乘满足:
以及:
还有:
以及:
你会发现,它们几乎和普通数字的运算规则一样。
这正是我们能够建立“向量代数”的原因。
二十四、什么是零向量?
它没有长度:
零向量可以理解成:
例如位移:
意味着最终回到了原来的位置。
二十五、把向量理解成“状态”会更深刻
不要只认为:
向量就是空间里的箭头。
更一般地:
可以表示一个系统的完整状态。
例如一个飞机:
其中前三个描述位置,后三个描述速度。
于是整个飞机的状态就是一个六维向量。
二十六、机器学习里的“向量”也是这个意思
例如一个人可以用很多特征表示:
那么每个人就是高维空间中的一个点。
AI 处理的大量数据,本质上就是:
例如:
- 图片 → 像素向量;
- 文本 → embedding 向量;
- 用户 → 特征向量;
- 商品 → 特征向量。
机器学习很多时候就是在高维向量空间里:
- 计算距离;
- 计算方向;
- 做投影;
- 做变换;
- 寻找新的坐标轴。
二十七、矩阵为什么会紧跟着向量出现?
因为矩阵本质上是在做:
例如:
可以理解为:
把一个向量 通过某种线性规则变成 。
例如:
- 旋转;
- 拉伸;
- 压缩;
- 镜像;
- 投影;
- 坐标变换。
所以如果说:
那么:
这是理解线性代数非常好的框架。
二十八、为什么矩阵乘向量看起来那么奇怪?
例如:
于是:
但是如果从列向量角度看:
那么:
这一下就很好理解了。
矩阵乘一个向量,其实是在:
按照输入向量的坐标,对矩阵的列向量进行线性组合。
二十九、这也解释了线性方程组
例如:
实际上是在问:
是否可以用矩阵 的列向量,通过某些系数组合,得到 ?
如果
那么:
等价于:
你会发现:
解方程其实是在找线性组合系数。
三十、这样再看“秩”就非常自然了
矩阵有很多列向量:
其中有些可能是多余的。
例如:
那么 没有提供新的方向。
矩阵的秩,本质上就是:
也就是:
三十一、甚至特征向量都可以这样理解
假设一个矩阵表示某种变换:
普通向量经过变换后:
方向可能改变。
但有一些特殊向量:
它经过这个变换之后:
方向没有改变,只是长度变了。
这样的 就叫:
而
表示在这个方向上被拉伸或压缩多少倍。
所以:
这也是为什么特征向量在线性代数中如此重要。
三十二、向量最深刻的三种理解
如果让我把“向量是什么”压缩成三个层次,我会这样理解。
第一层:几何
表示:
- 位移;
- 速度;
- 力。
这是最直观的理解。
第二层:代数
例如:
它描述一个高维状态。
第三层:抽象线性代数
只要某类对象支持:
以及:
并满足向量空间公理,就可以称为向量。
所以:
- 箭头可以是向量;
- 数组可以是向量;
- 多项式可以是向量;
- 函数可以是向量;
- 矩阵本身也可以被看作向量。
这才是线性代数中最本质的“向量”。
三十三、向量到底解决了什么问题?
可以把数学发展简单理解成这样。
一个数字:
描述一个自由度。
两个数字:
描述两个自由度。
三个数字:
描述三个自由度。
于是推广到:
我们需要一门数学研究:
很多个变量同时变化时,它们如何组合、变换和相互影响?
这就是向量与线性代数出现的重要原因。
三十四、你可以用一句话贯穿整个线性代数
我建议你以后学线性代数时,一直记住这条主线:
然后:
其实全是围绕“向量怎么组合、怎么变换”展开的。
三十五、最后给你一个最值得建立的直觉
看到一个向量:
不要只想:
这是三个数字。
而应该想成:
也就是:
在第一个独立方向走 3 份,在第二个方向反着走 2 份,在第三个方向走 5 份。
于是你看到的是:
再进一步,看到
时,可以想:
我正在把这个对象进行一次线性变换。
看到
时想:
我要找到一种组合方式,使这些基本向量组合成目标向量。
看到
时想:
我要找这个变换中方向保持不变的特殊方向。
这样一来,线性代数就不再是一堆孤立公式,而会逐渐变成一幅非常统一的图景:
其中,向量就是整个线性代数世界中最基本的“对象”。