深度学习基础:线性代数本质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帽是线性相关的,意味着一个向量是另一个向量的倍数,那么这个线性变换,将各二维空间挤压到一个二维它们所在的一条直线上(也就是两个相关向量所张成的一维空间)

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

相关推荐
AI即插即用31 分钟前
超分辨率重建 | 2025 FIWHN:轻量级超分辨率 SOTA!基于“宽残差”与 Transformer 混合架构的高效网络(代码实践)
图像处理·人工智能·深度学习·计算机视觉·transformer·超分辨率重建
这张生成的图像能检测吗35 分钟前
(论文速读)Set Transformer: 一种基于注意的置换不变神经网络框架
人工智能·深度学习·神经网络·计算机视觉·transformer
AI人工智能+43 分钟前
智能表格识别技术突破传统OCR局限,实现复杂纸质表格的精准数字化转换
深度学习·ocr·表格识别
一瞬祈望1 小时前
⭐ 深度学习入门体系(第 18 篇): Batch Size:为什么它能影响训练速度与泛化能力?
人工智能·深度学习·batch
Yuer20251 小时前
pip 能跑 Demo,为什么跑不了真正的模型训练?
深度学习·机器学习·计算机视觉·edca os
没学上了1 小时前
Vlm-BERT环境搭建和代码演示
人工智能·深度学习·bert
空山新雨后、1 小时前
从 CIFAR 到 ImageNet:计算机视觉基准背后的方法论
人工智能·深度学习·算法·计算机视觉
PeterClerk1 小时前
计算机视觉(Computer Vision)领域重要会议及 CCF 等级
人工智能·深度学习·计算机视觉·ccf·计算机会议
ccLianLian1 小时前
Segment Anything Model
人工智能·深度学习·计算机视觉
躺平的赶海人1 小时前
PyTorch 安装指南:快速开启深度学习之旅
人工智能·pytorch·深度学习