深度学习基础:线性代数本质3——矩阵与线性变换

你对线性代数的一切困惑,根源就在于没有真正理解矩阵到底是什么。

1. 线性变换

变换本质上就是函数。例如,你输入一个向量 ,经过某个变换(即函数)的作用之后,输出另一个向量。

既然,变换本质上就是函数,那为啥还要多搞出这样一个术语?

其实,"变换"这个词暗示了我们能够以某种方式可视化这一输入----输出关系。它暗示我们要从向量运动的角度去理解。即,变换让向量从一个地方(对应输入向量),运动到了另一个地方(对应输出向量)。

线性代数限制在一种特殊类型的变换上,称为"线性变换",这种变换更容易理解。直观的说,如果变换具有以下两条性质,我们便可以称他说线性的:

  1. 直线在变换后仍然为直线,不能有所弯曲
  1. 原点必须保持固定
    非线性变换:直线弯曲了
    仿射变换:原点发生变化

线性变换:保持网格平行且等距分布的变换使用数值来描述线性变换

2. 使用数值来描述线性变换

如何实现你给计算机一个向量坐标,它返回给你变换后的坐标?、

答案是你只需要记住两个基向量i帽j帽变换后的位置

换句话说,向量vi帽j帽的一个特定线性组合,那么变换后的向量v也是变换后的i帽j帽的线性组合,这意味着你可以通过变换后的i帽j帽推出变换后的向量v

小结:

  • 只要记录了变换后的i帽和j帽,我们就可以推断出任意向量在变换后的位置
  • 一个二维线性变换仅由四个数字完全确定(变换后i帽和j帽的两个坐标)

3. 矩阵

通常我们把上面的坐标包装在2x2的格子中,称它为2x2矩阵

你可以把它的列理解为两个特殊的向量,即变换后的i帽j帽

如果你有一个描述线性变换的2x2矩阵,以及一个给定向量,想了解线性变换对这两个向量的作用,你只需要 取出向量坐标,分别于矩阵的特定列相乘,然后相加即可(这与缩放基向量在在相加的思想一致)

把矩阵列看作是变换后的基向量,把矩阵乘法看作它们的线性组合

4. 使用矩阵来线性线性变换

① 旋转变换

例如将整个空间逆时针旋转90度,那么i帽便落在坐标(0,1)上,j帽落在坐标(-1,0)上

如果想计算出任意向量在逆时针旋转90度后的位置,只需要把他和上面矩阵相乘即可

② 剪切变换

在这个变换里i帽保持不变,使用矩阵第一列为(1,0),j帽移动到了坐标(1,1)上,所以矩阵第二列为(1,1)

PS:如果变换后的i帽和变换后的j帽是线性相关的,意味着一个向量是另一个向量的倍数,那么这个线性变换,将各二维空间挤压到一个二维它们所在的一条直线上(也就是两个相关向量所张成的一维空间)

在之后每当你看到一个矩阵时,你都可以把他解读为:对空间的一种特定变换

相关推荐
Ivanqhz7 小时前
SVD++算法
java·服务器·网络·深度学习·神经网络
是翎8 小时前
深度长文|2026产品经理AI实践手册
人工智能·深度学习·学习·自然语言处理·数据挖掘
宿州派大星9 小时前
[NLP实战] 基于PyTorch实现N-gram词嵌入模型:输入4个词预测第5个词
人工智能·pytorch·深度学习·nlp
HyperAI超神经10 小时前
HyperAI 入选 36氪「East Forward 2026 出海全球化拓新企业」
人工智能·深度学习·全球化企业
Liaiyang6611 小时前
空圈容错视角下的无人机全链路审计:从理论框架到耦合式检验
人工智能·pytorch·python·深度学习·系统架构·自动驾驶·无人机
liuchangng11 小时前
Jev 模型研究:从生成式大模型到决策式模型——System One、RLCD 校准与采用边界
java·javascript·人工智能·python·深度学习
GPU实战笔记11 小时前
本地跑不动 llama.cpp,临时租云 GPU 怎么搭?从启动服务到环境复用
java·服务器·网络·人工智能·深度学习·llama
江畔柳前堤11 小时前
字节跳动·大模型应用知识手册
前端·人工智能·深度学习·opencv·目标检测·重构·transformer
CCC:CarCrazeCurator12 小时前
从算子到智能系统:理解 MLP、CNN、Transformer、JEPA、VLA 与世界模型
人工智能·深度学习
LaughingZhu13 小时前
Product Hunt 每日热榜 | 2026-09-20
人工智能·深度学习·神经网络·搜索引擎·百度