基础← 返回知识库
线性变换(Linear Transformation)
用矩阵把向量映射到新向量的操作,需同时满足两个条件:直线变完还是直线,且原点不动。平移动了原点不算,鱼眼让直线变弯也不算。
核心公式
📖 符号说明
| 符号 | 含义 | 说明 |
|---|---|---|
| 变换 | 把一个向量映射到另一个向量的操作 | |
| 变换矩阵 | 定义这个变换的 m×n 矩阵 | |
| 输入向量 | 变换前的向量 | |
| 输出向量 | 变换后的新向量 |
线性变换(Linear Transformation)
直觉理解
照片编辑器里的旋转、缩放、翻转,本质上都是同一件事:给每个像素坐标乘一个矩阵,得到新坐标。矩阵就是一台"向量加工机"——吃进一个向量,吐出一个新向量。这种用矩阵把向量映射到新向量的操作,就叫线性变换。
两个条件
不是所有变换都是线性变换。要同时满足两个条件:
条件一:直线变完还是直线。 画一条直线,做完变换后还是直线。旋转、缩放、翻转都满足。反例:鱼眼效果让直线变成弧线——不满足。
条件二:原点不动。 变换前后,坐标原点 (0,0) 必须还在 (0,0)。反例:平移把整张图往右挪,直线虽然没变弯,但原点跑了——不满足。
两个条件缺一不可。只有两个都满足的变换,才能用一个矩阵来表示。
常见的线性变换
- 缩放:对角线放倍数的矩阵,如 (2002) 把所有坐标放大 2 倍
- 旋转:逆时针旋转 90° 对应 (01−10)
- 翻转:水平翻转对应 (−1001)
变换的组合
先旋转再缩放,等价于把两个矩阵先乘起来再乘向量。变换的组合就是矩阵乘法——而且顺序不同结果不同,跟矩阵乘法不满足交换律一致。
更重要的是:多个线性变换组合起来,结果仍然是线性变换(因为矩阵连乘还是一个矩阵)。
这在机器学习中用来做什么
神经网络每一层做的核心操作就是线性变换——用权重矩阵乘以输入向量。但纯线性的网络不管叠多少层,能表达的变换种类不会增加(矩阵连乘还是一个矩阵),所以每层之后必须加一个非线性操作(激活函数),才能让网络学到复杂的模式。
引用本概念的文章