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

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

相关推荐
码字的字节5 小时前
深度学习损失函数的设计哲学:从交叉熵到Huber损失的深入探索
深度学习·交叉熵·huber
凪卄12135 小时前
图像预处理 二
人工智能·python·深度学习·计算机视觉·pycharm
碳酸的唐5 小时前
Inception网络架构:深度学习视觉模型的里程碑
网络·深度学习·架构
AI赋能5 小时前
自动驾驶训练-tub详解
人工智能·深度学习·自动驾驶
seasonsyy5 小时前
1.安装anaconda详细步骤(含安装截图)
python·深度学习·环境配置
deephub6 小时前
AI代理性能提升实战:LangChain+LangGraph内存管理与上下文优化完整指南
人工智能·深度学习·神经网络·langchain·大语言模型·rag
go54631584656 小时前
基于深度学习的食管癌右喉返神经旁淋巴结预测系统研究
图像处理·人工智能·深度学习·神经网络·算法
Blossom.1186 小时前
基于深度学习的图像分类:使用Capsule Networks实现高效分类
人工智能·python·深度学习·神经网络·机器学习·分类·数据挖掘
宇称不守恒4.06 小时前
2025暑期—05神经网络-卷积神经网络
深度学习·神经网络·cnn
格林威7 小时前
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现沙滩小人检测识别(C#代码UI界面版)
人工智能·深度学习·数码相机·yolo·计算机视觉