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

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

相关推荐
学步_技术2 分钟前
多模态学习—Multimodal image synthesis and editing: A survey and taxonomy
人工智能·深度学习·计算机视觉
工程师老罗4 分钟前
Pytorch模型GPU训练
人工智能·pytorch·深度学习
GatiArt雷6 分钟前
基于Torch-Pruning的ResNet模型轻量化剪枝实战——解决边缘设备部署痛点
人工智能·深度学习·计算机视觉
海绵宝宝de派小星7 分钟前
传统NLP vs 深度学习NLP
人工智能·深度学习·ai·自然语言处理
有Li15 分钟前
肌肉骨骼感知(MUSA)深度学习用于解剖引导的头颈部CT可变形图像配准/文献速递-基于人工智能的医学影像技术
人工智能·深度学习·机器学习·文献·医学生
香芋Yu33 分钟前
【深度学习教程——01_深度基石(Foundation)】03_计算图是什么?PyTorch动态图机制解密
人工智能·pytorch·深度学习
林深现海1 小时前
【刘二大人】PyTorch深度学习实践笔记 —— 第二集:线性模型(凝练版)
pytorch·笔记·深度学习
dyxal1 小时前
算子(Operator):深度学习的乐高积木
人工智能·深度学习
香芋Yu1 小时前
【深度学习教程——01_深度基石(Foundation)】04_分类问题怎么解?逻辑回归与交叉熵的由来
深度学习·分类·逻辑回归
翱翔的苍鹰2 小时前
一个简单的法律问答机器人实现思路
人工智能·深度学习·语言模型·自然语言处理